浅析视觉三维重建技术
验“金”室
在VR/AR、机器人导航、自动驾驶等场景中都需要对物体或场景进行三维建模,而传统的三维建模需要借助专业的Autocad、3Dmax等建模工具完成,对于非专业用户来说难度较大且耗时较长。随着深度学习在计算机视觉领域取得突破性进展,基于深度学习的视觉三维重建技术为非专业用户三维建模提供了新的思路。
一、三维重建定义与分类
三维重建(3D Reconstruction)在计算机视觉中是指根据物体或场景的单视图或多视图的图像重建三维信息的过程,主要通过视觉传感器来获取物体或场景的真实信息,再通过信息处理技术获得物体或场景的三维信息。
根据采集设备是否主动发送测量信号,三维重建方法可分为两大类:主动视觉法和被动视觉法。三维重建方法的分类及优缺点分析见表1。
表1 三维重建方法的分类及优缺点分析
1
主动视觉法
主动视觉法主要利用仪器对物体表面进行扫描,然后通过分析扫描数据,重建物体表面的三维结构,主要包括激光扫描法、结构光法、雷达技术等。
激光扫描法
一般都是利用激光测距原理来进行真实场景或物体的测量。激光测距仪首先发射光束到物体的表面,然后根据接收信号和发送信号的时间差确定物体离激光测距仪的距离,从而获知测量物体的形状。
结构光法
主要通过扫描仪中的光源、光感应器和反射点构成的三角关系并依据三角测量原理来计算目标物体的深度信息,从而实现目标物体的三维重建。
雷达技术
通过发射和接收的光束之间的时间差来计算物体的距离和深度等信息。
2
被动视觉法
被动视觉法只使用摄像机获取二维图像,根据图像的纹理分布等信息恢复深度信息,进而实现三维重建,主要包括运动恢复结构法(Structure From Motion,SFM)和深度学习法。
运动恢复结构法
基于从多个视点获取的多张图像,通过特征匹配算法获得图像中相同像素点的对应关系,然后在利用匹配约束关系,结合三角测量原理,获得空间点的三维坐标信息,进而重建出物体的三维模型。
深度学习法
基于多层卷积层和全连接层组成的卷积神经网络(CNN)对二维图像进行三维模型重建。
二、被动视觉三维重建技术基本原理
相比主动视觉方法,基于被动视觉的三维重建技术具有价格较低、操作简单、实时性较高、对光照要求较低以及对场景没有要求等优点,近年来越来越受到业界的关注。
1
被动视觉法研究方法分析
SFM算法
一个SFM算法的基本流程如图1所示,首先对二维图片进行特征检测以及基于特征点进行匹配,然后估算出摄像机的内参和外参数,接着利用三角形法计算三维点坐标,最后通过非线性优化误差进而得到三维模型数据。
图1 SFM算法基本流程
深度学习法
基于深度学习的三维重建的基本流程如图2所示,主要包括三个部分:图像特征提取(编码)、特征处理以及三维重建(解码)。
图2 基于深度学习的三维重建的基本流程
2
三维物体表达方式
在三维空间中,对三维模型有四种常见的表达方式:深度图(Depth)、点云(Point Cloud)、体素(Voxel)、网格(Mesh)。
深度图
深度图是具有景深信息的三维表示形式,与普通二维图像不同,它存储的数据不是像素点,而是深度值,其深度值表示物体到相机xy平面的距离。
点云
是某个坐标系下的点的数据集,点包含了丰富的信息,包括三维坐标XYZ、强度、颜色等,是目前应用最广泛的三维表示。
体素
是三维空间中的最小单位,相当于二维空间中的像素,一个体素三维模型是以立方体堆积而成的,它本身不具有位置信息,主要通过与其他体素位置的空间相对关系来推算。
网格
包含点边面的三维表示形式,不仅包含空间坐标点,还包括空间中相邻点之间的连接关系,多边形和三角网格在图形学和建模中广泛使用,用来模拟复杂物体的表面,如汽车、动物、人类等。
三、三维重建技术应用与展望
基于视觉的三维重建具有速度快、实时性好等优点,能够广泛应用于机器人、无人驾驶、同步定位与地图构建(SLAM)、虚拟现实等领域,具有重要的研究价值。目前,业界基于视觉的三维重建实际应用以主动视觉和SFM为主。随着卷积神经网络在二维图像的积累,同时基于深度学习的三维重建不需要进行特征提取与匹配以及复杂的几何运算,使得基于深度学习探索三维重建的研究成为热点,但是距离真正应用还有许多问题需要解决。
在数据方面,由于深度学习需要海量的训练数据,目前业界公开的数据集中物体或场景种类比较单一且数量较小,因此训练数据的获取是使用这种方式进行重建的难点之一。
在多物体和复杂环境方面,目前基于深度学习的三维重建技术研究大部分是针对单物体的,针对多物体和复杂环境的重建场景较少,将单物体三维重建拓展到多物体和复杂场景中还有很多研究工作要做。
更多精彩内容
FCC30+
长按左边二维码
关注我们不迷路