【泡泡三分钟】MonoRGBD-SLAM:一种结合单目相机和RGBD相机的SLAM系统

2018 年 5 月 30 日 泡泡机器人SLAM

每天一分钟,带你读遍机器人顶级会议文章

标题:MonoRGBD-SLAM: Simultaneous Localization and Mapping UsingBoth Monocular and RGBD Cameras

作者:Khalid Yousif, Yuichi Taguchi, Srikumar Ramalingam

来源:International Conference on Robotics and Automation(ICRA2017)

播音员:王肃

编译:杨健博

欢迎个人转发朋友圈;其他机构或自媒体如需转载,后台留言申请授权


摘要

       大家好,今天为大家带来的文章是——MonoRGBD SLAM:一种结合单目相机和RGBD相机的SLAM系统,该文章发表于ICRA2017。


       RGBD-SLAM受限于RGBD相机有限的FOV和深度测量范围,在做距离较远的帧之间的配准时仍然存在着问题。单目SLAM系统可以扩展到广角相机以增加FOV,但是不能获取深度信息,所以对于缺少纹理的场景仍然是不稳定的。本文提出的SLAM系统使用RGBD相机和广角相机并将两者的优势结合起来。系统通过RGBD相机提取3D点特征,通过单目相机影像提取2D点特征,然后用这些特征点实现从RGBD到RGBD和从RGBD到单目影像的配准。为了弥补相机FOV和分辨率的不同造成的影响,为每张广角单目相机的影像做了多张虚拟影像并且在虚拟影像上使用特征描述子来实现RGBD到单目影像的配准。为了计算各帧之间的位姿,先构造图,图的节点表示RGBD和单目相机的位置,边表示节点之间的配准结果。我们通过以下方法计算节点的全局位姿:首先生成图的minimum spanning trees (MSTs,最小生成树), 然后使用MST结果对因错误匹配造成的不连续位姿进行裁剪。我们使用最终的连续位姿在图上进行Bundle Adjustment(光束法平差,捆集调整)。实验结果表明系统在大范围的三维场景下,比单个RGBD相机进行三维重建效果更好。

主要贡献

       1. 提出了一个利用广角相机和RGBD相机做SLAM的系统,比较单个RGBD SLAM更加鲁棒。

       2.提出一种为广角相机生成多张虚拟影像以提高特征提取匹配和闭环检测精度的算法。

        广角相机影像在纠正畸变后由于透视投影的原因外围区域也会被拉伸,可能会造成特征点描述子不一致,通过创建不同的投影平面为广角相机影像生成虚拟图像,虚拟图像的特征描述子保留较完整,不易受到鱼眼镜头的外围投影畸变所影响,原理如图1所示。

图1 虚拟影像生成原理

         3. 提出一种基于最小生成树(MST)的匹配不同帧的算法,这种算法可以提供一个较好的初始解,之后会利用bundle adjustment进行修正。

算法流程

图2. MonoRGBD-SLAM系统流程图

第一步:RGBD-RGBD序列影像进行匹配并构造初始图

            节点:不同帧的位置。

            边:不同帧间的匹配结果。提取SIFT特征通过最邻近原则进行粗匹配,设置一个固定阈值进行RANSAC ,如果得到匹配成功的特征点数超过预先定义的值,则将这条边加入图中。

图3 由初始图生成的MST,字母为节点,红线为根据边权重计算的最小生成树

第二步通过边的权重值构造生成树

第三步加入RGB-Mono匹配

            对广角相机影像生成多张虚拟影像并提取SIFT特征,基于VLAD提供图像检索,对于每张虚拟影像选取n张最相似的RGBD影像作为候选,然后对候选影像做P3P RANSAC配准,之后将Mono的位置和其与RGBD的匹配结果作为边加入图。文章中为了避免点重复,存在map points可以投影到多张虚拟影像时只选择其中一张进行投影。

第四步加入RGBD-RGBD匹配

             对于之前没有加入图的RGBD影像以同样基于VLAD的方法选取并做RANSAC筛选,成功的RGBD-RGBD匹配作为边加入图中。

第五步更新最小生成树

第六步:验证边

            图的边由初始的RGBD-RGBD,基于VLAD的RGBD-Mono和RGBD-RGBD匹配结果构成,比较通过图的边和最小生成树计算的相对位姿剔除错误的匹配结果。

第七部:Bundle Adjustment

           文章介绍直接最小化投影误差的2D像素点做BA效果不佳,所以把选出来的符合要求的点的三维坐标从RGBD投影到广角相机影像上。同一特征点如果有来自多个RGBD影像的坐标,则求其平均值得到特征点的坐标。然后做最小化3D点之间距离的BA。

第八步:稠密建图

           通过上述方法得到的是稀疏点云,然后用优化后的相机位姿和轨迹将相应的RGBD影像加入全局地图得到最终的稠密建图结果。

主要结果

        文章结果主要针对上述三点贡献:

        1. 计算最小生成树并剪枝有利于去除因缺少纹理造成错误匹配的不连续位姿。

图4 使用实际数据计算的最小生成树

          2.生成虚拟影像对于RGBD-Mono的匹配结果提升较大。

图5 RGBD-SLAM与生成虚拟影像和不生成虚拟影像的MonoRGBD-SLAM对比

          3.最小化三维特征点间距离的BA比最小化二维像素点的投影误差的BA效果更好

