1.ORB-SLAM3论文重点导读及整体算法流程梳理

发布时间 2023-04-26 16:32:04作者: gary_123

摘要

ORB-SLAM3是第一个能够执行纯视觉、视觉-惯导以及多地图的SLAM系统,可以在单目,双目以及RGB-D相机上使用针孔以及鱼眼模型。

本文主要新颖之处在于基于特征的VIO紧耦合系统,该系统完全依赖于最大后验估计,即使在IMU初始化阶段也是如此。本系统在小型和大型、室内和室外环境中实时稳定运行,并且比以前的方法准确两到十倍。

第二个主要新颖之处是一个多地图系统,它依赖于一种新的具有改进召回率的地点识别方法。ORB-SLAM3能够在长时间的不好视觉信息中继续运行:当它丢失时,它会启动一个新的地图,在重新访问地图区域时,该地图将与以前的地图无缝合并。与只使用最后几秒信息的视觉里程计系统相比,ORB-SLAM3是第一个能够在所有算法阶段重用所有先前信息的系统。

我们的实验表明,在所有传感器配置中,ORB-SLAM3与文献中可用的最佳系统一样稳健,并且明显更准确。我们的立体惯性SLAM在EuRoC无人机中实现了3.5厘米的平均精度,在TUM-VI数据集的房间中实现了9毫米的快速手持运动,TUM-VI数据集是一种代表AR/VR场景的设置。

一、介绍

SLAM地图的最大优点是,它允许在BA中匹配和使用先前的观测结果,执行三种类型的数据关联:

短期数据关联:

在最近的几秒钟匹配获得的地图元素。这是大多数VO系统中唯一使用的数据关联类型,这些地图元素一旦离开视野就会被丢掉,就会导致有累积漂移。

中期数据关联:匹配相机累积误差小的地图,这可以用在BA中,在这样的地图中运行时,可以达到零漂移。

长期数据关联:利用场景识别技术来匹配当前的观测和先前的观测,不用管累积误差(回环检测可解决),不用管当前区域在先前建图中是非连续的(地图合并可以解决),或者跟踪丢失(重定位可以解决)。长期匹配允许重置漂移且利用位子图来纠正地图,为了更精确,也可以使用BA。这是SLAM在中大型环形环境中取得高精度的关键。

本文是第一个对短期、中期、长期数据关联的视觉、视觉惯性系统。可以在已知地图中实现零漂移。本文进一步提供了多地图数据关联,这使我们能够匹配和使用来自先前地图会话的地图元素在使用BA中,从而实现SLAM系统的真正目标:构建一个稍后可以使用的地图,以提供准确的定位。

ORB-SLAM3主要的新颖之处在于:

一个单目和双目视觉惯导SLAM系统:完全依赖于最大后验估计(MAP),即使在IMU初始化阶段也不例外。初始化方法,可参考下面文章,

C. Campos, J. M. M. Montiel, and J. D. Tardós, “Inertial-only optimization for visual-inertial initialization,” in IEEE International Conference on Robotics and Automation (ICRA), 2020, pp. 5157.

改进的召回场景识别方法:大多数场景识别方法采用DBoW2方法,DBoW2需要时间一致性,在检查几何一致性之前,将三个连续的关键帧匹配到同一区域,以牺牲召回为代价提高精度。导致回环太慢了。我们提出了一种新的位置识别算法,其中首先检查候选关键帧的几何一致性,然后检查与三个共视关键帧的局部一致性,这些关键帧在大多数情况下已经在地图中。这种策略以略高的计算成本为代价,增加了召回率并增加了数据关联,提高了地图的准确性。

ORB-SLAM Atlas:第一个可以解决纯视觉或者视觉惯导的完整的多地图的SLAM系统;Atlas可以表示一组断开的地图,并将所有的地图操作平滑地应用于:位置识别、相机重新定位、环路闭合和精确的无缝地图合并。这允许自动使用和组合在不同时间构建的地图,执行增量多地图SLAM。

抽象的相机表示:使得SLAM代码与所使用的相机模型无关,并允许通过提供它们的投影、非投影和雅可比函数来添加新模型。本文提供了针孔和鱼眼模型的实现。

二、相关工作

按时间顺序汇总最具代表性的视觉(顶部)和视觉惯性(底部)系统。

A、视觉SLAM

Monocular SLAM:第一个单目SLAM系统,使用EKF以及Shi-Tomasi特征点;

PTAM:采用跟踪和建图分开的并行线程,且基于关键帧技术。在相同的计算成本下,基于关键帧的技术比滤波更准确[55],成为视觉SLAM和VO的黄金标准。

ORB SLAM:采用ORB特征点,DBoW2词袋模型,特征描述子提供了短期、中期数据关联,长期数据关联使用DBoW2执行回环检测;

