图书简介:
第1 章 概述 / 1
1.1 机器视觉的定义 / 1
1.2 机器视觉任务 / 2
1.3 机器视觉发展简史 / 4
1.3.1 视觉神经生理学 / 4
1.3.2 人工智能与机器学习 / 5
1.3.3 数字图像处理 / 6
1.3.4 机器视觉的发展 / 7
1.4 机器视觉应用 / 12
1.4.1 机器人视觉分拣 / 12
1.4.2 智能视频监控 / 14
1.4.3 锂电池表面缺陷检测 / 15
1.4.4 同时定位与建图 / 16
1.5 本书内容组织与教学建议 / 18
1.5.1 内容组织 / 18
1.5.2 教学建议 / 19
第 2 章 图像获取 / 21
2.1 人类视觉感知 / 21
2.1.1 人眼结构 / 21
2.1.2 视觉特性 / 23
2.2 照明和颜色 / 24
2.2.1 照明 / 24
2.2.2 颜色与颜色模型 / 26
2.3 视觉信息获取 / 31
2.3.1 CCD 与 CMOS 传感器 / 31
2.3.2 彩色图像传感器 / 34
2.3.3 深度图像传感器 / 35
2.4 图像量化与表达 / 39
2.4.1 采样和量化 / 39
2.4.2 Gamma 校正 / 40
2.4.3 图像的数字表达 / 42
2.5 图像压缩与视频压缩 / 44
2.5.1 图像压缩 / 44
2.5.2 视频压缩 / 45
2.5.3 视频压缩标准 / 46
第 3 章 图像处理 / 49
3.1 图像的傅里叶变换 / 49
3.1.1 频域与时域 / 49
3.1.2 典型的二维信号 / 50
3.1.3 傅里叶变换 / 51
3.2 图像滤波 / 57
3.2.1 线性滤波 / 58
3.2.2 非线性滤波 / 61
3.2.3 频域滤波 / 63
3.3 边缘检测 / 67
3.3.1 边缘检测原理 / 67
3.3.2 边缘检测线性算子 / 68
3.4 数学形态学滤波 / 75
3.4.1 数学形态学滤波基础 / 75
3.4.2 数学形态学运算 / 76
第 4 章 图像分割与描述 / 81
4.1 图像直方图与阈值分割 / 81
4.1.1 图像直方图 / 82
4.1.2 阈值分割 / 84
4.1.3 局部阈值分割 / 86
4.2 基于区域生长的图像分割 / 87
4.2.1 区域生长与图像填充 / 87
4.2.2 种子点的自动选取 / 88
4.2.3 区域生长准则 / 89
4.3 分水岭分割算法 / 90
4.3.1 基本思想 / 90
4.3.2 数学描述 / 92
4.3.3 实验效果 / 92
4.3.4 改进的分水岭分割算法 / 94
4.4 活动轮廓与 Snake 模型 / 94
4.4.1 基于能量泛函的分割方法 / 94
4.4.2 Snake 模型 / 95
4.4.3 Snake 模型计算步骤与实验效果 / 96
4.5 图像标记 / 97
4.6 图像描述 / 99
4.6.1 简单描述符 / 99
4.6.2 图像的 Hu 不变矩 / 103
第 5 章 特征检测与匹配 / 106
5.1 角点检测 / 106
5.1.1 角点 / 106
5.1.2 Harris 角点检测 / 107
5.1.3 SIFT 角点检测 / 109
5.1.4 SURF 角点检测 / 113
5.1.5 ORB 角点检测 / 115
5.1.6 角点检测算法比较 / 116
5.2 特征匹配 / 117
5.3 Hough 变换与形状检测 / 119
5.3.1 Hough 变换原理 / 119
5.3.2 Hough 线变换 / 120
5.3.3 Hough 圆变换 / 121
第 6 章 运动估计与滤波 / 123
6.1 背景提取 / 123
6.1.1 背景建模基本思想 / 123
6.1.2 基于单一高斯模型的背景建模 / 124
6.1.3 混合高斯模型 / 126
6.1.4 基于混合高斯模型的背景建模 / 127
6.2 光流估计 / 129
6.2.1 基本光流方程 / 129
6.2.2 Lucas-Kanade 算法 / 130
6.2.3 金字塔光流法 / 131
6.2.4 Horn-Schunck 算法 / 132
6.3 目标跟踪 / 134
6.3.1 基本问题 / 134
6.3.2 Meanshift 算法 / 135
6.3.3 KCF 算法 / 137
6.4 运动模型与滤波 / 140
6.4.1 运动模型 / 140
6.4.2 卡尔曼滤波 / 141
6.4.3 粒子滤波 / 145
第 7 章 单目位姿测量与标定 / 150
7.1 坐标系与成像模型 / 150
7.1.1 坐标系定义与坐标变换 / 150
7.1.2 线性成像模型 / 152
7.1.3 非线性畸变模型 / 154
7.2 单目视觉相对位姿测量 / 155
7.2.1 P3P 问题求解 / 156
7.2.2 PnP 问题通用线性求解 / 157
7.2.3 改进的 PnP 问题求解 / 158
7.2.4 结果优化 / 161
7.3 相机参数标定 / 162
7.3.1 张正友平面标定法 / 162
7.3.2 标定步骤 / 165
第 8 章 多视图几何与三维重建 / 167
8.1 极线几何与基础矩阵 / 167
8.1.1 极线几何 / 167
8.1.2 本质矩阵 / 168
8.1.3 基础矩阵 / 170
8.1.4 基础矩阵的求解方法 / 170
8.2 运动恢复结构 / 172
8.2.1 运动恢复结构问题 / 172
8.2.2 欧式结构恢复 / 172
8.2.3 透视结构恢复 / 174
8.2.4 N 视图的运动恢复结构问题 / 175
8.3 双目立体视觉系统 / 176
8.3.1 平行视图 / 176
8.3.2 非平行视图 / 177
8.4 图像拼接 / 179
8.4.1 特征点提取与匹配 / 179
8.4.2 单应性矩阵求解 / 179
8.4.3 图像配准 / 182
8.4.4 图像融合 / 183
8.5 三维重构 / 183
第 9 章 视觉系统实现 / 187
9.1 机器视觉光源 / 188
9.1.1 照明方式 / 188
9.1.2 光源类型 / 192
9.2 机器视觉相机 / 194
9.2.1 视觉传感器 / 194
9.2.2 相机接口 / 195
9.2.3 镜头接口 / 197
9.3 镜头 / 198
9.4 图像采集卡 / 202
9.5 计算硬件平台 / 203
9.5.1 CPU 与基于 PC 的视觉硬件平台 / 203
9.5.2 图形处理器 / 205
9.5.3 现场可编程门阵列 / 207
9.5.4 特定应用硬件加速器 / 207
9.6 机器视觉软件 / 208
9.6.1 开源视觉框架与 OpenCV / 208
9.6.2 商业机器视觉软件 / 210
第10 章 机器视觉应用实例 / 216
10.1 ImageNet 与大规模视觉识别挑战赛 / 216
10.1.1 ImageNet 介绍 / 216
10.1.2 ImageNet 大规模视觉识别挑战赛 / 217
10.2 火星探测车视觉系统 / 219
10.2.1 下降图像运动估计 / 221
10.2.2 视觉避险与自主导航 / 221
10.2.3 双目视觉测距 / 223
10.2.4 视觉里程计 / 224
10.3 医用大输液外观缺陷检测系统 / 225
10.3.1 针对画面抖动的图像配准 / 225
10.3.2 高性能圆形检测 / 228
10.3.3 图像分类轻量级网络 / 229
10.3.4 硬件系统实现 / 230
10.4 狭孔内部缺陷检测系统 / 232
10.4.1 成像系统设计 / 232
10.4.2 狭孔缺陷检测算法设计 / 235
10.4.3 实验结果与分析 / 237
10.5 视觉 SLAM / 239
10.5.1 视觉 SLAM 系统原理 / 239
10.5.2 视觉 SLAM 框架 / 242
10.5.3 视觉 SLAM 仿真验证 / 244
参考文献 / 246
展开
前言
“百闻不如一见”,人类80%的感知信息来自视觉。作为人工智能的核心技术之一,机器视觉在近几年获得飞速发展。在我们接触的几乎所有领域,包括消费电子、游戏娱乐、安防监控、智能制造、航空航天、医学成像等,都能看到机器视觉的不同应用。机器视觉课程在高等院校广泛开设,已出现在计算机、自动化、机电、人工智能、医学等多个学科专业的课程设置中。
机器视觉诞生以来,市面上出现了很多杰出的教材。这些教材大体可分为两类:一类偏重理论性,另一类面向应用。前者具有完整的理论框架,对机器视觉各种方法也介绍得较为全面,但对每种方法的介绍相对简略,同时偏重理论推导,因此读者学习起来如管中窥豹,难以深入理解和应用。后者则对算法实现和应用有详细的介绍,但缺乏系统性和连贯性,读者读后往往只知其然而不知其所以然。结合两类教材的特点,让读者既能熟悉机器视觉的整体架构,掌握方法思路,又能学到具体实现和场景应用,已成为高校教学中的迫切需求。
我自1999年起在王常虹教授指导下开始从事机器视觉研究,并从2009年开始在哈尔滨工业大学面向自动化、机电等专业先后开设“视觉伺服”“图像工程导论”“智能控制与智能系统”等机器视觉相关的本科高年级与研究生课程。在教学过程中,由于授课时数的限制及学生项目应用的要求,没有找到合适的教材,因此我萌生了自编教材的想法。
本书的定位是,在讲清楚机器视觉体系和基本原理的基础上,与应用紧密结合,供学习者快速掌握方法并上手项目。主要内容分为4篇:基本数字图像处理、特征提取与运动估计、视觉几何与三维重构、视觉系统实现与应用,力求从以下三个角度增加实用性。
(1)内容组织。机器视觉发展迅速,新方法不断涌现,复杂度不断增加,合理组织内容是编写时面临的首要问题。本书延续经典的Marr视觉计算理论框架组织内容,在具体方法选取上,按照发展脉络和由简到繁的顺序,选取了有代表性的经典算法,既保证内容覆盖全面,又做到清晰易懂,避免走马观花、难读难会。
(2)方法讲解。机器视觉是一门“可视”的科学,一个好的方法讲解应充分屏蔽复杂的理论。为此,本书强调讲清楚各种方法的背景和效果,让读者在学习过程中能清晰了解方法要解决的问题、方法的基本思想及具体步骤和实现结果。同时,将原理、结果与示例以图像的方式形象地展示出来,让读者能够直观“看到”具体内容,从而加深对课程的理解,提高学习的积极性。
(3)紧密结合应用。机器视觉是一门实践的科学。为此,在内容组织中做了精心处理,书中提到的大多数方法在主流机器视觉软件平台上均可使用多种编程语言实现,以方便开展实验并进一步在实际项目中应用。书中最后一章结合作者及团队的项目经验,给出了典型场景的应用实例,为应用提供真实参考并帮助读者快速上手此类项目。
本书可供高等院校计算机、自动化、电子工程等专业大三下/大四上学期的本科生和研究生使用,具体教学建议在1.5节给出。同时,本书也适合机器视觉工程师、专业技术人员等在项目实践中参考。
由于编者水平有限,加之编写时间仓促,书中错误与不足之处在所难免,请读者批评指正。
展开