图6 左上图为使用虚拟影像的MST结果,右上图为3D-3D BA的结果,左下图为3D-2D BA的结果,右下图为RGBD-SLAM的结果

         4.文章最后提到整体算法实时性较差,且使用全部帧而不是关键帧进行计算,系统有待改进。

Abstract

       RGBD SLAM systems have shown impressiveresults, but the limited field of view (FOV) and depth rangeof typical RGBD cameras still cause problems for registeringdistant frames. Monocular SLAM systems, in contrast, canexploit wide-angle cameras and do not have the depth rangelimitation, but are unstable for textureless scenes. We presenta SLAM system that uses both an RGBD camera and awide-angle monocular camera for combining the advantagesof the two sensors. Our system extracts 3D point features fromRGBD frames and 2D point features from monocular frames,which are used to perform both RGBD-to-RGBD and RGBDto-monocularregistration. To compensate for different FOVand resolution of the cameras, we generate multiple virtualimages for each wide-angle monocular image and use thefeature descriptors computed on the virtual images to performthe RGBD-to-monocular matches. To compute the poses of theframes, we construct a graph where nodes represent RGBD andmonocular frames and edges denote the pairwise registrationresults between the nodes. We compute the global poses of thenodes by first finding the minimum spanning trees (MSTs) ofthe graph and then pruning edges that have inconsistent posesdue to possible mismatches using the MST result. We finallyrun bundle adjustment on the graph using all the consistentedges. Experimental results show that our system registers alarger number of frames than using only an RGBD camera,leading to larger-scale 3D reconstruction.


如果你对本文感兴趣,想要下载完整文章进行阅读,可以关注【泡泡机器人SLAM】公众号


点击阅读原文,即可获取本文下载链接。

欢迎来到泡泡论坛,这里有大牛为你解答关于SLAM的任何疑惑。

有想问的问题,或者想刷帖回答问题,泡泡论坛欢迎你!

泡泡网站:www.paopaorobot.org

泡泡论坛:http://paopaorobot.org/forums/


泡泡机器人SLAM的原创内容均由泡泡机器人的成员花费大量心血制作而成,希望大家珍惜我们的劳动成果,转载请务必注明出自【泡泡机器人SLAM】微信公众号,否则侵权必究!同时,我们也欢迎各位转载到自己的朋友圈,让更多的人能进入到SLAM这个领域中,让我们共同为推进中国的SLAM事业而努力!

商业合作及转载请联系liufuqiang_robot@hotmail.com

登录查看更多
3

相关内容

即时定位与地图构建(SLAM或Simultaneouslocalizationandmapping)是这样一种技术:使得机器人和自动驾驶汽车等设备能在未知环境(没有先验知识的前提下)建立地图,或者在已知环境(已给出该地图的先验知识)中能更新地图,并保证这些设备能在同时追踪它们的当前位置。
基于视觉的三维重建关键技术研究综述
专知会员服务
160+阅读 · 2020年5月1日
3D目标检测进展综述
专知会员服务
191+阅读 · 2020年4月24日
专知会员服务
41+阅读 · 2020年2月20日
专知会员服务
86+阅读 · 2019年12月13日
【泡泡一分钟】视觉SLAM为什么需要光束平差法
泡泡机器人SLAM
10+阅读 · 2019年9月12日
【泡泡图灵智库】Visual SLAM: 为什么要用BA(ICRA)
泡泡机器人SLAM
50+阅读 · 2019年7月11日
【泡泡一分钟】变化环境下激光地图辅助视觉惯性定位
泡泡机器人SLAM
15+阅读 · 2019年5月22日
【泡泡图灵智库】LIMO: LiDAR-单目相机视觉里程计(arXiv)
泡泡机器人SLAM
48+阅读 · 2019年5月14日
【泡泡一分钟】视觉(-惯性)里程计定量轨迹评估教程
泡泡机器人SLAM
35+阅读 · 2019年1月27日
【泡泡一分钟】用于平面环境的线性RGBD-SLAM
泡泡机器人SLAM
6+阅读 · 2018年12月18日
【泡泡一分钟】动态环境下稳健的单目SLAM
泡泡机器人SLAM
13+阅读 · 2018年3月22日
Monocular Plan View Networks for Autonomous Driving
Arxiv
6+阅读 · 2019年5月16日
Structure Aware SLAM using Quadrics and Planes
Arxiv
4+阅读 · 2018年8月13日
Arxiv
4+阅读 · 2017年11月4日
VIP会员
相关资讯
【泡泡一分钟】视觉SLAM为什么需要光束平差法
泡泡机器人SLAM
10+阅读 · 2019年9月12日
【泡泡图灵智库】Visual SLAM: 为什么要用BA(ICRA)
泡泡机器人SLAM
50+阅读 · 2019年7月11日
【泡泡一分钟】变化环境下激光地图辅助视觉惯性定位
泡泡机器人SLAM
15+阅读 · 2019年5月22日
【泡泡图灵智库】LIMO: LiDAR-单目相机视觉里程计(arXiv)
泡泡机器人SLAM
48+阅读 · 2019年5月14日
【泡泡一分钟】视觉(-惯性)里程计定量轨迹评估教程
泡泡机器人SLAM
35+阅读 · 2019年1月27日
【泡泡一分钟】用于平面环境的线性RGBD-SLAM
泡泡机器人SLAM
6+阅读 · 2018年12月18日
【泡泡一分钟】动态环境下稳健的单目SLAM
泡泡机器人SLAM
13+阅读 · 2018年3月22日
Top
微信扫码咨询专知VIP会员