2.1 概述
3D视觉涉及传感器、照明设备、计算软件、系统设计、应用端的相机模组及软件开发环境,每个环节都有巨大的科研和经济潜力。巧妇难为无米之炊,丰富可靠的数据是研究与开发的前提。为了获取3D数据,走进3D世界,本章将与大家一起学习和了解3D相机及对应的开发平台。
在了解各种3D相机之前,本节先为读者简单介绍一下光学测量的分类。光学测量的方法分为主动测距法和被动测距法,如图2.1-1所示。顾名思义,主动测距法就是人为地、主动地发射能量信号,利用物体表面的反射特性及信号的传播特性实现对物体3D信息的测量;被动测距法没有人为的信号发射过程,而是利用自然光在物体表面反射形成的2D图片进行3D重建。实际上,随着技术的不断发展,为了适应昏暗的环境,有些双目相机也增加了主动光源进行补光,以提高测量精度和扩大测距范围,但我们认为这种光源在测距过程中并未起到直接的作用,所以我们仍然把带有补光光源的双目相机归为被动测距的范畴,在本书中,我们讨论的双目相机均指普通的无补光光源的双目相机。
图2.1-1 光学测量方法的分类
按照相机的数量,被动测距法分为单目测距法、双目测距法和多目测距法。其中,单目测距法有两种,一种是聚焦法,一种是离焦法,聚焦法利用相机焦距可变的特性,变化焦距使被测量物体处于聚焦位置,然后利用成像公式计算出被测量物体与相机之间的距离;离焦法则不需要被测量物体处于聚焦位置,而是根据标定好的离焦模型计算物体与相机之间的距离。双目测距法是在两个视点观察同一个场景,然后利用匹配算法计算两个图像像素的位置偏差来进行3D测距。多目测距法可以理解为双目测距法的一种扩展,就是在多个视点观察同一个场景,进行多次匹配计算以实现距离的测量。单目测距法简单、成本低廉,但存在精度不高、测量范围小等问题;双目立体视觉与人眼结构类似,因此双目测距法测距精准;多目测距法虽然精度更高,但是匹配也更复杂,多个相机的摆放也更困难。综合考虑精度和复杂度,目前被动测距的主流方法是双目测距法,所以我们对双目相机进行详细讲解,具体在2.2节中介绍。
主动测距法根据测距原理分为结构光法、飞行时间法和激光三角测距法。激光三角测距法利用主动光源、被测物体和检测器的几何成像关系来确定被检测物体的空间坐标,该方法主要用于工业级应用;结构光法可以根据投用光束的形态分为光点法、光条法和光面法,光面法是目前应用较广的方法;飞行时间(ToF)法是将激光信号发射到物体表面上,通过测量接收信号与发射信号的时间差计算物体表面到相机的距离。基于以上两种原理的相机目前已经成为消费级产品。我们将分别在2.3节和2.4节对两种消费级3D相机——结构光相机和ToF相机进行详细介绍。
每种测距方法都有自己的特性,在不同应用场景下具有明显的优劣势,我们应该根据实际需求选择合适的3D相机来获取数据。希望通过本章的介绍,能够让大家了解一些常用3D相机传感器的技术原理、存在的误差及校正方法,并通过对比其特性,了解各自适用的场景。
只有高精度、高性能的硬件设备是远远不够的,如何获取3D数据,并将其真正地应用于科研、工业等领域呢?想要实现这些,我们还需要有成熟稳定的开发与应用平台,本章的2.6节将会为大家介绍适用于各种3D相机的开发平台——DMAPP开发平台。