第一部分 1
第1章 引言 1
1.1 立体图像和深度感知 1
1.2 三维视觉系统 2
1.3 三维视觉应用 2
1.4 内容概述:三维立体视觉任务 3
第2章 视觉研究历史的简要回顾 5
2.1 摘要 5
2.2 视觉研究回顾 5
2.3 小结 8
2.3.1 延伸阅读 9
第二部分 10
第3章 二维和三维视觉的形成 10
3.1 摘要 10
3.2 人类视觉系统 10
3.3 图像几何与图像获取 15
3.3.1 射影变换 15
3.3.2 简单相机系统:小孔成像模型 15
3.3.3 小孔相机的射影变换 18
3.3.4 特殊的相机布置 19
3.3.5 实际相机系统参数 19
3.4 双目立体采集系统 20
3.4.1 对极几何 21
3.4.2 标准立体相机系统 24
3.4.3 一般情况下的差异 26
3.4.4 双焦点、三焦点和多焦点张量 26
3.4.5 本质矩阵和基础矩阵的获得 28
3.4.6 外点的处理 35
3.4.7 折反射立体视觉系统 38
3.4.8 图像校正 39
3.4.9 双目视觉的深度分辨率 41
3.4.10 立体图像和参考数据 44
3.5 立体匹配约束 48
3.6 相机标定 51
3.6.1 标准标定方法 51
3.6.2 光度校正 52
3.6.3 自标定 53
3.6.4 双目标定 54
3.7 应用实例 54
3.7.1 图像表达和基本结构 54
3.8 附录:小孔相机变换的推导 68
3.9 小结 70
3.9.1 延伸阅读 70
3.9.2 问题和习题 71
第4章 图像匹配的底层图像处理 72
4.1 摘要 72
4.2 基本概念 72
4.2.1 卷积和滤波 72
4.2.2 滤波器的可分离性 73
4.3 离散均值 75
4.3.1 高斯滤波器 75
4.3.2 二项式滤波器 76
4.4 离散微分 79
4.4.1 优化的微分滤波器 79
4.4.2 Savitzky-Golay滤波器 82
4.5 边缘检测 89
4.5.1 基于信号梯度的边缘检测 90
4.5.2 基于Savitzky-Golay滤波器的边缘检测 90
4.5.3 拉普拉斯—高斯算子 91
4.5.4 高斯差分算子 95
4.5.5 形态学边缘检测算子 96
4.6 结构张量 97
4.6.1 图像的局部方向邻域 97
4.6.2 局部邻域的张量表达 100
4.6.3 基于结构张量的多通道图像处理 107
4.7 角点检测 109
4.7.1 常见的角点检测算子 109
4.7.2 基于结构张量的角点检测 112
4.8 实例 114
4.8.1 C++实现 114
4.8.2 形态学算子的实现 119
4.8.3 Matlab的例子:SVD的计算 122
4.9 小结 123
4.9.1 延伸阅读 123
4.9.2 问题和练习 124
第5章 尺度空间视觉 125
5.1 摘要 125
5.2 基本概念 125
5.2.1 背景 125
5.2.2 图像尺度 125
5.2.3 基于尺度的图像匹配 126
5.3 尺度空间的构建 127
5.3.1 高斯尺度空间 127
5.3.2 微分尺度空间 128
5.4 多分辨率金字塔 131
5.4.1 多分辨率金字塔的引入 131
5.4.2 如何构建金字塔 132
5.4.3 常规高斯金字塔的构建 132
5.4.4 拉普拉斯高斯(LoG)金字塔 134
5.4.5 高斯金字塔层数的扩展 134
5.4.6 半金字塔 135
5.5 实例 136
5.5.1 C++例子 136
5.5.2 Matlab例子 140
5.6 小结 144
5.6.1 本章小结 144
5.6.2 延伸阅读 145
5.6.3 问题和练习 145
第6章 图像匹配算法 146
6.1 摘要 146
6.2 基本概念 146
6.3 匹配度量 146
6.3.1 图像区域的距离 147
6.3.2 位串的匹配距离 149
6.3.3 多通道图像的匹配距离 151
6.3.4 基于信息理论的度量 153
6.3.5 直方图匹配 155
6.3.6 距离的高效计算 155
6.3.7 非参数图像变换 159
6.3.8 用于图像匹配的对数极坐标变换 166
6.4 匹配的计算问题 169
6.4.1 遮挡 169
6.4.2 亚像素级的视差估计 170
6.4.3 立体算法的评价方法 172
6.5 立体匹配方法的多样性 174
6.5.1 立体匹配算法的结构 176
6.6 区域基匹配 179
6.6.1 基本搜索方法 180
6.6.2 匹配代价的解释 182
6.6.3 面向点的实现 184
6.6.4 面向视差的实现 189
6.6.5 区域基匹配的复杂性 193
6.6.6 视差图的交叉检查 194
6.6.7 实际应用中的区域基匹配 195
6.7 区域基弹性匹配 207
6.7.1 单一尺度上的弹性匹配 208
6.7.2 弹性匹配的概念 211
6.7.3 尺度基搜索 213
6.7.4 尺度空间的粗到精匹配 215
6.7.5 尺度细分 216
6.7.6 尺度上的信任度 217
6.7.7 最终的多分辨率匹配 217
6.8 基于特征的图像匹配 220
6.8.1 过零匹配 220
6.8.2 基于角点的匹配 220
6.8.3 基于边缘的匹配:Shirai方法 224
6.9 基于梯度的匹配 225
6.10 动态规划方法 228
6.10.1 立体问题的动态规划求解 229
6.11 图割方法 232
6.11.1 图割算法 233
6.11.2 体素标签立体匹配 237
6.11.3 像素标签立体匹配 238
6.12 光流法 239
6.13 实际例子 242
6.13.1 立体匹配的C++层次结构 242
6.13.2 对数极坐标变换 243
6.14 小结 245
6.14.1 延伸阅读 246
6.14.2 问题与练习 246
第7章 空间重构和多视拼接 247
7.1 摘要 247
7.2 一般性的三维重构 247
7.2.1 三角测量 248
7.2.2 基于尺度的重构 249
7.2.3 基于透视变换的重构 249
7.3 多视拼接 251
7.3.1 隐式表面和移动立方体算法 252
7.3.2 直接网格拼接 258
7.4 小结 261
7.4.1 延伸阅读 261
第8章 实例 262
8.1 摘要 262
8.2 用于视障人士的三维系统 262
8.3 脸和身体的建模 263
8.3.1 脸和身体捕获系统的开发 263
8.3.2 图像分辨率、三维分辨率以及对应用的影响 263
8.3.3 用于虚拟人构建的三维捕获和分析管道 268
8.4 医学和兽医上的应用 269
8.4.1 三维诊断图像的开发 269
8.4.2 三维图像的诊断要求 269
8.4.3 基于三维表面解剖学的诊断评估 269
8.4.4 基本三维解剖学测量的抽取 270
8.4.5 基于稠密匹配的向量场的面分析 272
8.4.6 特征空间方法 274
8.4.7 临床诊断和兽医学实例 276
8.4.8 多模三维成像 279
8.5 电影修复 282
8.6 小结 285
8.6.1 延伸阅读 285
第三部分 286
第9章 射影几何基础 286
9.1 摘要 286
9.2 齐次坐标 286
9.3 点、线和对偶规则 287
9.4 在无穷远处的点和线 288
9.5 二次曲线基础 290
9.5.1 二维空间上的二次曲线 290
9.5.2 在三维空间上的二次曲线 291
9.6 透视投影变换群 292
9.6.1 透视投影基底 293
9.6.2 超平面 293
9.6.3 透视投影单应性 293
9.7 透视投影不变性 294
9.8 小结 295
9.8.1 延伸阅读 295
第10章 图像处理中张量计算基础 296
10.1 摘要 296
10.2 基本概念 296
10.2.1 线性算子 296
10.2.2 坐标变换:雅可比矩阵 297
10.3 基底的改变 298
10.4 张量变换定律 299
10.5 度量张量 300
10.5.1 曲线坐标系中的协变分量和逆变分量 301
10.5.2 第一基础形式 302
10.6 简单张量代数 302
10.6.1 张量和 302
10.6.2 张量积 302
10.6.3 张量缩并和张量内积 302
10.6.4 缩减到主轴 303
10.6.5 张量不变量 303
10.7 小结 303
10.7.1 延伸阅读 303
第11章 图像中的失真和噪声 305
11.1 摘要 305
11.2 噪声的类型和模型 305
11.3 生成噪声测试图像 306
11.4 正态分布随机数的产生 307
11.5 小结 308
11.5.1 延伸阅读 308
第12章 图像扭曲处理 309
12.1 摘要 309
12.2 图像扭曲系统的结构 309
12.3 坐标变换模块 310
12.3.1 平面的射影变换和仿射变换 310
12.3.2 多项式变换 311
12.3.3 通用坐标映射 311
12.4 像素值插值 312
12.4.1 双线性插值 312
12.4.2 非标量值像素的插值 313
12.5 扭曲引擎 313
12.6 图像扭曲软件模型 314
12.6.1 坐标变换层 314
12.6.2 插值层 315
12.6.3 图像扭曲层 316
12.7 图像扭曲实例 317
12.8 由匹配点确定线性变换 320
12.8.1 基于图像的线性代数 321
12.9 小结 324
12.9.1 延伸阅读 324
第13章 图像处理和计算机视觉中的编程技术 325
13.1 摘要 325
13.2 有用的技术和方法 325
13.2.1 设计与实现 325
13.2.2 模板类 330
13.2.3 代码正确性的评估 331
13.2.4 代码调试问题 333
13.3 设计模式 334
13.3.1 模板函数对象 334
13.3.2 句柄—体或桥 335
13.3.3 组合 337
13.3.4 策略 338
13.3.5 类策略和类特性 339
13.3.6 单例 341
13.3.7 代理 341
13.3.8 工厂(Factory)方法 342
13.3.9 原型 343
13.4 对象的生命周期和内存管理 343
13.5 图像处理平台 345
13.5.1 图像处理库 345
13.5.2 不同平台的软件编写 345
13.6 结论 345
13.6.1 延伸阅读 346
第14章 图像处理库 347
参考文献 348
致谢 369