MonoRGBD-SLAM:基于单目和RGBD的同时定位与建图

泡泡图灵智库,带你精读机器人顶级会议文章
标题:MonoRGBD-SLAM: Simultaneous Localization and Mapping Using Both Monocular and RGBD Cameras
作者:Khalid Yousif, Yuichi Taguchi, and Srikumar Ramalingam
来源:ICRA 2017
编译:博主
欢迎个人转发朋友圈;其他机构或自媒体如需转载,后台留言申请授权


摘要

大家好,今天为大家带来的文章是——MonoRGBD-SLAM:基于单目和RGBD的同时定位与建图,该文章发表于ICRA 2017。
基于RGBD的SLAM系统已经展示了非常优秀的效果,但是帧间的匹配受到了视角(FOV)和深度范围的制约。而基于单目的SLAM系统则完全克服了RGBD-SLAM的缺点,具有更大的视角,且没有深度范围的制约,然而其最主要的缺点无法处理底纹理场景。
因此,在本文中作者集各家之长,提出了一种MonoRGBD-SLAM系统。本文的系统分别从RGBD帧上提取3D特征和从单目影像上提取2D特征,这些特征能够完成RGBD-RGBD、RGBD-Mono的匹配。同时为了补偿RGBD传感器和单目相机传感器之间视角和分辨率的差异,本文从单目相机传感器生成了多张虚拟影像,并在此基础上进行RGBD-Mono的匹配。
另一方面,为计算帧的位姿,本文创建了一个graph,其中每一个节点表示RGBD帧和单目影像帧,节点间的边表示节点间的匹配关系。在全局位姿计算方面,首先是从graph中找到最小生成树,然后去掉其中明显错误的边,最后再进行BA完成全局位姿的调整。
实验证明本文的系统明显比纯RGBD-SLAM更优,并且还可进一步用于大尺度的三维重建。


主要贡献

本文的主要研究点在于融合多种传感器对SLAM质量的改善,其主要贡献如下:

   1. 本文对比分析了RGBD-SLAM和Mono-SLAM各自的优缺点,并在此基础上提出了融合两者的RGBDMono-SLAM系统;
   2. 本文提出了虚拟影像的方式来改善RGBD和Mono之间的匹配质量;
   3. 本文提出了一种最小生成树的算法,能够快速提供初值,并且进而利用BA进行优化。

算法流程

这里写图片描述
图1 RGBDMono-SLAM系统的整体框架。值得注意的是本文的系统更依赖使用RGBD,而单目影像可以仅仅在RGBD-RGBD匹配困难的区域采集。

基于序列RGBD帧的Graph创建

基于序列RGBD帧的匹配是本文系统的第一步,其主要工作是将每一个RGBD帧作为一个节点,并将RGBD-RGBD的匹配关系作为节点之间的边。每个RGBD帧都与临近5帧匹配进行匹配,首先用SIFT匹配,然后用互信息检查,最后进行3D-3D匹配。

最小生成树

基于匹配创建的Graph只包含了帧间的变换关系,为了得到所有帧在同一个基准下的坐标,本文首先根据节点之间的连接关系将初始graph分割成不同的sub-graph,然后在此基础上进行最小生成树的计算。下图展示了最小生成树的一个展示结果,其中初始graph被分割成了3个子图,其中红色的边是最小生成树的边。
这里写图片描述
图2 基于sub-graph的最小生成树

RGBD-单目约束

单目影像约束是为了克服RGBD传感器的限制而提出的,但是其核心难点在于如何匹配RGBD和单目影像。本文的思路在于在单目影像的基础上生成一系列类似RGBD的影像。下图3展示了虚拟影像的产生过程,下图4则是一个对应的生成结果。
这里写图片描述
图3 虚拟影像的生成过程
这里写图片描述
图4 虚拟影像的生成结果,其中(a)是原始影像,(b)是去畸变影像,(c)是生成的虚拟影像,(d)是同一个场景下的RGBD影像。

边检查

考虑到节点之间的匹配关系都是边约束,但是这些边之间必然存在一些由于错误匹配而产生的错误边,因此必须进行边检查,并删除掉不合适的边。其核心原理在于检查边间的变换关系,其公式如下:
这里写图片描述

BA优化

大家都是老朋友了,BA就不解释了~


主要结果

本文利用RGBDMono-SLAM完成了整层楼的重建,RGBD传感器使用了分辨率为640×480的Asus Xtion,单目使用了分辨率为1920×1080的GoPro Hero 3,计算平台是笔记本电脑,总共采集了3222帧RGBD数据,2656帧单目相机。
这里写图片描述
图5 重建结果


这里写图片描述

猜你喜欢

转载自blog.csdn.net/u012348774/article/details/82557768