来源 | 郑太雄, 黄帅, 李永福, 冯明驰. 基于视觉的三维重建关键技术研究综述. 自动化学报, 2020, 46(4): 631-652. doi: 10.16383/j.aas.2017.c170502
三维重建经过数十年的发展, 已经取得巨大的成功。基于视觉的三维重建在计算机领域是一个重要的研究内容, 主要通过使用相关仪器来获取物体的二维图像数据信息, 然后, 再对获取的数据信息进行分析处理, 最后, 利用三维重建的相关理论重建出真实环境中物体表面的轮廓信息。基于视觉的三维重建具有速度快、实时性好等优点, 能够广泛应用于人工智能、机器人、无人驾驶、SLAM (Simultaneous localization and mapping)、虚拟现实和3D打印等领域。三维重建技术的分类方法如下图所示:
三维重建技术的分类
三维重建技术优缺点对比一览
基于主动视觉的三维重建技术
基于主动视觉的三维重建技术主要包括激光扫描法、结构光法、阴影法和TOF技术、雷达技术、Kinect技术等。
1、激光扫描法
激光扫描法其实就是利用激光测距仪来进行真实场景的测量。首先, 激光测距仪发射光束到物体的表面, 然后, 根据接收信号和发送信号的时间差确定物体离激光测距仪的距离, 从而获得测量物体的大小和形状。
2、结构光法
结构光法的原理是首先按照标定准则将投影设备、图像采集设备和待测物体组成一个三维重建系统; 其次, 在测量物体表面和参考平面分别投影具有某种规律的结构光图; 然后再使用视觉传感器进行图像采集, 从而获得待测物体表面以及物体的参考平面的结构光图像投影信息; 最后, 利用三角测量原理、图像处理等技术对获取到的图像数据进行处理, 计算出物体表面的深度信息, 从而实现二维图像到三维图像的转换。按照投影图像的不同, 结构光法可分为:点结构光法、线结构光法、面结构光法、网络结构光和彩色结构光。
3、阴影法
阴影法是一种简单、可靠、低功耗的重建物体三维模型的方法。这是一种基于弱结构光的方法, 与传统的结构光法相比, 这种方法要求非常低, 只需要将一台相机面向被灯光照射的物体, 通过移动光源前面的物体来捕获移动的阴影, 再观察阴影的空间位置, 从而重建出物体的三维结构模型。
4、TOF技术
TOF (Time of flight)法是主动测距技术的一种, 可从发射极向物体发射脉冲光, 遇到物体反射后, 接收器收到反射光时停止计时, 由于光和声在空气中的传播速度是不变的, 从而通过发射到接收的时间差来确定物体的距离, 进而确定产生的深度信息, 其原理如下式所示:
其中,
λ
表示脉冲的波长; 表示波长的个数; 表示脉冲返回时的相位; 表示物体离发射之间的距离。
5、雷达技术
雷达作为一种很常见的主动视觉传感器, 可以通过发射和接收的光束之间的时间差来计算物体的距离、深度等信息。原理如下式所示:
式中,
c
为光速; Δt为发射与接受的时间间隔; 表示雷达到物体之间的距离。
6、Kinect技术
Kinect传感器是最近几年发展比较迅速的一种消费级的3D摄像机, 它是直接利用镭射光散斑测距的方法获取场景的深度信息,Kinect传感器如下图所示.Kinect传感器中间的镜头为摄像机, 左右两端的镜头被称为3D深度感应器, 具有追焦的功能, 可以同时获取深度信息、彩色信息、以及其他信息等。Kinect在使用前需要进行提前标定, 大多数标定都采用张正友标定法。
基于被动视觉的三维重建技术
1、根据相机数目分类
基于被动视觉的三维重建技术是通过视觉传感器(一台或多台相机)获取图像序列, 进而进行三维重建的一种技术。这种技术首先通过视觉传感器(一台或多台相机)获取图像序列, 然后提取其中有用的信息, 最后, 对这些信息进行逆向工程的建模, 从而重建出物体的三维结构模型。
1.1 单目视觉法
单目视觉是仅使用一台相机进行三维重建的方法,为了进一步表示空间中任意一个三维点
P
在世界坐标系转换到二维图像坐标系之间的关系, 关系坐标可以表示为:
其中, (XW,YW,ZW)为空间中的三维点; (R t)称为旋转矩阵和平移向量;
f
x
和
f
y
是摄像机在两个方向上的焦距; (u0,v0)是摄像头主点在图像坐标系下的坐标; (u,v)是图像坐标系下的坐标; 从而通过上式可以求解出任意空间一点的三维坐标.基于单目视觉的三维重建流程如下图所示。
1.2 双目视觉法
双目视觉的工作原理来源于人类的双目视觉系统, 也就是说从不同的视角通过两个相同的相机捕获同一个位置下的左右两侧图像, 然后再利用三角测量原理获取物体的深度信息, 通过这些深度信息重建出物体的三维模型。目前, 基于双目视觉的三维重建方法是三维重建技术中的热点和难点。
1) 平行式光轴双目视觉系统是比较理想的一种系统.在平行式光轴视觉系统中, 左右相机互相对齐, 它们的光轴也要互相平行, 形成一个共面的成像平面.由于左右相机只在轴上的位置不同, 而焦距等其他参数是相同的, 因此, 左右相机拍摄的同一物点所成的像分别在左右两图像上对应的对集线上, 可以较好的实现立体匹配。
2) 汇聚式光轴双目视觉系统是将平行式光轴双目视觉系统中的左右相机分别绕光心顺时针和逆时针旋转一定角度, 从而形成汇聚式双目视觉系统。
1.3、多目视觉法
多目视觉是双目视觉的一种延伸, 它是在双目视觉的基础上, 增加一台或者多台摄像机作为辅助进行测量, 从而获得不同角度下同一物体的多对图像。多目视觉法大多数的理论与双目视觉法是相同的, 唯一不同的是, 多目视觉采用了三个或三个以上的摄像头进行环境中目标物体的获取.多目视觉的优点是当测量物体的表面倾斜的角度太大导致其中的一个或两个CCD摄像机不能接收到漫反射光时, 其他的摄像机可继续工作。
2、根据匹配方法分类
三维环境重建技术一直是机器视觉和数字图像处理领域的重点研究对象, 众多学者针对三维环境重建提出了很多不同的算法。而图像特征信息匹配的质量在三维环境重建过程中起着十分关键的作用。图像特征信息的匹配首先提取待重建图像的匹配信息, 并使用相应的算法在提取出的匹配信息集中寻找最佳匹配集, 根据最佳匹配集求解变换模型。根据匹配的方法不同可以分为区域视觉法和特征视觉法。
2.1 区域视觉法
区域视觉法就是基于区域立体匹配算法的三维重建技术。该算法利用对极几何约束和连续性, 提高了稠密匹配的效率和三维重建的质量。
2.2 特征视觉法
基于特征视觉的三维重建技术其实就是通过相机获取二维图像, 然后提取图像中的角点作为特征点, 以双目立体视觉理论为基础, 利用匹配算法, 获得特征点匹配对, 再通过三角测量原理获取深度值, 从而获得物体表面的三维模型。
3、根据应用方法分类
基于被动视觉的三维重建技术根据所选取方法不同, 所重建的效果有明显差别, 但每种方法都有不同的优点和缺点。因此, 根据应用方法可以分为运动恢复结构法和机器学习法。
3.1 运动恢复结构法
如果获取的图像是从多个视点捕获的多张图像, 可以通过匹配算法获得图像中相同像素点的对应关系, 再利用匹配约束关系, 结合三角测量原理, 获得空间点的三维坐标信息, 进而重建出物体的三维模型。这个过程被称为运动恢复结构法, 即SfM (Structure from motion)。运动恢复结构法是通过三角测量原理来恢复场景的三维结构.这种方法不仅是三维重建的一种重要手段, 而且也是一种结构测量的方法, 能够广泛地应用在测绘、军事侦查等领域.目前SfM主要分为两类:增量式SfM 和全局式SfM 。
3.2 机器学习法
机器学习其实就是使机器具有学习的能力, 从而不断获得新知识以及新技能得到有效提升.机器学习在三维环境重建中一直是重点研究对象, 因此, 根据机器学习可以分为常用的三种方法, 分别是统计学习法、神经网络法和深度学习与语义法。
1) 统计学习法:
就是需要通过不断地学习再学习的过程.该方法是以大型数据库为基础, 例如, 人脸数据库、场景数据库等.首先, 这种方法需要对数据库中的每一个目标进行特征统计, 这些特征主要包括亮度、纹理、几何形状、深度等, 然后, 再对重建目标的各种特征建立概率函数, 最后, 计算重建目标与数据库中相似目标的概率大小, 取概率最大的目标深度为重建目标的深度, 再使用差值计算和纹理映射进行目标的三维重建。
2) 神经网络法:
基于神经网络法的三维重建是利用神经网络具有较好的泛函逼近能力, 能够以任意的精度逼近任何非线性关系的优点来进行三维重建。
3) 深度学习与语义法:
基于深度学习的三维重建最近几年取得了非常大进展, 是当前计算机视觉领域比较流行的方法之一。学习系统是由多层卷积层和多层全连接层组成的卷积神经网络(CNN)进行学习图像的层次化特征表示, 这种方法能够精确地重建出物体的几何形状。基于语义的三维重建可以运用在移动的行人或车辆等大的场景, 这种方法能够精确地对环境中的目标物体进行识别, 而深度学习技术也是最近几年刚刚兴起的比较有优势的识别方法, 因此, 深度学习和语义相结合的三维重建是未来几年的研究趋势, 也会受到该领域的研究者们广泛关注。