转载请说明出处:
http://blog.csdn.net/zhubaohua_bupt/article/details/74172831
利用相机进行三维重建已经不是一个新鲜的话题,重建的三维环境用途很广泛,
比如检测识别目标,作为深度学习的输入,视觉SLAM。
目前,比较流行的是单、双目的重建。根据重建的稀疏程度不同,可以分为以下以下几类:
稀疏重建:
通常是重建一些图像特征点的深度,这个在基于特征的视觉SLAM里比较常见,得到的特征点的深度可以用来计算相机位姿。稀疏重建在实际应用,比如检测,避障,不能满足需求。
半稠密重建:
通常是重建图像纹理或梯度比较明显的区域,这些区域特征比较鲜明。半稠密重建在直接法视觉SLAM里比较常见。重建的三维点云相对稠密,可以满足部分应用需求。
稠密重建:
稠密重建是对整个图像或者图像中的绝大部分像素进行重建。与稀疏、半稠密相比,稠密重建对场景的三维信息理解更全面,更能符合应用需求。但是,由于要重建的点云数量太多,相对耗时。
双目重建通常又称之为,立体匹配、双目匹配、双目立体视觉、静态匹配等。
根据所用的相机差异,比如针孔相机、鱼眼相机,实现略有差别。根据重建时匹配方式的不同,又可以分为全局、本全局、局部匹配。OpenCV的GM,SGBM,BM就分别实现了上述算法。
想要了解这方面知识,以上述关键字关键字(立体匹配、双目匹配、双目立体视觉)或(Stereo Matching)搜论文。比如[1][2][3]。其过程可描述如下:
利用左右相机得到的两幅矫正图像,通过一幅图在另一幅图上找匹配,然后根据三角测量原理恢复出环境三维信息。在鱼眼相机的匹配中,也有不矫正图像,直接匹配的做法,这样做需要计算图像极线。
由于整个匹配的过程只需一个时刻的左右图像,所以也有人称为静态立体视觉。
传统的视觉方法(不包括深度学习)单目重建,利用单幅图像不能完成重建,需要时间域上一系列图像。
所以有人也称之为动态立体视觉。根据重建的实时性不同,可以分为离线重建和在线重建。
比如 SFM技术,此技术根据在一段时间内获得的连续图像来重建一个三维环境。中文文献搜(运动恢复结构),英文搜(Structurefrom motion)。
渐进式重建利用下一时刻的图像不断融合之前的三维信息,类似于卡尔曼滤波思想,而且三维重建实际上也是深度重建,因此,渐进式重建也称之为深度滤波。
比如:[4]SVO和[5]REMODE,这两个论文是一个作者,SVO和REMODE有深度滤波详细的过程,并且有开源实现代码。
SVO: https://github.com/uzh-rpg/rpg_svo (深度滤波在depth_filter.cpp里面)
REMODE:https://github.com/uzh-rpg/rpg_open_remode
直接式重建,利用若干个时刻(一般几帧至几十帧)的图像,一次性完成对同一个场景的三维重建。
直接式重建也有人称之为深度融合,有点类似于SFM,与SFM不同的是,参与计算的图像少,实时性较高。
文章[7]是这方面的方法,但代码没有开源,如果比较了解深度滤波原理,这个也容易实现。
[1] Semi-Global-Matching
[2] Stereo Processing by Semi-Global Matchingand Mutual Information
[3] 基于鱼眼相机的立体匹配
[4] C.Forster, M. Pizzoli, and D. Scaramuzza, “SVO: Fast Semi-Direct Monocular VisualOdometry,” in Proc. IEEE Intl. Conf. on Robotics and Automation, 2014.
[5] MatiaPizzoli, Christian Forster, and Davide Scaramuzza. REMODE: Probabilistic,monocular dense reconstruction in real time. In International Conference onRobotics and Automation (ICRA), pages 2609–2616, Hong Kong,China, June 2014.
[6] V. Usenko,J. Engel, J. Stuckler, and D. Cremers. Reconstructing Street-Scenes inReal-Time From a Driving Car
[7] Ra´ulMur-Artal and Juan D. Tard´os Probabilistic Semi-Dense Mapping from HighlyAccurate Feature-Based Monocular SLAM,2015