基于Kinect v2的室内三维场景重建技术文献综述

 2022-09-24 14:51:17

文献综述(或调研报告):

最初,对同时定位与地图构建(SLAM)的研究更多地集中于基于单个商品传感器-单目RGB相机的实时无标记跟踪和实时场景重建。这种“单目SLAM”系统,如MonoSLAM [1]和并行跟踪和地图构建(PTAM)系统等,使研究人员能够灵活地研究无基础设施和无标记AR的应用。MonoSLAM以扩展卡尔曼滤波为后端,追踪前端非常稀疏的特征点。由于EKF在早期SLAM中占据着明显主导地位,所以MonoSLAM亦是建立在EKF的基础之上,以相机的当前状态和所有路标点为状态量,更新其均值和协方差。从现代的角度来看,MonoSLAM存在诸如应用场景很窄,路标数量有限,系数特征点非常容易丢失的情况,这些系统用来进行实时地图构建的时候,它们生成的稀疏点云模型只能支持基本的场景重建,所以对它的开发也已停止。后来出现了将PTAM的手持相机跟踪功能和稠密表面MVS型重建模块相结合的系统,研究人员进而实现了更复杂的遮挡预测和表面交互功能。在这一系列研究中,针对稠密重建的迭代图像对齐法也被用来替代点特征法[3] 来跟踪相机。虽然在AR领域中这项工作非常有前途,但对于被动单目系统来说实时稠密场景重建仍然是一个很大的挑战,因为该系统只有在正确获知相机运动和场景照明合适的情况下才能正常工作。

在估算相机姿态和从图像中提取几何图形的算法逐步发展的同时,相机技术也在不断发展,基于飞行时间(ToF)和结构光感应的新型深度相机已经能够为集成设备提供稠密的深度测量值。随着微软Kinect的到来,这种传感技术的使用一下子达到了消费者级别,现在配备这种传感器的SLAM和AR的前景是非常可观的。Newcombe R A [4]的系统使用Kinect传感器提供的所有实时数据代替抽象特征子集来连续跟踪传感器的姿态,并将深度测量结果集成到全局稠密立体模型中。这个系统的新颖之处在于它能够以30Hz的帧速率执行跟踪,并始终与最新的融合立体模型保持相关性,而且系统仅通过使用深度数据就可以在完全黑暗的环境中工作,解决了有关弱光条件、被动式相机缺陷和RGB-D系统的问题。

大多数SLAM算法都要求能够以连续,实时的方式生成自洽场景图并进行无漂移的传感器跟踪。早期能够处理大量图像的SFM算法要么在跟踪摄像机运动的时候不断积累漂移[5],要么需要使用离线优化来实现闭环控制。之后研究人员基于对相机和场景特征位置估计的联合状态的概率滤波,实现了第一个能够用手持相机实时生成全局一致地图的“单目SLAM”系统。后来人们发现放弃全概率状态的传递而交替或者并行地运行两个线程是个很好的选择,因为跟踪部分需要实时相应图像数据,而对地图的优化则没有必要实时地计算。后台优化可以在后台慢慢进行,然后在必要的时候进行线程同步即可。这种设想由PTAM系统率先推出,其中线程分别为跟踪和建图:跟踪是在假设当前场景模型完全准确的情况下估计传感器的姿态,而建图使用全局优化来改进和扩展地图。PTAM的分割跟踪和映射的原则还可以进一步扩展,因为它允许灵活地选择组件用于每个线程。R. A. Newcombe[3]在单目相机和选定帧之间进行稠密变分光流匹配来重建一个深度图补丁以形成一个稠密的现场场景模型。 J. Stuehmer[6]介绍了另一个具有相似想法的系统,其进一步演示了近似实时深度地图的构建。PTAM是第一个使用非线性优化,而不是使用传统的滤波器作为后端的方案。它引用关键帧机制:研究人员不必精细地处理每一幅图像,而是把几个关键图像串起来,然后优化其轨迹和地图。

ORB-SLAM[8]是PTAM的继承者中非常有名的一位,它的亮点在于它的回环检测。优秀的回环检测算法保证了ORB-SLAM有效地防止积累误差,并且在丢失之后还能迅速找回,这一点许多现有的系统都不够完善。为此,ORB-SLAM在运行之前必须加载一个很大的ORB字典文件。除此之外ORB-SLAM创新式地使用了三个线程完成SLAM:实时跟踪的Tracking线程,局部Bundle Adjustment的优化线程以及全局Pose Graph的回环检测与优化线程。这种三线程结构取得了非常好的跟踪和建图效果,能保证轨迹与地图的全局一致性。这种三线性结构也将被后继的研究者认同和采用。

为了对单个物体进行精细的重建,人们最初在图形领域中开发了一些可以通过扫描对准获得全部6个自由度(机器人姿态)和表面重建(环境映射)的有用算法。最重要的一类算法是以“Dense tracking and mapping in real-time”[3]中引入的ICP(迭代最近点)概念为基础的,它将数据对准作为一个非线性优化问题,使用上一次迭代扫描之间的最近点来近似扫描之间的对应关系。其中点到面是如今使用最为广泛的方法,它以点到匹配点表面距离最近为原则寻找对应点。这种方法在场景比较复杂时也能具有较高的配准速度和准确性。根据地图形式的不同,也存在着若干不同的主流建图方式。最直观、最简单的方法,就是根据估算的相机位姿,将RGB-D的数据转化成点云,然后进行拼接,最后得到一个由离散的点组成的点云地图。如果知道地图的障碍物信息并在地图上导航,亦可通过体素建立占据网格地图。

最近,SLAM的工作重点主要集中在在大规模重建(映射),包括令人印象深刻的依靠3D激光测距和使用八叉树扩展到大体积重建的Octomap算法[9]。八叉树是一种灵活的、压缩的、又能随时更新的地图形式,比点云节省了大量的存储空间,因此可以有效地建模较大的场景。结合深度表示的RGB-D方法也随着经济实惠的Microsoft Kinect RGB-D传感器的出现而出现,如Kinect Fusion、Dynamic Fusion、Elastic Fusion等。其中在“Real-time simultaneous localisation and mapping with a single camera”[1]中引入的截断符号距离函数(TSDF),与八叉树相似,也是一种网格形式的地图,其选定要建模的三维空间,按照一定的分辨率将这个空间分成许多小块,存储每个小块的内部信息。每个TSDF体素内,存储了该小块与距其最近的物体表面的距离。如果小块在该物体的前方,他就有一个正的值,反之,如果该小块位于表面之后那么就为负值。则TSDF为0的地方就是表面本身,或者由于数值误差的存在,TSDF由负号变成正号的地方就是表面本身。

除此之外,基于线/面特征的SLAM/动态场景下的SLAM、多机器人的SLAM【8】等等,都是研究人员感兴趣并发力的地方。在视觉SLAM领域中,我们正处于完善算法的快速时代。

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。