
基于计算机视觉的三维空间数据获取和处理技术正处在一个蓬勃发展的时期,相关的三维测量与建模的研究成果被广泛地应用于各个行业领域中。与数字图像处理技术相比,计算机视觉三维测量与建模技术更关注观测场景的空间几何结构信息和传感器载体的位置姿态信息。它利用射影几何、线性代数和数值优化等理论,从二维影像数据中恢复重建出三维空间结构信息和传感器的位置姿态数据,使观测者能够获得目标对象的三维物理尺寸数据以及摄像机等传感器的位置姿态关系。此外,三维点云的数据形式近年来受到越来越多的关注,许多应用问题的解决方法都从二维影像处理过渡到三维点云处理。本书介绍摄像机成像的基本数学模型,分析摄像机的标定原理、影像的特征提取与匹配算法、由运动恢复结构的理论和流程,以及由立体视觉重建稠密三维点云的方法。此外,本书进一步延伸到图形学几何建模的相关知识,介绍三维点云的空间滤波理论和表面网格化的建模方法。书中包含著者多年的学习和实践积累,可以为读者提供计算机视觉相关的三维数据获取与处理的理论和技术参考。本书既可以作为高等院校计算机视觉、摄影测量与遥感和电子信息工程等相关专业的研究生或高年级本科生的参考教材,又可以作为针对三维数据处理进行研究的学者和科研人员的参考书,同时可供工业从业者和决策者参考阅读。
前 言 三维空间信息数据的获取与处理技术在进入21世纪以后得到了长足的发展,并展示出了巨大的应用潜力。它与计算机视觉、计算机图形学、工业制造、机器人视觉导航定位、测绘遥感、生态环保、游戏影音和生物医学等学科领域密切相关。在现实中,三维重建技术有着丰富多样的应用场景,复杂场景的实时建模和可视化渲染技术仍处在一个方兴未艾的发展阶段。本书介绍的空间数据主要包含观测场景和探测目标的空间位置数据、几何结构数据和运动姿态数据等,这些数据用点、线和面等几何图形基元,以及附着于这些基元的属性信息,来表达现实世界的空间现象。 快速有效地从物体和场景中捕捉重建数字化的三维信息是一项研究热点和难点,其中,工业视觉检测是计算机视觉与精密测量结合的技术,其研究和应用始于20世纪六七十年代,其作为机器视觉的重要部分,成功解决了实际应用中现场测量的问题。如今,三维空间信息的应用更加广泛,计算机图形学、虚拟现实技术和通信技术对三维信息的要求越来越高,这项工作的重要性又上了一个新的台阶。因此,不仅要对少数点进行高精度测量,而且要测量连续完整的场景和物体的外表面几何形状。现有的三维测量系统通常是围绕专门的硬件搭建的(比如激光扫描仪或立体相机),这导致了这些系统的成本很高。然而很多新应用要求使用低成本的稳健采集系统,这就刺激了使用摄像机来采集数据,恢复重建三维数据模型。 本书将尝试为以下问题提供答案,即如何从影像中获取三维空间信息,以及如何计算恢复传感器的位置姿态参数,为此用户需要事先知道哪些概念和方法。编写本书的目的之一是把计算机视觉中与三维空间数据重建相关的理论和方法结合起来,使实际项目的设计者和开发者能够理解算法中的数学原理,可以自信地解决各种问题。本书的潜在读者应该对数学原理的一般知识有所了解,尤其是高等数学、线性代数和概率论等。 尽管作者在撰写本书时试图保持连贯的思想,由一个章节导出下一个章节,但是在具体情况下,这是难以实现的。例如,光束法平差是摄像机标定和三维重建模型整体优化的重要内容,在介绍这些内容时难免将其分开到不同的章节中。同样,特征提取和匹配技术在对极几何、双目影像密集匹配和三维点云分割等模块中都有提及和使用,本书在组织这些内容时也进行了相应的拆分介绍,影像的像素点运算和匹配对应问题也分散在各个章节之中。因此,在阅读本书时,建议的方法是先通篇浏览,对各个知识点以及相互之间的关联有整体的了解,然后具体到每一章中对基本理论推导进行更深入的阅读,同时读者必须在章节之间移动阅读,达到了解相关主题概念的目的。 本书对计算机视觉中的三维空间数据处理的理论和算法进行介绍,并结合具体的应用案例分析了各种算法的性质。每一章都提供了算法基础原理和相应的技术发展,描述了特定算法系统中的步骤和对应的评价机制。 第1章,首先介绍了数字影像的基本概念,以及射影几何和透视投影成像过程等基础知识。这些基础知识在数字影像处理和计算机图形学等中都是必不可少的内容。本书仍然再一次对其展开进行介绍,这是因为要了解后续章节的知识,必须要对这部分基础内容有深刻的理解和认识。 第2章,介绍了摄像机标定的原理和方法,摄像机的标定参数对基于影像的三维重建技术而言是至关重要的。标定本身需要的理论和技术方法融汇了特征匹配、对极几何恢复、三角测量和光束法平差等诸多知识点。可以简单地说,掌握了标定技术,就掌握了绝大部分基于影像的三维重建理论基础。 第3章,主要介绍了一些经典的影像特征提取与匹配技术。特征匹配是一种初级算法,是很多模式识别和几何建模的前提步骤。但是,优良的特征提取和匹配算法需要考虑很多环境因素,需要有技巧性地进行设计,这些设计至今仍是许多先进工业级算法技术的核心秘密。 第4章,介绍了由运动恢复结构的理论基础,阐明了由运动恢复结构的基本步骤。掌握本章的内容,读者就具备了探索实现影像三维重建的能力,即从若干序列影像中,用数学方法重建观测场景的三维空间结构。 第5章,针对双目立体视觉这个主题进行了讨论,从极线校正、密集匹配、三角测量和光束法平差优化等方面都给出了详细的概念解释,对一些经典算法进行了介绍。双目立体视觉可以作为学习影像三维重建阶段最佳的一个入门方向,因为双目立体视觉有相对成熟的指导资料,而且容易获得可视化的反馈。双目系统容易配置和调试,反复测试练习并积累经验,能够为初学者建立更复杂的三维测量系统提供预备知识。 从第6章开始,本书的重点从基于影像的三维重建获得三维点云数据,过渡到了基于三维点云或网格数据的处理。第6章到第8章,更多的是围绕密集三维重建后的点云数据展开的三维几何数据后处理。 第6章,结合多种数学理论,讨论了对三维点云数据进行法向量估计、点云去噪和场景分割的概念与方法,提及了包含模式识别和深度学习等理论在内的一些算法。 第7章,更进一步地讨论了点云的三维特征提取与配准方法,目的是实现跨时间、跨空间采集的数据之间的配准和融合,包括从影像或者激光雷达扫描仪获得的多源数据之间的配准理论。有了利用三维重建技术获得的三维点云,结合点云的分割、配准和融合等技术,就已经能够解决相当一部分的现实应用问题,包括机器人的导航避障、医疗康复监护、影视娱乐模型制作和工业测量等。 第8章,从点云数据处理再次过渡到表面网格模型数据处理。表面网格模型有着不同于二维影像和三维点云的空间特质,这部分内容与计算机图形学有着更为密切的关系。第8章重点介绍了不同的表面网格化建模理论方法,以及三维模型的滤波去噪理论方法。至此,本书实现了对数据采集与处理流程的系统性的介绍,即从数据采集端对三维空间场景进行感知探测,并最终以三维点云或者网格化的三维模型方式呈现给用户的应用终端。 本书内容紧跟时代的发展,并结合最新的学术动态,对影像处理、视觉重建、点云滤波和表面建模处理等内容进行综合介绍。从理论基础、技术实现和应用案例等方面进行阐述。此外,本书具有较强的实用性,不仅对基于视觉的三维重建与数据处理的理论知识进行分析和探讨,还对相关的实践应用进行阐述,尽量避免理论学习的枯燥乏味,努力提高内容的可读性。 最后,感谢我的家人在我撰写本书的过程中给予的支持,为我创造了良好舒心的环境。感谢我的导师前辈、朋友同事和研究生们在工作中给予的关心、鼓励和帮助。在写作过程中,查阅了很多与之相关的资料,吸收了多方学者的研究成果,借鉴了很多同行专家的观点,在此表示感谢!由于计算机视觉三维测量与建模技术如今仍处在日新月异的动态发展过程当中,以及著者水平有限,书中介绍内容的跨度大,难免有疏漏或不妥之处,请广大读者批评指正,著者将在后续工作中不断完善。再次感谢所有予以支持的人们。
目 录 第1章 绪 论 1 1.1 数字影像 2 1.1.1 数字影像概念 2 1.1.2 常见的影像类型 3 1.1.3 空间域和频率域处理 4 1.2 射影几何学基础 5 1.2.1 射影几何意义 5 1.2.2 射影变换 5 1.2.3 二维射影空间 6 1.2.4 三维射影空间 8 1.2.5 二维仿射变换 9 1.2.6 几何元素的分层表达 10 1.3 欧氏空间坐标转换 11 1.3.1 二维坐标转换 11 1.3.2 三维坐标转换 12 1.4 成像模型与成像系统中的坐标系 14 1.4.1 成像模型中的几何元素 14 1.4.2 成像系统中的坐标系 15 1.4.3 透视投影成像模型 16 1.5 常见的三维成像方式 19 1.5.1 人工输入方法 20 1.5.2 主动式扫描方法 20 1.5.3 被动式扫描方法 23 1.6 三维计算机视觉的应用 24 1.6.1 三维计算机视觉测量的应用领域 24 1.6.2 三维计算机视觉测量系统的常见技术指标参数 25 1.6.3 三维计算机视觉与摄影测量的关系 26 1.6.4 三维计算机视觉测量面临的问题 26 1.7 小结 27 参考文献 27 第2章 摄像机的几何标定 30 2.1 摄像机标定参数 30 2.1.1 内参数 30 2.1.2 外参数 32 2.1.3 标定方法分类 32 2.2 摄像机内参数标定 33 2.2.1 直接线性变换法 33 2.2.2 Tsai1987标定方法 36 2.2.3 Zhang1999标定方法 37 2.3 静态场景多视角下摄像机系统的自标定 39 2.3.1 基础矩阵 39 2.3.2 度量自标定 41 2.3.3 基于灭点的自标定方法 44 2.4 摄像机系统的半自动标定 45 2.4.1 标定装置 46 2.4.2 自动提取角点 46 2.4.3 人工靶标标志 47 2.5 摄像机与激光雷达的联合标定 49 2.5.1 多源融合的意义 49 2.5.2 时空配准 50 2.5.3 摄像机与激光雷达的联合标定 50 2.6 应用举例 52 2.6.1 标定工具箱 52 2.6.2 多源传感器联合标定 53 2.7 小结 54 参考文献 55 第3章 影像特征提取表达 58 3.1 影像特征的基本概念 58 3.1.1 特征表达形式 58 3.1.2 像素特征的基本要求 59 3.1.3 邻域范围 59 3.2 边缘和线特征提取 60 3.2.1 梯度算子 61 3.2.2 Canny边缘检测 64 3.2.3 Snake边缘提取 65 3.2.4 霍夫变换检测直线 66 3.3 点特征提取 67 3.3.1 Harris角点 67 3.3.2 FAST角点 69 3.3.3 SIFT特征提取 70 3.3.4 SURF特征提取 74 3.3.5 ORB特征检测 77 3.3.6 AKAZE特征检测 78 3.3.7 Lucas-Kanade光流算法 79 3.3.8 卷积神经网络特征提取 81 3.4 纹理特征表达 82 3.4.1 纹理的概念 82 3.4.2 纹理特征类型 83 3.4.3 纹理特征应用举例 85 3.5 应用举例 86 3.5.1 目标跟踪 86 3.5.2 全景拼接 86 3.6 小结 87 参考文献 88 第4章 由运动恢复结构 90 4.1 对极几何 90 4.1.1 极线与极点 90 4.1.2 基础矩阵 92 4.1.3 本质矩阵 93 4.2 影像的单应变换 94 4.2.1 投影矩阵和影像单应矩阵之间的关系 94 4.2.2 基础矩阵和影像单应矩阵之间的关系 95 4.3 求解二视图的基础矩阵 96 4.3.1 八点算法 96 4.3.2 七点算法 98 4.3.3 鲁棒算法 98 4.3.4 退化情况 100 4.3.5 三视图和四视图几何计算 100 4.4 摄像机位置姿态和场景结构恢复 101 4.4.1 初始化影像位置姿态和场景结构 101 4.4.2 由本质矩阵提取摄像机矩阵 102 4.4.3 更新结构和位置姿态 104 4.4.4 PnP问题 105 4.5 光束法平差 105 4.5.1 光束法平差模型 105 4.5.2 最小二乘原理 107 4.5.3 高斯?牛顿算法 107 4.5.4 列文伯格?马奎特算法 108 4.5.5 光束法平差的LM算法模型 109 4.5.6 稀疏光束法平差 109 4.6 应用举例 111 4.7 小结 113 参考文献 113 第5章 双目立体视觉 116 5.1 标准形式的双目系统 116 5.2 匹配基础 117 5.2.1 立体影像极线校正 117 5.2.2 匹配预处理 119 5.2.3 视差图原理 120 5.3 传统立体匹配算法 121 5.3.1 局部窗口匹配算法 121 5.3.2 匹配代价度量 122 5.3.3 代价聚合与视差计算 123 5.3.4 视差图后处理 124 5.3.5 动态规划法 125 5.3.6 半全局优化匹配算法 127 5.4 图割优化匹配算法 128 5.4.1 匹配问题中的马尔可夫模型 129 5.4.2 图割求解算法 129 5.4.3 超像素分割 132 5.4.4 高阶马尔可夫模型匹配算法 134 5.4.5 实验比较 135 5.5 结构光三维扫描 136 5.5.1 结构光三维扫描基本原理 136 5.5.2 二进制编码和灰度编码 139 5.5.3 相移法编码 139 5.5.4 混合方式:相移法+灰度码投影 141 5.5.5 其他编码模式 142 5.5.6 编码模式的比较 144 5.6 立体视觉标定 144 5.6.1 摄像机标定 145 5.6.2 投影仪标定 145 5.6.3 系统参数对精度的影响 146 5.7 应用举例 147 5.8 小结 149 参考文献 150 第6章 点云滤波与分割 152 6.1 采样点云特性 152 6.1.1 点云质量问题 152 6.1.2 点云数据组织和查询 153 6.2 点云滤波增强 155 6.2.1 点云的法向量估计 155 6.2.2 点云去噪一般方法 158 6.2.3 基于统计学的异常值检测 160 6.2.4 局部优化投影采样 160 6.2.5 密度加权局部优化投影采样 162 6.3 点云超体素分割 164 6.3.1 超体素 164 6.3.2 简单迭代分割方法 165 6.3.3 体素云连接性分割 166 6.3.4 评价指标 168 6.4 目标级别分割 169 6.4.1 目标分割引言 169 6.4.2 基于底层特征的分割 169 6.4.3 基于模型拟合的分割 170 6.4.4 基于深度学习的分割 173 6.5 小结 178 参考文献 179 第7章 点云特征提取和三维配准 183 7.1 点云特征提取 183 7.1.1 点的法向量和曲率特征 184 7.1.2 点特征直方图 184 7.1.3 快速点特征直方图 186 7.1.4 三维Harris特征 187 7.1.5 面向深度学习网络的特征 188 7.2 点云精配准 188 7.2.1 迭代最邻近点算法 188 7.2.2 迭代最邻近点算法拓展 190 7.2.3 正态分布变换算法 192 7.2.4 正态分布变换算法拓展 196 7.3 点云粗配准 198 7.3.1 简单搜索 198 7.3.2 四点一致集4PCS搜索 198 7.3.3 4PCS拓展 200 7.3.4 基于深度学习的粗配准 201 7.4 异源三维数据的配准融合 204 7.4.1 RGBD深度图的配准融合 204 7.4.2 普适的有色点云配准方案 204 7.5 应用举例 205 7.5.1 两组点云配准 205 7.5.2 多组数据配准的误差累计 206 7.5.3 柔性目标的配准 207 7.6 小结 208 参考文献 208 第8章 三维表面建模与网格模型滤波 211 8.1 三维表面网格模型 212 8.1.1 网格数据存储 212 8.1.2 建模算法的分类 215 8.1.3 可视化渲染 216 8.1.4 海量数据的压缩 218 8.2 显式建模方法 219 8.2.1 数据的凸包 219 8.2.2 狄洛尼三角剖分 220 8.2.3 阿尔法形状模型 224 8.3 隐式建模方法 224 8.3.1 隐函数基本思想 225 8.3.2 径向基函数重建 226 8.3.3 移动最小二乘重建 228 8.3.4 泊松表面重建 230 8.3.5 基于行进立方体提取网格 232 8.4 模型网格滤波去噪 234 8.4.1 网格的双边滤波 234 8.4.2 法向量引导滤波 236 8.5 应用举例 238 8.5.1 三维建模 238 8.5.2 网格滤波处理 239 8.6 小结 241 参考文献 242