ORB-SLAM2: an Open-Source SLAM System for Monocular, Stereo and RGB-D Cameras

1 摘要
我们为单眼,立体和RGB-D相机提供完整的SLAM系统ORB-SLAM2,包括地图重用,闭环检测和重定位功能。 该系统可在各种环境中的标准CPU中实时工作,从小型手持室内序列,到工业环境中飞行的无人机和城市周围的汽车。我们的后端基于捆绑调整,具有单眼和立体观察,可以使用公制尺度进行精确的轨迹估计。我们的系统包括一个轻量级的定位模型,利用未映射区域的视觉测距轨迹,并匹配允许零漂移定位的地图点。29个流行的公共视频序列中的评估表明,我们的方法实现了最好的准确性,在大多数情况下是最准确的SLAM解决方案。 我们发布源代码,不仅是为了SLAM社区的利益,而且还旨在为其他领域的研究人员提供开箱即用的SLAM解决方案。
2 引言
同步定位和映射(SLAM)在过去二十年中一直是计算机视觉和机器人领域的热门研究课题,最近引起了高科技公司的关注。 SLAM技术构建了未知环境的地图,并将传感器定位在地图中,重点关注实时操作。 在不同的传感器模态中,相机便宜并且提供丰富的环境信息,允许稳健和准确的位置识别。 位置识别是SLAM系统闭环检测的关键模块(即,检测传感器何时返回到映射区域并校正探测中的累积误差),并在跟踪失败后由于遮挡或侵略性运动而重新定位摄像机,或者在系统重新初始化。因此,主要传感器是相机的Visual SLAM在过去几年中得到了很大的发展。可以通过仅使用单眼相机来执行Visual SLAM,这是最便宜和最小的传感器设置。然而,由于仅从一个摄像机无法观察到深度,因此地图的比例和估计的轨迹是未知的。此外,系统自己需要多视图或过滤技术​​来生成初始地图,因为它不能从第一帧进行三角测量。最后,单眼SLAM受到水垢漂移的影响,如果在勘探中进行纯旋转,可能会失败。通过使用立体声或RGB-D相机,所有这些问题都得到了解决,并提供了最可靠的Visual SLAM解决方案。
在本文中,我们建立了单眼ORB-SLAM [1],并提出了ORB-SLAM2,其贡献如下:

  • 第一个用于单目,立体和RGB-D摄像机的开源SLAM系统,包括闭环,重定位和地图重用。
  • 我们的RGB-D结果表明,通过使用光纤束调整(BA),我们可以获得比基于ICP或光度和深度误差最小化的最先进方法更高的精度。
  • 通过使用近距离和远距离立体点以及单眼观察,我们的立体图像结果比最先进的直接立体图像SLAM更精确。
  • 轻量级定位给模型,可以有效地重用无法使用的地图。
    图1显示了了立体图像和RGB-D输入的ORB-SLAM2输出示例。立体情况显示了来自KITTI数据集[2]的序列00的最终轨迹和稀疏重建。这是一个具有多个循环闭包的城市序列,ORB-SLAM2能够成功检测到它。
    RGB-D案例显示了从TUM RGB-D数据集[3]在序列fr1房间中估计的关键帧姿势,以及通过从估计的关键帧姿势反向投影传感器深度图来渲染的密集点云。请注意,我们的SLAM不执行任何融合,如KinectFusion [4]或类似,但良好的定义表明关键帧姿势的准确性。更多示例显示在随附的视频2中。
    在本文的其余部分,我们讨论了第二部分的相关工作,我们在第三部分描述了我们的系统,然后在第四部分中给出了评估结果,在第五部分结束了结论。
    在这里插入图片描述
    3 相关工作
    最早和最着名的RGB-D SLAM系统之一是Newcombe等人的KinectFusion。 [4]。该方法将来自传感器的所有深度数据融合成体积密集模型,用于使用ICP跟踪摄像机姿势。由于其体积表示和缺少回环检测,该系统仅限于小型工作空间。
    Whelan等人的Kintinuous。 [12]能够通过使用滚动循环缓冲区在大型环境中运行,并使用位置识别和姿势图包括闭环优化。
    可能第一个流行的开源系统是Endres等人的RGB-D SLAM。 [13]。这是一个基于特征的系统,其前端通过特征匹配和ICP计算帧到帧的运动。后端使用来自启发式搜索的循环闭包约束来执行姿势图优化。类似地,Kerl等人的DVO-SLAM的支持。 [14]优化了一个姿势图,其中关键帧到关键帧约束是从视觉里程计算出来的
    最小化光度和深度误差。
    DVOSLAM还在所有先前帧上以启发式方式搜索循环候选,而不是依赖于位置识别。
    最近的Whelan等人的ElasticFusion。 [15]建立了一个基于表面的环境地图。
    这是一种以地图为中心的方法,它会忘记姿势并执行循环闭合,将非刚性变形应用于地图,而不是标准的姿势图优化。
    该系统的详细重建和定位精度令人印象深刻,但目前的实施仅限于房间大小的地图,因为复杂度随着地图中的表面数量而变化。
    正如Strasdat等人提出的那样。 [8]我们的ORB-SLAM2使用深度信息来合成图像上提取特征的立体坐标。
    这样我们的系统就不知道输入是立体声还是RGB-D。与上述所有方法不同,我们的后端基于束调整并构建全局一致的稀疏重建。
    因此,我们的方法是轻量级的,适用于标准CPU。 我们的目标是长期和全局一致的定位,而不是建立最详细的。
    4 ORB-SLAM2
    用于立体和RGB-D相机的ORB-SLAM2基于我们基于单眼特征的ORB-SLAM [1],其主要组件在此总结,以方便读者。 该系统的一般概述如图2所示。
    该系统有三个主要的并行线程:
    1)跟踪线程:通过找到与局部地图的特征匹配并使用仅运动的BA最小化重投影误差来在每帧定位摄像机,
    2)局部地图构建:管理定位地图并优化它,执行本地BA,
    3)循环闭合以检测大循环并通过执行姿势图优化来校正累积漂移。
    该线程启动第四个线程以执行完整的BA
    系统嵌入了基于DBoW2 [16]的场所识别模块,用于重新定位,在跟踪失败(例如遮挡)或在已经绘图的场景中重新初始化的情况下,以及用于循环检测。
    系统维护一个covisibiliy图[8],它连接观察公共点的任何两个关键帧和连接所有关键帧的最小生成树。
    这些图结构允许检索关键帧的局部窗口,以便跟踪和局部地图构建在本地运行,允许在大型环境中工作,并用作关闭循环时执行的姿势图优化的结构。
    系统使用相同的ORB
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值