本书以作者教学经验和研究成果为基础,配合大量插图,详细讲解传统计算机视觉方法,基于手动特征的经典算法,并深入介绍最前沿的深度学习技术。将传统的知识与深度学习的力量相结合应对不断变化的挑战。
阅读本书,您既能够理解计算机视觉的基本原理,又能够掌握当今最激动人心的技术。
本书主要介绍和探讨计算机视觉的一系列核心主题,包括相机成像,图像处理、分析和感知,三维重建等。首先介绍了相机模型、成像过程以及图像的颜色模型、照射模型、渲染模型等;然后系统性地介绍了图像滤波、特征提取、图像和视频感知与理解等多种任务,不仅详细讲解了各任务中的经典方法,还全面地介绍了前沿的基于深度学习的方法;最后介绍了三维重建中涉及的几何原理、重建步骤以及基于深度学习的新方法。
本书针对每一个核心问题单独成章,并着重讲解基本概念。通过大量的彩图,帮助读者理解问题。适合作为本科及研究生的计算机视觉和数字图像处理课程的教材,并且可以作为深度学习课程的参考书。同时,也可供对计算机视觉感兴趣的相关专业人士参考。
第1章 相机成像模型 /1
1.1 引言 /1
1.2 简单的相机模型 /2
1.2.1 相机数学模型 /2
1.2.2 相机的内参 /4
1.2.3 相机的外参 /6
1.2.4 相机成像公式 /7
1.2.5 相机成像畸变 /7
1.3 图像的颜色 /10
1.3.1 基于拜尔滤波器的颜色感知 /10
1.3.2 RGB颜色模型 /11
1.3.3 HSV颜色模型 /12
1.4 图像的亮度 /14
1.4.1 空间中的光 /14
1.4.2 物体表面的光线反射 /16
1.4.3 薄透镜成像的辐射度学 /17
1.4.4 数字成像过程 /19
1.5 渲染 /20
1.5.1 渲染方程 /20
1.5.2 光线追踪算法 /20
1.6 本章小结 /23
第2章 图像空间滤波 /24
2.1 引言 /24
2.2 卷积和互相关 /25
2.2.1 卷积 /25
2.2.2 互相关 /26
2.3 图像的平滑 /28
2.3.1 邻域均值滤波 /28
2.3.2 加权均值滤波 /28
2.3.3 高斯均值滤波 /29
2.3.4 中值滤波 /30
2.3.5 双边滤波 /30
2.4 图像的锐化 /32
2.4.1 梯度锐化 /32
2.4.2 拉普拉斯算子的二阶微分锐化 /33
2.4.3 非锐化掩膜与高频提升滤波 /34
2.5 本章小结 /35
第3章 图像特征提取 /36
3.1 引言 /36
3.2 基于非学习方法的边缘检测 /37
3.2.1 边缘、导数和梯度 /39
3.2.2 边缘的卷积形式计算 /40
3.2.3 噪声对边缘检测的影响和处理方法 /41
3.2.4 Canny边缘检测算子 /43
3.3 基于深度学习的边缘检测 /45
3.3.1 HED/45
3.3.2 RCF/47
3.3.3 CASENet/49
3.4 基于非学习方法的关键点检测 /51
3.4.1 角点检测原理 /53
3.4.2 Harris角点检测 /54
3.4.3 Harris角点检测的优势与不足 /58
3.4.4 高斯拉普拉斯算子 /59
3.4.5 高斯差分算子 /64
3.5 基于深度学习的语义关键点检测 /65
3.5.1 基于深度学习的人脸关键点检测 /65
3.5.2 人体关键点检测 /69
3.5.3 房间布局估计 /74
3.6 基于非学习方法的直线检测 /78
3.6.1 最小二乘法 /78
3.6.2 基于RANSAC的直线拟合 /82
3.6.3 霍夫变换 /84
3.7 基于深度学习的线段检测 /87
3.7.1 基于图表示的线段检测 /87
3.7.2 基于向量场表示的线段检测 /88
3.7.3 语义直线检测及应用 /89
3.8 本章小结 /91
参考文献 /91
第4章 图像分类 /94
4.1 引言 /94
4.2 图像表达 /97
4.3 基于手动特征的图像表达 /98
4.3.1 基于颜色直方图的图像表达 /98
4.3.2 基于经典的视觉词袋模型的图像表达 /99
4.3.3 基于空间金字塔匹配模型的图像表达 /104
4.3.4 基于压缩感知的图像表达 /105
4.3.5 基于高斯混合模型的图像特征编码 /107
4.4 基于支持向量机的图像分类 /108
4.4.1 面向线性可分数据的支持向量机分类 /108
4.4.2 面向非线性可分数据的支持向量机分类 /114
4.4.3 基于支持向量机的多分类实现 /116
4.4.4 基于视觉词袋模型和支持向量机的图像分类 /116
4.5 基于自编码器的图像表达 /117
4.5.1 多层感知机 /118
4.5.2 自编码器 /120
4.5.3 降噪自编码器 /121
4.6 基于卷积神经网络的图像分类 /122
4.6.1 卷积神经网络的组件 /122
4.6.2 神经网络的训练 /128
4.6.3 代表性图像分类卷积神经网络 /131
4.7 基于胶囊网络的图像分类 /143
4.7.1 CapsNet/144
4.7.2 堆叠胶囊自编码器 /147
4.8 基于Transformer的图像分类 /149
4.8.1 自然语言处理中的Transformer/149
4.8.2 基于Transformer的图像分类 /151
4.9 本章小结 /159
参考文献 /159
第5章 图像中目标检测 /164
5.1 引言 /164
5.2 基于手动特征的目标检测 /171
5.2.1 ViolaJones人脸检测算法 /172
5.2.2 基于DPM的目标检测 /176
5.3 基于卷积神经网络的目标检测 /183
5.3.1 两阶段目标检测算法 /185
5.3.2 单阶段目标检测算法 /190
5.3.3 无锚框的目标检测算法 /195
5.4 基于Transformer的目标检测 /199
5.4.1 DETR/199
5.4.2 Pix2seq/201
5.5 本章小结 /203
参考文献 /204
第6章 图像分割 /207
6.1 引言 /207
6.2 基于手动特征的图像分割算法 /209
6.2.1 基于图论的图像分割 /209
6.2.2 基于聚类的图像分割 /213
6.3 语义分割 /216
6.3.1 FCN/218
6.3.2 U Net/219
6.3.3 DeepLab/220
6.3.4 PSPNet/223
6.4 实例分割 /223
6.4.1 MaskR CNN/225
6.4.2 YOLACT/225
6.4.3 SOLO/227
6.5 全景分割 /228
6.5.1 PanopticFPN/229
6.5.2 UPSNet/230
6.6 点云分割 /232
6.6.1 用于图的卷积神经网络 /234
6.6.2 基于点云的语义分割 /238
6.7 本章小结 /244
参考文献 /244
第7章 视频分类和行为识别 /248
7.1 引言 /248
7.2 基于手动特征的视频分类 /253
7.2.1 基于词袋模型的视频表达和分类 /254
7.2.2 基于光流特征的视频表达和分类 /254
7.3 基于循环神经网络的视频分类 /263
7.3.1 循环神经网络 /263
7.3.2 双向循环神经网络 /264
7.3.3 长短期记忆网络 /266
7.3.4 门控制循环单元 /267
7.3.5 基于LSTM的视频表达 /267
7.4 基于卷积神经网络的视频分类 /270
7.4.1 单分支网络 /270
7.4.2 多分支网络 /278
7.5 基于Transformer的视频分类 /282
7.5.1 ViViT/282
7.5.2 TimeSFormer/285
7.5.3 VideoSwinTransformer/286
7.5.4 VideoCLIP/288
7.5.5 VLM/290
7.6 时序动作定位 /291
7.6.1 单阶段方法 /292
7.6.2 自顶向下的多阶段方法 /295
7.6.3 自底向上的多阶段方法 /299
7.7 本章小结 /304
参考文献 /304
第8章 图像三维重建 /311
8.1 引言 /311
8.2 对极几何 /313
8.3 相机标定 /317
8.4 基于传统算法的多视图立体重建 /321
8.4.1 简单的基于匹配三维点空间坐标求解方法 /321
8.4.2 基于平面扫描的场景深度估计 /322
8.4.3 基于视差的深度估计 /323
8.4.4 基于PatchMatch的立体重建 /325
8.5 基于深度学习的多视角重建 /328
8.5.1 MVSNet/329
8.5.2 Fast MVSNet/330
8.6 基于深度学习的场景的单目深度估计 /332
8.6.1 有监督学习的单目深度估计 /332
8.6.2 自监督学习的单目视频深度估计 /335
8.7 深度学习对基于不同形状表达的三维重建 /338
8.7.1 基于体素的显式三维表达 /338
8.7.2 基于多边形网格的显式三维表达 /344
8.7.3 基于隐函数的隐式物体表达 /348
8.7.4 基于神经立体渲染的多视角重建 /353
8.8 本章小结 /370
参考文献 /370