第一部分 图像生成 2
第1章 摄像机的几何模型 2
1.1 图像成像 2
1.1.1 针孔透视 2
1.1.2 弱透视 4
1.1.3 带镜头的照相机 5
1.1.4 人的眼睛 8
1.2 内参数和外参数 9
1.2.1 刚体变换和齐次坐标 10
1.2.2 内参数 11
1.2.3 外参数 12
1.2.4 透视投影矩阵 13
1.2.5 弱透视投影矩阵 14
1.3 照相机的几何标定 15
1.3.1 使用线性方法对照相机进行标定 16
1.3.2 使用非线性方法对照相机进行标定 18
1.4 注释 20
习题 21
编程练习 22
第2章 光照及阴影 23
2.1 像素的亮度 23
2.1.1 表面反射 23
2.1.2 光源及其产生的效果 24
2.1.3 朗伯+镜面反射模型 25
2.1.4 面光源 26
2.2 阴影的估算 27
2.2.1 辐射校准和高动态范围图像 27
2.2.2 镜面反射模型 29
2.2.3 对亮度和照度的推理 30
2.2.4 光度立体技术:从多幅阴影图像恢复形状 32
2.3 对互反射进行建模 37
2.3.1 源于区域光在一个块上的照度 38
2.3.2 热辐射和存在性 38
2.3.3 互反射模型 40
2.3.4 互反射的定性性质 40
2.4 一个阴影图像的形状 43
2.5 注释 44
习题 47
编程练习 48
第3章 颜色 49
3.1 人类颜色感知 49
3.1.1 颜色匹配 50
3.1.2 颜色感受体 51
3.2 颜色物理学 52
3.2.1 颜色的来源 53
3.2.2 表面颜色 54
3.3 颜色表示 55
3.3.1 线性颜色空间 56
3.3.2 非线性颜色空间 60
3.4 图像颜色的模型 62
3.4.1 漫反射项 63
3.4.2 镜面反射项 64
3.5 基于颜色的推论 64
3.5.1 用颜色发现镜面反射 64
3.5.2 用颜色去除阴影 65
3.5.3 颜色恒常性:从图像颜色获得表面颜色 67
3.6 注释 70
习题 72
编程练习 73
第二部分 早期视觉:使用一幅图像 76
第4章 线性滤波 76
4.1 线性滤波与卷积 76
4.1.1 卷积 76
4.2 移不变线性系统 80
4.2.1 离散卷积 80
4.2.2 连续卷积 81
4.2.3 离散卷积的边缘效应 83
4.3 空间频率和傅里叶变换 84
4.3.1 傅里叶变换 84
4.4 采样和混叠 86
4.4.1 采样 86
4.4.2 混叠 88
4.4.3 平滑和重采样 89
4.5 滤波器与模板 92
4.5.1 卷积与点积 92
4.5.2 基的改变 93
4.6 技术:归一化相关和检测模式 93
4.6.1 通过归一化相关检测手势的方法来控制电视机 93
4.7 技术:尺度和图像金字塔 95
4.7.1 高斯金字塔 95
4.7.2 多尺度表示的应用 96
4.8 注释 96
习题 98
编程练习 98
第5章 局部图像特征 99
5.1 计算图像梯度 99
5.1.1 差分高斯滤波 100
5.2 对图像梯度的表征 102
5.2.1 基于梯度的边缘检测子 102
5.2.2 方向 103
5.3 查找角点和建立近邻 105
5.3.1 查找角点 106
5.3.2 采用尺度和方向构建近邻 106
5.4 通过SIFT特征和HOG特征描述近邻 110
5.4.1 SIFT特征 110
5.4.2 HOG特征 112
5.5 实际计算局部特征 113
5.6 注释 113
习题 114
编程练习 114
第6章 纹理 116
6.1 利用滤波器进行局部纹理表征 117
6.1.1 斑点和条纹 118
6.1.2 从滤波器输出到纹理表征 119
6.1.3 实际局部纹理表征 120
6.2 通过纹理基元的池化纹理表征 120
6.2.1 向量量化和纹理基元 121
6.2.2 k均值聚类的向量量化 124
6.3 纹理合成和对图像中的空洞进行填充 124
6.3.1 通过局部模型采样进行合成 125
6.3.2 填充图像中的空洞 127
6.4 图像去噪 129
6.4.1 非局部均值 129
6.4.2 三维块匹配(BM3D) 130
6.4.3 稀疏编码学习 130
6.4.4 结果 131
6.5 由纹理恢复形状 133
6.5.1 在平面内由纹理恢复形状 133
6.5.2 从弯曲表面的纹理恢复形状 134
6.6 注释 135
习题 137
编程练习 138
第三部分 低层视觉:使用多幅图像 140
第7章 立体视觉 140
7.1 双目摄像机的几何属性和对极约束 141
7.1.1 对极几何 141
7.1.2 本征矩阵 142
7.1.3 基础矩阵 142
7.2 双目重构 143
7.2.1 图像矫正 144
7.3 人类立体视觉 144
7.4 双目融合的局部算法 146
7.4.1 相关 146
7.4.2 多尺度的边缘匹配 148
7.5 双目融合的全局算法 149
7.5.1 排序约束和动态规划 149
7.5.2 平滑约束和基于图的组合优化 151
7.6 使用多台摄像机 152
7.7 应用:机器人导航 154
7.8 注释 155
习题 155
编程练习 157
第8章 从运动中恢复三维结构 158
8.1 内部标定的透视摄像机 159
8.1.1 问题的自然歧义性 159
8.1.2 从两幅图像估计欧氏结构和运动 160
8.1.3 从多幅图像估计欧氏结构和运动 163
8.2 非标定的弱透视摄像机 165
8.2.1 问题的自然歧义性 165
8.2.2 从两幅图像恢复仿射结构和运动 166
8.2.3 从多幅图像恢复仿射结构和运动 169
8.2.4 从仿射到欧氏图像 170
8.3 非标定的透视摄像机 171
8.3.1 问题的自然歧义性 172
8.3.2 从两幅图像恢复投影结构和运动 172
8.3.3 从多幅图像恢复投影结构和运动 174
8.3.4 从投影到欧氏图像 175
8.4 注释 177
习题 178
编程练习 179
第四部分 中层视觉方法 182
第9章 基于聚类的分割方法 182
9.1 人类视觉:分组和格式塔原理 183
9.2 重要应用 186
9.2.1 背景差分 186
9.2.2 镜头的边界检测 187
9.2.3 交互分割 188
9.2.4 形成图像区域 190
9.3 基于像素点聚类的图像分割 191
9.3.1 基本的聚类方法 191
9.3.2 分水岭算法 193
9.3.3 使用k均值算法进行分割 193
9.3.4 均值漂移:查找数据中的局部模型 194
9.3.5 采用均值漂移进行聚类和分割 196
9.4 分割、聚类和图论 197
9.4.1 图论术语和相关事实 198
9.4.2 根据图论进行凝聚式聚类 199
9.4.3 根据图论进行分解式聚类 200
9.4.4 归一化切割 202
9.5 图像分割在实际中的应用 203
9.5.1 对分割器的评估 203
9.6 注释 204
习题 206
编程练习 206
第10章 分组与模型拟合 207
10.1 霍夫变换 207
10.1.1 用霍夫变换拟合直线 207
10.1.2 霍夫变换的使用 208
10.2 拟合直线与平面 209
10.2.1 拟合单一直线 210
10.2.2 拟合平面 211
10.2.3 拟合多条直线 211
10.3 拟合曲线 212
10.4 鲁棒性 214
10.4.1 M估计法 215
10.4.2 RANSAC:搜寻正常点 217
10.5 用概率模型进行拟合 219
10.5.1 数据缺失问题 220
10.5.2 混合模型和隐含变量 222
10.5.3 混合模型的EM算法 223
10.5.4 EM算法的难点 225
10.6 基于参数估计的运动分割 226
10.6.1 光流和运动 226
10.6.2 光流模型 227
10.6.3 用分层法分割运动 228
10.7 模型选择:哪个最好 230
10.7.1 利用交叉验证选择模型 231
10.8 注释 232
习题 233
编程练习 234
第11章 跟踪 235
11.1 简单跟踪策略 236
11.1.1 基于检测的跟踪 236
11.1.2 基于匹配的平移跟踪 238
11.1.3 使用仿射变换来确定匹配 240
11.2 匹配跟踪 241
11.2.1 匹配摘要表征 242
11.2.2 流跟踪 243
11.3 基于卡尔曼滤波器的线性动态模型跟踪 244
11.3.1 线性测量值和线性动态模型 245
11.3.2 卡尔曼滤波 248
11.3.3 前向-后向平滑 249
11.4 数据相关 251
11.4.1 卡尔曼滤波检测方法 252
11.4.2 数据相关的关键方法 252
11.5 粒子滤波 253
11.5.1 概率分布的采样表示 253
11.5.2 最简单的粒子滤波器 256
11.5.3 跟踪算法 257
11.5.4 可行的粒子滤波器 258
11.5.5 创建粒子滤波器中的粒子问题 259
11.6 注释 260
习题 261
编程练习 262
第五部分 高层视觉 264
第12章 配准 264
12.1 刚性物体配准 264
12.1.1 迭代最近点 265
12.1.2 通过关联搜索转换关系 265
12.1.3 应用:建立图像拼接 266
12.2 基于模型的视觉:使用投影配准刚性物体 270
12.2.1 验证:比较转换与渲染后的原图与目标图 271
12.3 配准可形变目标 271
12.3.1 使用主动外观模型对纹理进行变形 272
12.3.2 实践中的主动外观模型 274
12.3.3 应用:医疗成像系统中的配准 275
12.4 注释 278
习题 279
编程练习 279
第13章 平滑的表面及其轮廓 280
13.1 微分几何的元素 282
13.1.1 曲线 282
13.1.2 表面 284
13.2 表面轮廓几何学 287
13.2.1 遮挡轮廓和图形轮廓 288
13.2.2 图像轮廓的歧点和拐点 288
13.2.3 Koenderink定理 289
13.3 视觉事件:微分几何的补充 290
13.3.1 高斯映射的几何关系 291
13.3.2 渐近曲线 292
13.3.3 渐近球面映射 293
13.3.4 局部视觉事件 293
13.3.5 双切射线流形 295
13.3.6 多重局部视觉事件 296
13.3.7 外观图 297
13.4 注释 298
习题 299
第14章 深度数据 301
14.1 主动深度传感器 301
14.2 深度数据的分割 302
14.2.1 分析微分几何学的基本元素 303
14.2.2 在深度图像中寻找阶跃和顶边 304
14.2.3 把深度图像分割为平面区域 308
14.3 深度图像的配准和模型获取 309
14.3.1 四元组 309
14.3.2 使用最近点迭代方法配准深度图像 310
14.3.3 多幅深度图像的融合 312
14.4 物体识别 313
14.4.1 使用解释树匹配分段平面表示的表面 313
14.4.2 使用自旋图像匹配自由形态的曲面 315
14.5 Kinect 318
14.5.1 特征 319
14.5.2 技术:决策树和随机森林 319
14.5.3 标记像素 321
14.5.4 计算关节位置 322
14.6 注释 323
习题 324
编程练习 325
第15章 用于分类的学习 326
15.1 分类、误差和损失函数 326
15.1.1 基于损失的决策 326
15.1.2 训练误差、测试误差和过拟合 328
15.1.3 正则化 329
15.1.4 错误率和交叉验证 331
15.1.5 受试者工作特征曲线(ROC) 332
15.2 主要的分类策略 333
15.2.1 示例:采用归一化类条件密度的马氏距离 334
15.2.2 示例:类条件直方图和朴素贝叶斯 335
15.2.3 示例:采用最近邻的非参分类器 335
15.2.4 示例:线性支持向量机 336
15.2.5 示例:核机器 338
15.2.6 示例:级联和Adaboost 339
15.3 构建分类器的实用方法 341
15.3.1 手动调整训练数据并提升性能 341
15.3.2 通过二类分类器构建多类分类器 342
15.3.3 求解SVM和核机器的方案 343
15.4 注释 344
习题 344
第16章 图像分类 345
16.1 构建好的图像特征 345
16.1.1 示例应用 345
16.1.2 采用GIST特征进行编码布局 347
16.1.3 采用视觉单词总结图像 349
16.1.4 空间金字塔 351
16.1.5 采用主分量进行降维 353
16.1.6 采用典型变量分析进行降维 355
16.1.7 示例应用:检测不雅图片 358
16.1.8 示例应用:材料分类 360
16.1.9 示例应用:场景分类 361
16.2 分类单一物体的图像 362
16.2.1 图像分类策略 363
16.2.2 图像分类的评估系统 363
16.2.3 固定类数据集 365
16.2.4 大量类的数据集 366
16.2.5 花、树叶和鸟:某些特定的数据集 368
16.3 在实践中进行图像分类 369
16.3.1 关于图像特征的代码 369
16.3.2 图像分类数据库 369
16.3.3 数据库偏差 371
16.3.4 采用众包平台进行数据库收集 372
16.4 注释 373
编程练习 374
第17章 检测图像中的物体 375
17.1 滑动窗口法 375
17.1.1 人脸检测 376
17.1.2 行人检测 379
17.1.3 边界检测 382
17.2 检测形变物体 385
17.3 物体检测算法的发展现状 388
17.3.1 数据库和资源 389
17.4 注释 391
编程练习 391
第18章 物体识别 392
18.1 物体识别应该做什么 392
18.1.1 物体识别系统应该做什么 392
18.1.2 目前物体识别的策略 393
18.1.3 什么是类别 394
18.1.4 选择:应该怎么描述 394
18.2 特征问题 395
18.2.1 提升当前图像特征 395
18.2.2 其他类型的图像特征 396
18.3 几何问题 397
18.4 语义问题 399
18.4.1 属性和不熟悉 399
18.4.2 部分、姿态部件和一致性 399
18.4.3 块的意义:部分、姿态部件、物体、短语和场景 402
第六部分 应用与其他主题 406
第19章 基于图像的建模与渲染 406
19.1 可视外壳 406
19.1.1 可视外壳模型的主要元素 406
19.1.2 跟踪相交曲线 409
19.1.3 分割相交曲线 411
19.1.4 锥带三角化 411
19.1.5 结果 412
19.1.6 更进一步:雕刻可视外壳 414
19.2 基于贴片的多视立体视觉 415
19.2.1 PMVS模型的主要元素 416
19.2.2 初始特征匹配 418
19.2.3 扩张 419
19.2.4 过滤 421
19.2.5 结果 421
19.3 光场 422
19.4 注释 425
习题 426
编程练习 426
第20章 对人的观察 427
20.1 隐马尔可夫模型、动态规划和基于树形结构的模型 427
20.1.1 隐马尔可夫模型 427
20.1.2 关于HMM的推理 429
20.1.3 通过EM拟合HMM 431
20.1.4 树形结构的能量模型 434
20.2 对图像中的人进行解析 435
20.2.1 图形结构模型的解析 436
20.2.2 估计衣服的表面 437
20.3 人的跟踪 438
20.3.1 为什么人的跟踪如此困难 438
20.3.2 通过表面进行运动跟踪 439
20.3.3 采用模板进行运动人体跟踪 440
20.4 从二维到三维:提升 442
20.4.1 在正视图进行重构 442
20.4.2 利用外貌进行精确重构 444
20.4.3 利用运动进行精确重构 445
20.5 行为识别 446
20.5.1 背景:人类运动数据 446
20.5.2 人体结构和行为识别 448
20.5.3 采用外貌特征识别人类行为 449
20.5.4 采用组合的模型识别人类行为 451
20.6 资源 453
20.7 注释 454
第21章 图像搜索与检索 455
21.1 应用背景 455
21.1.1 应用 455
21.1.2 用户需求 456
21.1.3 图像查询的类别 457
21.1.4 什么样的用户使用图像采集 458
21.2 源自信息检索的基本技术 458
21.2.1 单词统计 458
21.2.2 单词统计的平滑 459
21.2.3 最近邻估计和哈希 460
21.2.4 文本排序 463
21.3 图像文件 464
21.3.1 没有量化的匹配 464
21.3.2 根据查询结果对图像进行排序 465
21.3.3 浏览与布局 467
21.3.4 图像浏览布局 467
21.4 对注释的图片预测 468
21.4.1 源于邻近文字的注释 469
21.4.2 源于整幅图的注释 469
21.4.3 采用分类器预测关联的单词 471
21.4.4 人名与人脸 472
21.4.5 通过分割生成标签 473
21.5 目前最先进的单词预测器 475
21.5.1 资源 475
21.5.2 方法比较 476
21.5.3 开放问题 477
21.6 注释 479
第七部分 背景材料 482
第22章 优化技术 482
22.1 线性最小二乘法 482
22.1.1 正则方程和伪逆 483
22.1.2 齐次方程组和特征值问题 483
22.1.3 广义特征值问题 484
22.1.4 示例:拟合平面上的一条直线 484
22.1.5 奇异值分解 485
22.2 非线性最小二乘法 486
22.2.1 牛顿方法:平方非线性方程组 487
22.2.2 牛顿方法:过约束的非线性方程组 487
22.2.3 高斯-牛顿法和Levenberg-Marquardt法 488
22.3 稀疏编码和字典学习 488
22.3.1 稀疏编码 489
22.3.2 字典学习 489
22.3.3 监督字典学习 490
22.4 最小切/最大流问题和组合优化 491
22.4.1 最小切问题 491
22.4.2 二次伪布尔函数 492
22.4.3 泛化为整型变量 493
22.5 注释 495