LSD-SLAM:直接法,构建大场景的半稠密地图,没有对地图进行优化,精度低;

混合系统SVO:采用FAST特征,使用直接法来跟踪,只是一个VO,执行短期的数据关联;

DSO(Direct Sparse Odometry):在特征点较差的情况下,也可以得到精确的相机位姿,利用7个关键帧的局部光度误差的BA来优化位姿,利用逆深度来存储点。

B、视觉-惯导SLAM

视觉传感器和惯性传感器的组合提供了对不良纹理、运动模糊和遮挡的鲁棒性,并且在单目系统的情况下,使尺度可观察到。

MSCKF:对紧密耦合方法的研究可以追溯到MSCKF,其中通过特征边缘化来避免特征数量中的EKF二次代价。

OKVIS:是第一个基于关键帧的紧耦合的BA优化的视觉惯性里程计系统;

ROVIO:使用直接数据关联提供具有光度误差的EFK。

ORB-SLAM-VI:首次提出了一种视觉惯性SLAM系统,该系统能够重用具有短期、中期和长期数据关联的地图,并在基于IMU预集成的精确局部视觉惯性BA中使用它们。然而,它的IMU初始化技术太慢,耗时15秒,这损害了鲁棒性和准确性。

IMU快速初始化方法:下面文章中提出了更快的初始化技术,基于闭合形式的解决方案,以联合检索尺度、重力、加速度计偏差和初始速度以及视觉特征深度。至关重要的是,它们忽略IMU的噪声财产,并将空间点的3D误差降到最低,而不是它们的重投影误差,这是基于特征的计算机视觉的黄金标准。我们之前的工作[64]表明,这会导致巨大的不可预测的错误。

A. Martinelli, “Closed-form solution of visual-inertial structure from motion,” International Journal of Computer Vision, vol. 106, no. 2, pp.138152, 2014.
J. Kaiser, A. Martinelli, F. Fontana, and D. Scaramuzza, “Simultaneous state initialization and gyroscope bias calibration in visual inertial aided navigation,” IEEE Robotics and Automation Letters, vol. 2, no. 1, pp.1825, 2017.

VINS-Mono:VINS Mono是一个非常精确和稳健的单目惯性里程计系统,具有使用DBoW2进行闭环和4DoF姿态图优化和地图合并功能。特征跟踪是用Lucas Kanade跟踪器执行的,比描述符匹配稍微稳健一些。

VINS-Fusion:将VINS-Mono扩展到了双目和双目惯性。

VI-DSO:将DSO扩展到视觉惯性里程计,提出了一种束调整,将惯性观测与选定高梯度像素的光度误差相结合,从而获得非常好的精度。

BASALT:它是一种立体惯性里程计系统,它从视觉惯性里程计中提取非线性因子,将其用于BA,并闭环匹配ORB特征,实现了非常好到极好的精度。

Kimera:是一个新的优秀度量语义建图系统,但其度量部分包括双目惯性里程计加上DBoW2闭环和姿态图优化,实现了与VINS Fusion类似的精度。

在这项工作中,我们建立在ORB-SLAM-VI的基础上,并将其扩展到双目惯性SLAM。我们提出了一种基于最大后验(MAP)估计的新的快速初始化方法,该方法适当考虑了视觉和惯性传感器的不确定性,并在2秒内以5%的误差估计真实尺度,在15秒内收敛到1%的尺度误差。

C、多地图SLAM

下面文章中首次在滤波方法中提出了通过地图创建和融合为探索过程中的跟踪损失增加鲁棒性的想法,

E. Eade and T. Drummond, “Unified loop closing and recovery for real time monocular SLAM,” in Proc. 19th British Machine Vision Conference (BMVC), Leeds, UK, September 2008. [66] R. Castle, G. Klein, and D. W. Murray, “Video-rate l

MOARSLAM:提出了一种用于协作多设备SLAM的健壮的无状态客户端-服务器体系结构,但主要关注的是软件体系结构,并且没有报告准确性结果;

CCM-SLAM:提出了一种用于多架无人机的分布式多地图系统,该系统基于ORB-SLAM,具有双向信息流。

SLAMM:还提出了ORB-SLAM2的多地图扩展,但将子地图保留为分离的实体,同时我们执行无缝映射合并,构建更准确的全局地图。

VINS Mono:是一个视觉里程计系统,具有闭环和多地图功能,依赖于位置识别库DBoW2。

实验表明,由于能够使用中期数据关联,ORB-SLAM3在EuRoc数据集上的单目惯性单会话操作的准确性是VINS Mono的2.6倍。
我们的Atlas系统也建立在DBoW2的基础上,但提出了一种新的更高召回率的位置识别技术,并使用本地BA执行更详细、更准确的地图合并,在EuRoC上的多会话操作中,将优势提高到比VINS Mono高3.2倍的准确度;

三、系统概述