【开源方案共享】ORB-SLAM3开源啦!

2020-07-28 15:38:12 浏览数 (3)

标题:ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual-Inertial and Multi-Map SLAM

作者:Carlos Campos∗, Richard Elvira∗, Juan J. Gomez Rodr ´ ´ıguez, Jose M.M. Montiel and Juan D. Tard ´ os

编译:particle

摘要

ORB-SLAM3:这是一个能够使用单目,立体,RGB-D相机,兼容针孔以及鱼眼相机模型进行视觉,视觉 惯导和多地图的SLAM方案。

该方案的创新点:

第一创新点是实现了基于视觉特征与惯导的紧耦合SLAM系统,该系统完全依赖Maximum-a-Posteriori(MAP)估计,即便在初始化阶段也是如此。这种方案无论在小型或者大型室内室外环境中都能够稳定的运行,并且比以前的方法精确了2-5倍。(朋友们?你听到这个结果兴奋吗?可以养活一大批SLAM工作者和企业)

第二个主要的创新是一个多地图的系统,依赖于一种新的位置识别和改进的回环检测,能够保证ORB-SLAM3能够长时间的在特征点不良的环境下有效的运行,并且当它跟丢的时候,就会重新启动一个新的地图,当相机故地重游的时候,系统能够无缝的合并多个地图。

第三个创新点是与一般的视觉里程计只能利用最后相邻几帧图像数据相比,ORB-SLAM3是第一个能够在算法阶段重用所有历史信息的系统,其中包含了共视帧之间的捆集调整(BA),即使共视帧在时间上相差甚远,甚至来自不同的地图,实验表明,在所有的传感器配置中,ORB-SLAM3与文献中可用的最好的系统一样健壮,并且更精确。值得注意的是,我们的立体惯性SLAM在EuRoC无人机上的平均精度为3.6厘米,在TUM-VI数据集(AR/VR场景的一个典型场景)中,快速手持式移动时的平均精度为9毫米。

为了社区的利益,我们公开了源代码

https://github.com/UZ-SLAMLab/ORB_SLAM3

内容简介

在这项工作是建立在ORB-SLAM[2]、[3]和ORBSLAM视觉惯性[4]的基础上,这是第一个能够充分利用短期、中期和长期数据关联的视觉和视觉惯性系统,在地图中能够达到零漂移。并且我们进一步提供了多地图之间的数据关联,它允许我们匹配和使用历史地图中的信息,建立BA地图mark点的优化关系,从而实现SLAM系统的真正目标:构建一个之后可以用来提供精确定位的地图。从上面的表格中是不是感受到了这个系统的强大?

所有这些创新之外,再加上一些代码改进,使ORB-SLAM3成为新的可以参考的视觉和视觉惯导的开源SLAM库,与文献中可用的最好的开源系统一样健壮,并且更加精确。系统还提供了单目、立体、单目惯性和立体惯性SLAM结果之间的比较,这些结果可能会引起从业人员的兴趣。(简而言之就是你们直接用就行了,开不开心?)

ORB-SLAM3是一个完整的多地图系统,能够在纯视觉或视觉惯性模式下工作,使用单目、立体或RGB-D传感器,使用针孔和鱼眼相机模型。上图展示了与ORB-SLAM2具有平行关系的主要模块,并且ORB-SLAM3具有一些显著的新颖性,下面将对其进行总结:

•地图集是由一组断裂的局部地图组成的多个地图。当在跟踪线程在传入的新的图像帧的时,由局部地图线程不断优化和增加新的关键帧,此时构建成一个活动地图。我们把系统中地图集中的其他地图称为非活动地图。该系统建立了一个独特的DBoW2关键帧数据库,用于重定位、闭环检测和地图合并。

•跟踪线程处理传感器图像信息,实时计算当前帧在当前活动地图中的姿态,最大限度地减少匹配地图特征的重投影误差。它还决定当前帧是否成为关键帧。在视觉惯性模式下,通过在优化中加入惯性残差来估计物体速度和惯性惯导的偏差。当跟踪丢失时,跟踪线程将尝试重新定位所有地图集地图中的当前帧。如果重定成功,则继续跟踪,并在需要时切换活动地图。否则,在一段时间后,活动地图将被存储为非活动映射,并从头开始初始化新的活动地图。

•局部地图线程将关键帧和特征点添加到活动地图中,移除多余的关键帧,并使用视觉或视觉惯性捆集调整来优化地图,在最接近当前帧的关键帧的局部窗口中执行。另外,在惯性情况下,利用我们新的MAP估计技术,通过地图线程初始化和优化IMU参数。

•回环和地图合并线程以关键帧速率检测活动地图和整个地图集之间的共视区域。如果共视区域属于活动地图,则执行回环校正;如果共视区域属于不同的地图,则两个地图将无缝合并为一个单独的地图,并成为活动地图。在回环校正之后,在一个独立的线程中启动一个完整的BA,以便在不影响实时性能的情况下进一步地图点优化。

系统中不同优化的因子图表示

局部地图合并融合模块示意图

实验结果与总结

各个数据集上的表现

在[2]-[4]的基础上,我们推出了ORB-SLAM3,这是一个最完整的可视化、视觉惯性和多地图的SLAM开源库,配备了单目、立体、RGB-D、针孔和鱼眼摄像头。我们的主要贡献,除了集成库本身之外,还有快速准确的IMU初始化技术和多地图合并功能,这些功能依赖于一种新的具有改进召回能力的地点识别技术,使ORB-SLAM3非常适合于长期和大规模的SLAM实际应用。

particle测试视频(编译简单,使用方便)

参考文献

[1] C. Cadena, L. Carlone, H. Carrillo, Y. Latif, D. Scaramuzza, J. Neira,I. Reid, and J. J. Leonard, “Past, present, and future of simultaneous localization and mapping: Toward the robust-perception age,” IEEE Transactions on Robotics, vol. 32, no. 6, pp. 1309–1332, 2016.

[2] R. Mur-Artal, J. M. M. Montiel, and J. D. Tardos, “ORB-SLAM: a versatile and accurate monocular SLAM system,” IEEE Transactions on Robotics, vol. 31, no. 5, pp. 1147–1163, 2015.

[3] R. Mur-Artal and J. D. Tardos, “ORB-SLAM2: An open-source SLAM ´system for monocular, stereo, and RGB-D cameras,” IEEE Transactions on Robotics, vol. 33, no. 5, pp. 1255–1262, 2017.

[4] “Visual-inertial monocular SLAM with map reuse,” IEEE Robotics and Automation Letters, vol. 2, no. 2, pp. 796–803, 2017

0 人点赞