【翻译】ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual-Inertial and Multi-Map SLAM

ORB-SLAM3: 一个准确的开源库,用于视觉、视觉惯性和多地图SLAM

Carlos Campos, Richard Elvira, Juan J. Gomez Rodriguez, Jose M.M. Montiel 和 Juan D. Tardos

两位作者对本文贡献相同。作者隶属于西班牙萨拉戈萨大学Aragon工程研究所(INA),地址:西班牙萨拉戈萨市Maria de Luna 1号。This work was supported in part by the Spanish government under grants PGC2018-096367-B-100 and DP12017-91104-EXP, and by Aragon government under grant DGA_T45-17R.

摘要

本文介绍了ORB-SLAM3,这是第一个能够利用单目、双目和RGB-D摄像机进行视觉、视觉惯性和多地图SLAM的系统,使用针孔和鱼眼镜头模型。

第一个主要的创新是基于特征的紧密集成的视觉惯性SLAM系统,该系统完全依赖于最大后验(MAP)估计,甚至在IMU初始化阶段也是如此。其结果是一个在实时中运行的系统,在小型和大型、室内和室外环境中都能够稳健运行,并且比先前的方法更精确,精度提高了两到十倍。

第二个主要创新是一个多地图系统,它依赖于一种具有改进召回率的新的地点识别方法。多亏了它,ORB-SLAM3能够在长时间缺乏视觉信息的情况下生存下来:当它迷失时,它会启动一个新的地图,当重新访问已映射的区域时,该地图将与先前的地图无缝合并。与只使用最近几秒钟信息的视觉里程计系统相比,ORB-SLAM3是第一个能够在所有算法阶段重用所有先前信息的系统。这允许在捆绑调整中包括共视关键帧,提供高视差观察,从而提高精度,即使它们在时间上相隔很长或来自先前的映射会话。

我们的实验表明,在所有传感器配置中,ORB-SLAM3与文献中最好的系统一样稳健,并且显著更准确。值得注意的是,我们的立体惯性SLAM在EuRoC无人机上的平均精度为3.5厘米,在TUM-VI数据集的快速手持运动中为9毫米,这是AR/VR场景的代表性设置。为了使社区受益,我们公开了源代码。

1. 引言

对于视觉同时定位和地图构建系统(SLAM)和视觉里程计(VO)的深入研究,使用单独的摄像机或与惯性传感器结合使用摄像机,已经在过去的二十年中产生了精度和稳健性不断提高的优秀系统。现代系统依赖于最大后验(MAP)估计,在视觉传感器的情况下,对应于捆绑调整(BA),无论是几何BA(在基于特征的方法中最小化特征重投影误差)还是光度BA(在直接方法中最小化一组选定像素的光度误差)。

随着最近出现的集成闭环技术的VO系统,VO和SLAM之间的界限变得更加

模糊。视觉SLAM的目标是利用移动机器人上的传感器来构建环境地图,并实时计算机器人在地图中的姿态。相比之下,VO系统着重于计算机器人的自我运动,而不是构建地图。SLAM地图的一个巨大优势是它允许匹配并在BA中使用先前的观测,执行三种数据关联(扩展了[1]中使用的术语):

  1. 短期数据关联,匹配在过去几秒钟内获得的地图元素。这是大多数VO系统仅使用的唯一数据关联类型,一旦环境元素不再可见,它们就会被忘记,即使系统在相同区域移动时,也会导致连续的估计漂移。
  2. 中期数据关联,匹配靠近相机的地图元素,其累积漂移仍然很小。这些可以与BA中的短期观察相匹配和使用,允许在系统在映射区域移动时达到零漂移。它们是我们的系统比具有环路检测的VO系统精度更高的关键。
  3. 长期数据关联,使用地点识别技术将观察与先前访问过的区域中的元素匹配,无论累积漂移(环路检测)如何,当前区域是否在断开的地图中被映射(地图合并),或者跟踪丢失(重定位)。长期匹配允许重置漂移并使用姿态图(PG)优化或更准确地使用BA来纠正地图。这是中等和大型循环环境中SLAM精度的关键。

在这项工作中,我们基于ORB-SLAM和ORB-SLAM Visual-Inertial,这是第一个能够充分利用短期、中期和长期数据关联的视觉和视觉惯性系统,在映射区域达到零漂移。我们进一步提供了多地图数据关联,这使我们能够匹配并在BA中使用来自先前映射会话的地图元素,实现了SLAM系统的真正目标:构建可以稍后用于提供准确定位的地图。

本质上,这是一篇系统论文,其最重要的贡献是ORB-SLAM3库本身,至今为止是最完整和最准确的视觉和视觉惯性开源SLAM系统(见表I)。ORB-SLAM3的主要创新包括:

  1. 单目和双目视觉惯性SLAM系统,完全依赖最大后验(MAP)估计,即使在IMU(惯性测量单元)初始化阶段也是如此。提出的初始化方法之前在[6]中提出过。我们在这里增加了与ORB-SLAM视觉惯性[4]的集成,扩展到立体视觉惯性SLAM,并在公共数据集上进行了彻底评估。我们的结果表明,单目和双目视觉惯性系统非常稳健,并且比其他视觉惯性方法更准确,即使在没有循环的序列中也是如此。
  2. 改进的召回率地点识别。许多最近的视觉SLAM和VO系统[2, 7, 8]使用DBoW2词袋库[9]解决地点识别。 DBoW2需要时间一致性,在检查几个连续关键帧与同一区域匹配之前,检查几何一致性,以提高精度,这会牺牲召回率。因此,该系统在闭环和重用先前映射区域方面速度太慢。我们提出了一种新颖的地点识别算法,首先检查候选关键帧是否具有几何一致性,然后与三个共视关键帧进行局部一致性检查,在大多数情况下,这些关键帧已经在地图中。这种策略提高了召回率并密集了数据关联,改善了地图精度,但会增加略微更高的计算成本。
  3. ORB-SLAM Atlas,第一个完整的多地图SLAM系统,能够处理视觉和视觉惯性系统,以及单目和立体配置。Atlas可以表示一组断开的地图,并对它们应用所有映射操作:地点识别,相机重定位,闭环检测和准确的无缝地图合并。这允许自动使用和组合在不同时间构建的地图,执行增量式多会话SLAM。ORB-SLAM Atlas的初步版本用于视觉传感器已在[10]中介绍过。在这里,我们添加了新的地点识别系统,视觉惯性多地图系统以及在公共数据集上的评估。
  4. 一个抽象的相机表示,使SLAM代码不受所使用相机模型的限制,并通过提供其投影、反投影和雅可比函数来添加新模型。我们提供了针孔[11]和鱼眼[12]模型的实现。

所有这些创新,以及一些代码改进,使ORB-SLAM3成为新的参考视觉和视觉惯性开源SLAM库,与文献中最好的系统一样稳健,并且显著更准确,正如我们在第VII节的实验结果中所示。我们还提供了单目、立体、单目惯性和立体惯性SLAM结果的比较,这对从业者可能是有用的。
如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。

2. 相关工作

表1总结了最具代表性的视觉和视觉惯性系统,展示了用于估计和数据关联的主要技术。表中包含的定性准确性和稳健性评分基于第VII节中提供的结果,以及[2]中报告的PTAM、LSD-SLAM和ORB-SLAM的比较。

2.1 视觉SLAM (Visual SLAM)

单目SLAM首先在MonoSLAM [13, 52, 14]中使用扩展卡尔曼滤波器(EKF)和Shi-Tomasi点进行求解,这些点在后续图像中进行了跟踪,通过相关性进行引导搜索。使用确保所使用的特征匹配一致的技术,显著改进了中期数据关联,实现了手持式视觉SLAM [53, 54]。

相比之下,基于关键帧的方法仅使用少量选定的帧来估计地图,丢弃来自中间帧的信息。这允许以关键帧速率执行更昂贵但更准确的BA优化。最具代表性的系统是PTAM [16],它将相机跟踪和地图制作拆分为两个并行线程。与过滤相比,基于关键帧的技术在相同的计算成本下更精确 [55],成为视觉SLAM和VO的金标准。在[56]中使用滑动窗口BA实现了大规模单目SLAM,而在[57]中使用双窗口优化和共视图实现了大规模单目SLAM。

在这些思想基础上,ORB-SLAM [2, 3] 使用ORB特征,其描述符提供短期和中期数据关联,构建共视图以限制跟踪和地图的复杂性,并使用DBoW2 [9]词袋库执行闭环检测和重新定位,实现长期数据关联。到目前为止,它是唯一集成了三种数据关联类型的视觉SLAM系统,我们认为这是其出色准确性的关键所在。在这项工作中,我们通过新的Atlas系统提高了其在纯视觉SLAM中的稳健性,当跟踪丢失时启动新地图,并通过改进召回率的新地点识别方法提高了其在循环场景中的准确性。

直接方法不提取特征,而是直接使用图像中的像素强度,并通过最小化光度误差来估计运动和结构。LSD-SLAM [20] 能够使用高梯度像素构建大规模半稠密地图。然而,地图估计被简化为姿态图(PG)优化,精度低于PTAM和ORB-SLAM [2]。混合系统SVO [23, 24] 提取FAST特征,使用直接方法跟踪特征和帧到帧之间任何非零强度梯度的像素,并使用重投影误差优化相机轨迹和3D结构。SVO极其高效,但作为纯VO方法,它只执行短期数据关联,这限制了其准确性。直接稀疏测距DSO [27] 能够在点检测器效果不佳的情况下计算精确的相机姿态,增强了在低纹理区域或模糊图像中的稳健性。它引入了局部光度BA,同时优化了七个最近关键帧的窗口和点的逆深度。这项工作的扩展包括立体[29],使用特征和DBoW2 [58][59]进行闭环检测,以及视觉惯性测距[46]。直接稀疏映射DSM [31]引入了直接方法中地图重用的概念,展示了中期数据关联的重要性。在所有情况下,缺乏短期、中期和长期数据关联的整合导致了我们的提案比其他系统更低的精度(请参阅第VII节)。

2.2 视觉惯性SLAM (Visual-Inertial SLAM)

视觉和惯性传感器的组合能够增强对于贫纹理、运动模糊和遮挡的稳健性,在单目系统中,还可以观测到尺度。紧密耦合方法的研究可以追溯到MSCKF [33],其中通过特征边缘化避免了特征数量的EKF二次成本。最初的系统在[34]中得到完善,并在[35]、[36]中扩展到了立体系统。第一个基于关键帧和捆绑调整的紧密耦合视觉里程计系统是OKVIS [38]、[39],它也能够使用单目和立体视觉。尽管这些系统依赖于特征,但ROVIO [41]、[42]使用直接数据关联将光度误差馈入EKF。

ORB-SLAM-VI [4]引入了一种视觉惯性SLAM系统,能够利用短期、中期和长期数据关联重用地图。它采用了基于IMU预积分的准确的局部视觉惯性捆绑调整(BA)[60]、[61]。然而,它的IMU初始化技术过慢,需要15秒,影响了鲁棒性和精度。[62]、[63]提出了更快的初始化技术,基于闭式解共同恢复尺度、重力、加速度计偏置、初始速度和视觉特征深度。然而,这些技术忽略了IMU的噪声特性,并最小化了空间点的3D误差,而不是它们的重投影误差,这是基于特征的计算机视觉的金标准。以前的工作[64]表明,这会导致大的不可预测的错误。

VINS-Mono [7]是一种高精度、高鲁棒性的单目惯性测距系统,具有闭环检测,利用了DBoW2和4自由度姿态图优化,以及地图合并。特征跟踪采用Lucas-Kanade跟踪器,比描述符匹配略为鲁棒。在VINS-Fusion [44]中,它已扩展到立体和立体惯性系统。

VI-DSO [46]将DSO扩展到视觉惯性测距,提出了一种捆绑调整方法,将惯性观测与选定的高梯度像素的光度误差相结合,结果精度非常好。由于成功利用了高梯度像素的信息,因此在纹理贫乏的场景区域的鲁棒性也得到了改善。然而,它的初始化方法依赖于视觉惯性捆绑调整,并且需要20-30秒才能在1%尺度误差内收敛。

最近的BASALT [47]是一种立体惯性测距系统,从视觉惯性测距中提取非线性因子,以在捆绑调整中使用。它通过匹配ORB特征来闭环,达到了非常好到极佳的精度。Kimera [8]是一种新颖的度量-语义映射系统,但其度量部分包括立体惯性测距以及使用DBoW2和姿态图优化的闭环检测,达到了与VINS-Fusion相似的精度。

在这项工作中,我们在ORB-SLAM-VI的基础上进行了拓展,将其扩展到立体惯性SLAM。我们提出了一种新颖的快速初始化方法,基于最大后验(MAP)估计,正确考虑了视觉和惯性传感器的不确定性,并在2秒内以5%的误差估计真实尺度,收敛到15秒内的1%尺度误差。以上讨论的所有其他系统都是视觉惯性测距方法,其中一些方法通过闭环检测进行了扩展,但缺乏使用中期数据关联的能力。我们认为,这与我们的快速而精确的初始化方法一起,是我们的系统始终获得更好精度的关键,即使在没有闭环的序列中也是如此。

2.3 多地图SLAM (Multi-Map SLAM)

通过地图创建和融合来增强探索过程中跟踪丢失的稳健性的想法最初是在[65]中提出的,采用了滤波方法。第一个基于关键帧的多地图系统之一是[66],但地图初始化是手动的,并且该系统无法合并或关联不同的子地图。多地图功能已作为协作映射系统的组成部分进行研究,其中有几个映射代理和一个仅接收信息的中央服务器[67],或者是双向信息流,如C2TAM [68]。 MOARSLAM [69]提出了一种用于协作多设备SLAM的强大的无状态客户端-服务器架构,但其主要重点是软件架构,并没有报告精度结果。

更近期的CCM-SLAM [70,71]提出了一个分布式多地图系统,适用于多个无人机,具有双向信息流,建立在ORB-SLAM之上。他们的重点是克服带宽有限和分布式处理的挑战,而我们的重点是精度和稳健性,在EuRoC数据集上取得了显着更好的结果。 SLAM [72]还提出了ORB-SLAM2的多地图扩展,但保持子地图作为单独的实体,而我们执行无缝地图合并,构建了一个更精确的全局地图。

VINS-Mono [7]是一个具有闭环检测和多地图功能的视觉测距系统,依赖于地点识别库DBoW2 [9]。我们的实验表明,在EuRoC数据集上,ORB-SLAM3在单目惯性单次操作中比VINS-Mono准确度提高了2.6倍,这要归功于其使用中期数据关联的能力。我们的Atlas系统也建立在DBoW2之上,但提出了一种新颖的高召回率地点识别技术,并使用局部BA执行更详细和准确的地图合并,在EuRoC上的多次操作中,比VINS-Mono的准确度提高了3.2倍。

3. 系统概述

ORB-SLAM3是建立在ORB-SLAM2 [3]和ORB-SLAM-VI [4]基础上的。它是一个完整的多地图和多会话系统,能够以纯视觉或视觉惯性模式与单眼、立体或RGB-D传感器一起工作,使用针孔和鱼眼摄像头模型。图1显示了主要的系统组件,与ORB-SLAM2相似,但具有一些显著的新颖之处,下面进行了总结:
Atlas 是一个由一组断开的地图组成的多地图表示。有一个活动地图,在跟踪线程将传入的帧定位到其中,并通过本地映射线程不断优化和增长新的关键帧。我们将Atlas中的其他地图称为非活动地图。系统构建了一个唯一的DBoW2关键帧数据库,用于重新定位、闭环检测和地图合并。
Tracking thread(跟踪线程)处理传感器信息,并实时计算当前帧相对于活动地图的姿态,最小化匹配地图特征的重投影误差。它还决定当前帧是否成为关键帧。在视觉惯性模式下,通过在优化中包含惯性残差来估计车体速度和IMU偏差。当跟踪丢失时,跟踪线程尝试在Atlas的所有地图中重新定位当前帧。如果重新定位成功,则恢复跟踪,如果需要,切换活动地图。否则,一段时间后,将活动地图存储为非活动地图,并从头开始初始化新的活动地图。
Local mapping thread(局部建图线程)向活动地图添加关键帧和点,删除多余的关键帧,并使用视觉或视觉惯性捆绑调整来完善地图,该捆绑调整在靠近当前帧的关键帧的局部窗口中操作。此外,在惯性情况下,映射线程使用我们的新型MAP估计技术初始化和完善IMU参数。
Loop and map merging thread(闭环检测和地图合并线程)以关键帧速率检测活动地图和整个地图集之间的公共区域。如果公共区域属于活动地图,则执行循环校正;如果属于不同的地图,则两个地图无缝合并为单个地图,成为活动地图。在进行循环校正之后,会在独立线程中启动完整的BA,进一步完善地图,而不会影响实时性能。
在这里插入图片描述
图1、ORB-SLAM3的主要系统组件。
Figure 1: Main system components of ORB-SLAM3.

4. 相机模型

ORB-SLAM在所有系统组件中都假设了针孔相机模型。我们的目标是通过将与相机模型相关的所有属性和函数(投影和反投影函数、雅可比矩阵等)提取到单独的模块中,从整个SLAM流程中抽象出相机模型。这使得我们的系统可以使用任何相机模型,只需提供相应的相机模块。在ORB-SLAM3库中,除了针孔模型外,我们还提供了Kannala-Brandt [12]鱼眼模型。
由于大多数流行的计算机视觉算法假设针孔相机模型,因此许多SLAM系统将整个图像或特征坐标进行矫正,以在理想的平面视网膜中工作。然而,这种方法对鱼眼镜头来说存在问题,因为它们可以达到或超过180度的视场。图像矫正不是一个选择,因为外围的物体会被放大,中心的物体会失去分辨率,从而阻碍特征匹配。对特征坐标进行矫正要求FOV小于180度,并且会给许多计算机视觉算法带来麻烦,因为它们假设图像中的均匀投影误差,而这在矫正鱼眼图像中远非如此。这迫使裁剪图像的外部部分,丧失了大FOV的优势:更快地绘制环境和更好地对遮挡物进行鲁棒性处理。接下来,我们讨论如何克服这些困难。

4.1 重定位 (Relocalization)

一个强大的SLAM系统需要在跟踪失败时重新定位相机的能力。ORB-SLAM通过设置基于ePnP算法 [73]的透视n-点求解器来解决重定位问题,该算法在其所有公式中都假设了一个校准的针孔相机。为了跟进我们的方法,我们需要一种与所使用的相机模型无关的PnP算法。出于这个原因,我们采用了最大似然透视n-点算法(MLPnP)[74],它完全与相机模型解耦,因为它使用投影射线作为输入。相机模型只需要提供一个反投影函数,将像素转换为投影射线,即可用于重新定位。

无矫正立体SLAM (Non-rectified Stereo SLAM)

大多数立体SLAM系统假设立体帧已经矫正,即两个图像使用相同的焦距进行变换,图像平面共面,并与水平极线对齐,以便在一个图像中查找特征时可以通过查看另一个图像中的同一特征轻松匹配。然而,矫正立体图像的假设非常严格,在许多应用中既不合适也不可行。例如,矫正一个发散的立体对,或者立体鱼眼摄像机都需要严重的图像裁剪,丧失了大视场的优势。

因此,我们的系统不依赖图像矫正,将立体相机视为两个单眼摄像头,具有:

  1. 它们之间的常数相对SE(3)变换,并且
  2. 可选地,观察到相同场景部分的共同图像区域。

这些约束使我们能够通过在三角化新地标时引入该信息和在捆绑调整优化中进行处理,有效地估计地图的尺度。遵循这个想法,我们的SLAM流程估计一个6自由度的刚体姿态,其参考系统可以位于一个摄像头或IMU传感器中,并且相对于刚体姿态表示摄像头。

如果两个摄像头在观察到立体影像的重叠区域,则我们可以首次观察到真实尺度的地标。两个图像的其余部分仍然具有大量相关信息,在SLAM流程中作为单眼信息使用。在这些区域首次看到的特征是通过多个视图进行三角化的,就像单眼情况一样。

在这里插入图片描述

图 2: 系统中不同优化的因子图表示
Figure 2: Factor graph representation for different optimizations along the system

5. 视觉惯性SLAM (VISUAL-INERTIAL SLAM)

ORB-SLAM-VI [4] 是第一个真正的视觉惯性SLAM系统,能够重用地图。然而,它仅限于针孔式单眼摄像头,并且其初始化速度过慢,在一些具有挑战性的场景中表现不佳。在这项工作中,我们在ORB-SLAM-VI的基础上进行了改进,提供了一种快速而准确的IMU初始化技术,并开发了一个开源的SLAM库,能够进行单眼惯性和立体惯性SLAM,支持针孔和鱼眼摄像头。

5.1 基础知识

在纯视觉SLAM中,估计的状态仅包括当前相机的姿态,而在视觉惯性SLAM中,需要计算额外的变量。这些变量包括在世界坐标系中的身体姿态 T i = [ R i , p i ] \mathbf{T}_i=[\mathbf{R}_i, \mathbf{p}_i] Ti=[Ri,pi] 和速度 v i \mathbf{v}_i vi,以及陀螺仪和加速度计的偏差 b i g \mathbf{b}_i^g big b i a \mathbf{b}_i^a bia,它们被假设按照布朗运动演变。这导致状态向量:

S i ≐ { T i , v i , b i g , b i a } {{\mathcal{S}}_{i}}\doteq \{{{\mathbf{T}}_{i}},{{\mathbf{v}}_{i}},\mathbf{b}_{i}^{g},\mathbf{b}_{i}^{a}\} Si{Ti,vi,big,bia}

对于视觉惯性SLAM,我们对相邻的视觉帧 i i i i + 1 i+1 i+1 之间的IMU测量进行预积分,遵循[60]中开发的理论,并在[61]上进行了流形的形式化。我们得到了预积分的旋转、速度和位置测量,表示为 Δ R i , i + 1 \Delta\mathbf{R}_{i,i+1} ΔRi,i+1 Δ v i , i + 1 \Delta\mathbf{v}_{i,i+1} Δvi,i+1 Δ p i , i + 1 \Delta\mathbf{p}_{i,i+1} Δpi,i+1,以及协方差矩阵 Σ I i , i + 1 \Sigma_{\mathcal{I}_{i,i+1}} ΣIi,i+1,适用于整个测量向量。鉴于这些预积分项和状态 S i \mathcal{S}_i Si S i + 1 \mathcal{S}_{i+1} Si+1,我们采用了从[61]中得出的惯性残差 r I i , i + 1 \mathbf{r}_{\mathcal{I}_{i,i+1}} rIi,i+1 的定义:

r ( I i , i + 1 ) = [ r ( Δ R i , i + 1 ) , r ( Δ v i , i + 1 ) , r ( Δ p i , i + 1 ) ] r({{I}_{i,i+1}})=[r(\Delta {{R}_{i,i+1}}),r(\Delta {{v}_{i,i+1}}),r(\Delta {{p}_{i,i+1}})] r(Ii,i+1)=[r(ΔRi,i+1),r(Δvi,i+1),r(Δpi,i+1)]
r ( Δ R i , i + 1 ) = L o g ( Δ R i , i + 1 T R i T R i + 1 ) r(\Delta {{R}_{i,i+1}})=Log(\Delta R_{i,i+1}^{T}R_{i}^{T}{{R}_{i+1}}) r(ΔRi,i+1)=Log(ΔRi,i+1TRiTRi+1)
r ( Δ v i , i + 1 ) = R i T ( v i + 1 − v i − g Δ t i , i + 1 ) − Δ v i , i + 1 r(\Delta {{v}_{i,i+1}})=R_{i}^{T}({{v}_{i+1}}-{{v}_{i}}-g\Delta {{t}_{i,i+1}})-\Delta {{v}_{i,i+1}} r(Δvi,i+1)=RiT(vi+1vigΔti,i+1)Δvi,i+1
r ( Δ p i , i + 1 ) = R i T ( p j − p i − v i Δ t i , i + 1 − 1 2 g Δ t 2 ) − Δ p i , i + 1 r(\Delta {{p}_{i,i+1}})=R_{i}^{T}({{p}_{j}}-{{p}_{i}}-{{v}_{i}}\Delta {{t}_{i,i+1}}-\frac{1}{2}g\Delta {{t}^{2}})-\Delta {{p}_{i,i+1}} r(Δpi,i+1)=RiT(pjpiviΔti,i+121gΔt2)Δpi,i+1

其中 Log \text{Log} Log : S O ( 3 ) → R 3 SO(3) \to \mathbb{R}^3 SO(3)R3 从李群映射到向量空间。除了惯性残差,我们还使用了重投影误差 r i j \mathbf{r}_{ij} rij,表示图像特征的观测和它们在估计的3D场景中的投影之间的差异:

r i j = u i j − Π ( T CB T i − 1 ⊕ x j ) {{\mathbf{r}}_{ij}}={{\mathbf{u}}_{ij}}-\Pi ({{\mathbf{T}}_{\text{CB}}}\mathbf{T}_{i}^{-1}\oplus {{\mathbf{x}}_{j}}) rij=uijΠ(TCBTi1xj)

其中 Π : R 3 → R n \Pi: \mathbb{R}^3 \to \mathbb{R}^n Π:R3Rn 是相应摄像头模型的投影函数, u i j \mathbf{u}_{ij} uij 是点 x j \mathbf{x}_j xj 在图像 i i i 中的观测, Σ i j \Sigma_{ij} Σij 是其协方差矩阵, T CB ∈ S E ( 3 ) \mathbf{T}_{\text{CB}} \in SE(3) TCBSE(3) 是从body−IMU到相机的刚性变换, ⊕ \oplus SE ( 3 ) \text{SE}(3) SE(3) 群在 R 3 \mathbb{R}^3 R3 元素上的变换操作。
将惯性和视觉残差项结合起来,视觉惯性 SLAM 可以被表述为基于关键帧的最小化问题 \cite{visual-inertial-slam}。给定一组 k + 1 k+1 k+1 个关键帧及其状态 S ˉ k ≐ { S 0 , … , S k } \mathcal{\bar{S}}_{k} \doteq \{\mathcal{S}_{0},\ldots,\mathcal{S}_{k}\} Sˉk{S0,,Sk},以及一组 l l l 个 3D 点及其状态 X ≐ { x 0 , … , x l − 1 } \mathcal{X} \doteq \{\mathbf{x}_{0},\ldots,\mathbf{x}_{l-1}\} X{x0,,xl1},视觉惯性优化问题可以表述为:

[ min ⁡ S ˉ k , X ( ∑ i = 1 k ∣ r I i − 1 , i ∣ I i , i + 1 2 + ∑ j = 0 l − 1 ∑ i ∈ K j ρ Hub ( ∣ r i j ∣ Σ i j − 1 ) ) [{{\min }_{{{{\bar{\mathcal{S}}}}_{k}},\mathcal{X}}}\left( \sum\limits_{i=1}^{k}{\left| {{\mathbf{r}}_{{{\mathcal{I}}_{i-1,i}}}} \right|_{{{\mathcal{I}}_{i,i+1}}}^{2}}+\sum\limits_{j=0}^{l-1}{\sum\limits_{i\in {{\mathcal{K}}^{j}}}{{{\rho }_{\text{Hub}}}}}\left( \left| {{\mathbf{r}}_{ij}} \right|\Sigma _{ij}^{-1} \right) \right) [minSˉk,X(i=1k rIi1,i Ii,i+12+j=0l1iKjρHub(rijΣij1))

其中 K j \mathcal{K}^{j} Kj 是观测到 3D 点 j j j 的关键帧集合。这种优化可以概述为图中显示的因子图(见图 1(a))。请注意,对于投影误差,我们使用鲁棒的 Huber 核函数 ρ Hub \rho_{\text{Hub}} ρHub 来减少杂波匹配的影响,而对于惯性残差,这是不需要的,因为不存在误匹配。这种优化需要在跟踪和建图过程中进行效率调整,但更重要的是,它需要良好的初始种子以收敛到准确的解决方案。

5.1 IMU初始化

这一步的目标是获得惯性变量的良好初始值:身体速度、重力方向和IMU偏差。一些系统,如VI-DSO \cite{VI-DSO},尝试从头开始解决视觉惯性BA问题,绕过特定的初始化过程,获得惯性参数的较慢收敛(长达30秒)。

在这项工作中,我们提出了一种快速准确的初始化方法,基于三个关键的见解:

  1. 纯单眼SLAM可以提供非常精确的初始地图[2],其主要问题是尺度未知。首先解决纯视觉问题将增强IMU初始化。
  2. 如[56]所示,当尺度明确表示为优化变量时,尺度收敛速度要快得多,而不是使用BA的隐式表示。
  3. 在IMU初始化过程中忽略传感器不确定性会产生大的不可预测的误差[64]。

因此,充分考虑传感器不确定性,我们将IMU初始化陈述为一个MAP估计问题,分为三个步骤:

  1. Vision-only MAP Estimation (仅视觉MAP估计):
    我们初始化纯单眼SLAM \cite{monocularSLAM},并运行它2秒,以4Hz的频率插入关键帧。在此期间,我们有一个由 k = 10 k=10 k=10个相机姿态和数百个点组成的经过尺度的地图,通过仅视觉BA进行优化。这些姿态转换为身体参考,得到轨迹 T ˉ 0 : k = [ R , p ˉ ] 0 : k \mathbf{\bar{T}}_{0:k}=[\mathbf{R},\mathbf{\bar{p}}]_{0:k} Tˉ0:k=[R,pˉ]0:k,其中横杠表示单眼情况下的经过尺度变量。
  2. Inertial-only MAP Estimation(仅惯性MAP估计):
    在这一步中,我们旨在仅使用 T ˉ 0 : k \mathbf{\bar{T}}_{0:k} Tˉ0:k 获得惯性变量的最优估计,作为MAP估计的一部分。考虑到这些关键帧之间的惯性测量。这些惯性变量可以堆叠在仅惯性状态向量中:
    Y k = { s , R w g , b , v ˉ 0 : k } \mathcal{Y}_k=\{s, \mathbf{R}_{wg}, \mathbf{b}, \mathbf{\bar{v}}_{0:k}\} Yk={s,Rwg,b,vˉ0:k}
    其中 s ∈ R + s \in \mathbb{R}^+ sR+ 是纯视觉解的尺度因子; R w g ∈ SO ( 3 ) \mathbf{R}_{wg} \in \text{SO}(3) RwgSO(3) 是一个旋转矩阵,用于计算世界参考中的重力向量 g \mathbf{g} g b = ( b a , b g ) ∈ R 6 \mathbf{b}=(\mathbf{b}^{a},\mathbf{b}^{g})\in\mathbb{R}^{6} b=(ba,bg)R6 是加速度计和陀螺仪的偏差;以及 v ˉ 0 : k ∈ R 3 \mathbf{\bar{v}}_{0:k} \in \mathbb{R}^{3} vˉ0:kR3 是从第一个到最后一个关键帧的经过尺度的身体速度,最初估计于 T ˉ 0 : k \mathbf{\bar{T}}_{0:k} Tˉ0:k。此时,我们仅考虑惯性测量集 I 0 : k = { I 0 , 1 , … , I k − 1 , k } \mathcal{I}_{0:k}=\{\mathcal{I}_{0,1},\ldots,\mathcal{I}_{k-1,k}\} I0:k={I0,1,,Ik1,k}。因此,我们可以陈述一个MAP估计问题,要最大化的后验分布为:
    p ( Y k ∣ I 0 : k ) ∝ p ( I 0 : k ∣ Y k ) p ( Y k ) p(\mathcal{Y}_k|\mathcal{I}_{0:k}) \propto p(\mathcal{I}_{0:k}|\mathcal{Y}_k)p(\mathcal{Y}_k) p(YkI0:k)p(I0:kYk)p(Yk)
    其中 p ( I 0 : k ∣ Y k ) p(\mathcal{I}_{0:k}|\mathcal{Y}_k) p(I0:kYk) 表示似然, p ( Y k ) p(\mathcal{Y}_k) p(Yk) 表示先验。考虑到测量的独立性,仅惯性MAP估计问题可以写成: Y ∗ k = arg ⁡ max ⁡ Y k ( p ( Y k ) ∏ i = 1 k p ( I i − , i ∣ s , R w g , b , v ˉ i − 1 , v ˉ , v ˉ i ) ) \mathcal{Y^{*}}_k^{}=\operatorname{arg}\max_{\mathcal{Y}_k}\left(p(\mathcal{Y}_k)\prod_{i=1}^{k}p(\mathcal{I}_{i-,i}|s,\mathbf{R}_{wg},\mathbf{b},\mathbf{\bar{v}}_{i-1,\mathbf{\bar{v}}},\mathbf{\bar{v}}_i)\right) Yk=argmaxYk(p(Yk)i=1kp(Ii,is,Rwg,b,vˉi1,vˉ,vˉi))
    取负对数并假设IMU预积分和先验分布的误差为高斯分布,最终导致优化问题:
    Y ∗ k = arg ⁡ min ⁡ Y k ( ∣ b ∣ Σ k − 1 2 + ∑ i = 1 k ∣ r ( I i − 1 , i ) ∣ Σ ( I i − 1 , i ) 2 2 ) \mathcal{Y^{*}}_k^{}=\operatorname{arg}\min_{\mathcal{Y}_k}\left(|\mathbf{b}|{\Sigma_{k}^{-1}}^{2}+\sum_{i=1}^{k}|\mathbf{r}(\mathcal{I}_{i-1,i})|{\Sigma(\mathcal{I}_{i-1,i})^{2}}^{2}\right) Yk=argminYk(bΣk12+i=1kr(Ii1,i)Σ(Ii1,i)22)
    这种优化与方程4中的优化不同之处在于不包括视觉残差,因为视觉SLAM估计的经过尺度的轨迹被视为常数,并且添加一个先验残差,强制IMU偏差接近零。协方差矩阵 Σ b \Sigma_b Σb 表示关于IMU偏差可能取值范围的先验知识。有关IMU协方差 Σ I i − 1 , i \Sigma_{\mathcal{I}_{i-1,i}} ΣIi1,i 预积分的详细信息可以在 \cite{preintegration} 中找到。由于我们在流形中进行优化,我们需要定义一个重投影 \cite{retraction} 来更新 R w g \mathbf{R}_{wg} Rwg。由于围绕重力方向的旋转不会改变重力,因此此更新由两个角度 ( δ α g , δ β g ) (\delta\alpha_{\mathbf{g}},\delta\beta_{\mathbf{g}}) (δαg,δβg) 参数化:
    R w g new = R w g old Exp ( δ α g , δ β g , 0 ) \mathbf{R}_{wg}^{\text{new}}=\mathbf{R}_{wg}^{\text{old}}\text{Exp}(\delta\alpha_{\mathbf{g}},\delta\beta_{\mathbf{g}},0) Rwgnew=RwgoldExp(δαg,δβg,0)
    其中 Exp ( ⋅ ) \text{Exp}(\cdot) Exp() 是从 R 3 \mathbb{R}^3 R3 SO ( 3 ) \text{SO}(3) SO(3) 的指数映射。为了确保尺度因子在优化过程中保持为正,我们将其更新定义为:
    s new = s old exp ⁡ ( δ s ) s^{\text{new}}=s^{\text{old}}\exp(\delta s) snew=soldexp(δs)
    一旦完成仅惯性优化,帧姿态和速度以及3D地图点将与估计的尺度因子缩放,并旋转以使 z z z 轴与估计的重力方向对齐。偏差被更新,并且IMU预积分被重复,旨在减少未来的线性化误差。
  3. Visual-Inertial MAP Estimation(视觉惯性MAP估计):
    一旦我们对惯性和视觉参数有了良好的估计,我们可以执行联合视觉惯性优化以进一步改进解决方案。此优化可以表示为图1(a),但对所有关键帧使用共同的偏差,并包含与仅惯性步骤相同的偏差先验信息。

我们在EuRoC数据集 [6] 上进行的详尽初始化实验表明,该初始化非常高效,仅需2秒轨迹即可达到5%的尺度误差。为了改进初始估计,初始化后分别在5秒和15秒执行了视觉惯性BA,收敛到1%的尺度误差,如第VII节所示。经过这些BA后,我们称地图成熟,意味着尺度、IMU参数和重力方向已经准确估计。

我们的初始化比解决一组代数方程的联合初始化方法 [62, 63, 64] 更准确,并且比ORB-SLAM-VI [4] 中使用的初始化快得多,后者需要15秒才能获得第一个尺度估计,或者VI-DSO [46] 中使用的初始化更快,但始于巨大的尺度误差,需要20-30秒才能收敛到1%误差。有关不同初始化方法的比较可见于 [6]。

在一些特定情况下,当缓慢运动不能很好地观测惯性参数时,初始化可能无法在短短15秒内收敛到准确的解。为了提高对这种情况的鲁棒性,我们提出了一种新颖的尺度精炼技术,基于修改后的仅惯性优化,在其中包含所有插入的关键帧,但尺度和重力方向是唯一需要估计的参数(图1(d))。请注意,在这种情况下,假设偏差恒定是不正确的。相反,我们使用从地图中估计的值,并将它们固定。这种非常高效的优化是在本地地图线程中每10秒执行一次,直到地图具有100个以上的关键帧,或者自初始化以来已经过去了75秒。

最后,我们将我们的单眼惯性初始化轻松扩展为立体惯性,通过将尺度因子固定为1,并将其从仅惯性优化变量中移除,增强其收敛性。

5.3 跟踪和建图(Tracking and Mapping)

对于跟踪和建图,我们采用了[4]中提出的方案。跟踪解决了一个简化的视觉惯性优化问题,只优化了最后两帧的状态,而地图点保持不变。

对于建图,尝试解决方程4中的整个优化对于大型地图来说是不可行的。我们将一个滑动窗口的关键帧及其点作为可优化的变量,并且还包括了这些点在共视关键帧中的观测,但保持它们的姿态固定。

5.4 对跟踪丢失的鲁棒性(Robustness to tracking loss)

在纯视觉SLAM或VO系统中,时间上的相机遮挡和快速运动导致视觉元素丢失跟踪,系统迷失方向。ORB-SLAM首创了基于词袋地点识别的快速重定位技术,但在EuRoC数据集 [3] 中的困难序列中被证明是不足够的。当跟踪少于15个点地图时,我们的视觉惯性系统进入视觉丢失状态,并通过以下两个阶段实现鲁棒性:

  • 短期丢失:从IMU读数中估计当前机体状态,并将地图点投影到估计的相机姿态中,在一个大的图像窗口中搜索匹配。得到的匹配结果被包含在视觉惯性优化中。在大多数情况下,这允许恢复视觉跟踪。否则,5秒后,进入下一个阶段。
  • 长期丢失:如上所述,初始化了一个新的视觉惯性地图,并将其设置为活动地图。如果系统在惯性测量单元初始化后的15秒内丢失,地图将被丢弃。这可以防止累积不准确和无意义的地图。

6. 地图合并和环路闭环(MAP MERGING AND LOOP CLOSING)

通过将地图点投影到估计的相机姿态中并在仅有几个像素的图像窗口中搜索匹配项,跟踪和映射线程通常会在帧与活动地图之间发现短期和中期数据关联。为了实现长期的数据关联,用于重定位和环路检测,ORB-SLAM采用了DBoW2词袋模型识别系统[9, 75]。这种方法也被大多数最近实施闭环的VO和SLAM系统采用(见表I)。

与跟踪不同,词袋模型识别不是从相机姿态的初始猜测开始。相反,DBoW2构建了一个包含它们的关键帧和它们的词袋向量的数据库,并且对于给定的查询图像,能够根据它们的词袋高效地提供最相似的关键帧。使用仅有的第一个候选项,原始的DBoW2查询能够达到50-80%的精度和召回率[9]。为了避免误报可能损坏地图的情况,DBoW2实施了时间和几何一致性检查,将工作点移动到100%的精度和30-40%的召回率[9, 75]。关键的是,时间一致性检查至少在3个关键帧期间延迟了词袋模型的识别。在尝试在我们的Atlas系统中使用时,我们发现这种延迟和低召回率经常导致在同一地图或不同地图中出现重复的区域。

在这项工作中,我们提出了一种改进召回率的用于长期和多地图数据关联的新的识别算法。每当映射线程创建一个新的关键帧时,都会启动识别以检测与Atlas中任何关键帧的匹配。如果找到的匹配关键帧属于活动地图,就执行环路闭合。否则,它是一种多地图数据关联,然后,将活动地图和匹配地图合并。作为我们方法的第二个新颖之处,一旦估计了新关键帧与匹配地图之间的相对姿态,我们在covisibility图中的匹配关键帧及其邻居周围定义了一个局部窗口。在这个窗口中,我们强化地搜索中期数据关联,提高了闭环和地图融合的准确性。这两个新颖之处解释了ORB-SLAM3在EuRoC实验中相对ORB-SLAM2获得更好准确性的细节。接下来解释了不同操作的详细信息。

6.1 地点识别(Place Recognition)

为了提高召回率,对于每个新的活动关键帧,我们在Atlas中查询DBoW2数据库以获取几个相似的关键帧。为了实现100%的精度,这些候选项中的每一个都经历了几个几何验证步骤。所有几何验证步骤的基本操作在于检查是否存在一个ORB关键点在一个图像窗口内,其描述符与地图点的ORB描述符匹配,使用它们之间的Hamming距离的阈值。如果在搜索窗口中有多个候选项,则为了丢弃模糊的匹配,我们检查到第二近的匹配的距离比[76]。我们的识别地点算法的步骤如下:

  1. DBoW2 candidate keyframes(DBoW2候选关键帧): 我们用活动关键帧 K a K_a Ka查询Atlas
    DBoW2数据库,以检索三个与之最相似的关键帧,排除与 K a K_a Ka共视的关键帧。我们将用于地点识别的每个匹配候选项称为 K m K_m Km
  2. Local window(局部窗口):
    对于每个 K m K_m Km,我们定义一个本地窗口,其中包括 K m K_m Km,其最佳共视关键帧以及它们全部观察到的地图点。DBoW2直接索引提供了在 K a K_a Ka和本地窗口关键帧之间的关键点之间的潜在匹配集。对于这些2D-2D匹配中的每一个,我们还可以得到它们相应地图点之间的3D-3D匹配。
  3. 3D aligning transformation(3D对齐变换):
    我们使用RANSAC计算出最佳将本地窗口中的地图点与 K a K_a Ka中的地图点对齐的变换 T a m \mathbf{T}_{am} Tam。在两种情况下,我们都使用Horn算法[77],使用最小的三个3D-3D匹配来找到每个 T a m \mathbf{T}_{am} Tam假设。
  4. Guided matching refinement(引导匹配细化):
    本地窗口中的所有地图点都通过 T a m \mathbf{T}_{am} Tam变换,以在 K a K_a Ka中找到更多与关键点的匹配。搜索也是反向的,找到本地窗口关键帧中所有关键帧的匹配。使用找到的所有匹配,通过非线性优化来细化 T a m \mathbf{T}_{am} Tam,其中目标函数是双向重投影误差,使用Huber影响函数来对异常匹配提供鲁棒性。如果优化后的内点数超过阈值,则启动第二次引导匹配和非线性细化,使用较小的图像搜索窗口。
  5. Verification in three covisible keyframes(三个共视关键帧的验证):
    为了避免误报,DBoW2等待识别地点在三个连续的关键帧中触发,延迟或错过识别地点。我们的关键见解是,大多数情况下,验证所需的信息已经在地图中。为了验证地点识别,我们在地图的活动部分中搜索两个与 K a K_a Ka共视的关键帧,在本地窗口中的地图点与之的匹配数超过阈值。如果找不到它们,则进一步尝试新到来的关键帧的验证,而不需要再次启动词袋模型。验证持续到三个关键帧验证 T a m \mathbf{T}_{am} Tam,或两个连续的新关键帧未能验证它。
  6. VI Gravity direction verification(VI重力方向验证):在视觉惯性情况下,如果活动地图成熟,我们已经估计了 T a m ∈ S E ( 3 ) \mathbf{T}_{am} \in SE(3) TamSE(3)。我们进一步检查俯仰和横滚角是否低于阈值,以最终接受地点识别假设。

6.2 视觉地图合并(Visual Map Merging)

当成功的地点识别在活动地图 M a M_a Ma 中的关键帧 K a K_a Ka 和存储在Atlas M m M_m Mm 中的不同地图中的匹配关键帧 K m K_m Km 之间产生多地图数据关联时,具有对齐变换 T a m \mathbf{T}_{am} Tam,我们启动地图合并操作。在此过程中,必须特别注意确保在跟踪线程中重复利用信息以避免地图重复。为此,我们建议将地图 M a M_a Ma 引入到 M m M_m Mm 的参考中。由于 M a M_a Ma 可能包含许多元素并且合并它们可能需要很长时间,因此合并分为两个步骤。首先,在协同可见性图中的邻居定义的焊接窗口中执行合并,然后通过姿态图优化将更正传播到合并地图的其余部分。合并算法的详细步骤如下:

  1. Welding window assembly(焊接窗口组装):焊接窗口包括 K a K_a Ka 及其可见关键帧, K m K_m Km 及其可见关键帧,以及它们观察到的所有地图点。在将它们包含在焊接窗口之前,属于 M a M_a Ma 的关键帧和地图点通过 T m a \mathbf{T}_{ma} Tma 被转换以使它们相对于 M m M_m Mm 对齐。

  2. ** Merging maps(合并地图)**:地图 M a M_a Ma M m M_m Mm 被融合在一起成为新的活动地图。为了移除重复点,活跃搜索 M m M_m Mm 关键帧中的 M a M_a Ma 点。对于每个匹配,从 M a M_a Ma 中移除该点,而在 M m M_m Mm 中的点则累积所有已移除点的观察。通过添加连接 M m M_m Mm M a M_a Ma 关键帧的边,更新了协同可见性图和基本图,这要归功于发现的新的中期点关联。

  3. Welding bundle adjustment(焊接束调整):在焊接窗口中,对所有属于 M a M_a Ma M m M_m Mm 的关键帧进行优化,以及由它们观察到的地图点。为了修正测量的自由度,不属于焊接窗口但观察到任何本地地图点的 M m M_m Mm 关键帧也包括在束调整中,其姿态保持不变。优化完成后,焊接区域中包含的所有关键帧可以用于相机跟踪,实现地图 M m M_m Mm 的快速准确重复使用。

  4. Essential-graph optimization(基于图优化):使用整个合并地图的基本图进行姿态图优化,将焊接区域中的关键帧保持不变。此优化将从焊接窗口传播到地图的其余部分的更正。

6.3 视觉惯性地图合并(Visual-Inertial Map Merging)

视觉惯性合并算法遵循与纯视觉案例类似的步骤。步骤1和3修改以更好地利用惯性信息:

  • VI welding window assembly(VI焊接窗口组装):如果活动地图成熟,我们将可用的 T m a ∈ SE ( 3 ) \mathbf{T}_{ma} \in \text{SE}(3) TmaSE(3) 应用于映射 M a M_a Ma。如果活动地图不成熟,则使用可用的 T m a ∈ Sim ( 3 ) \mathbf{T}_{ma} \in \text{Sim}(3) TmaSim(3) M a M_{a} Ma 进行对齐。

  • VI welding bundle adjustment(VI焊接束调整):将关键帧 K a K_a Ka K m K_m Km 及其最后五个时间关键帧的姿态、速度和偏置作为优化变量。这些变量通过IMU预积分项相关联。对于 M m M_m Mm,包括但不限于焊接窗口之前的关键帧,但是其姿态保持固定;对于 M a M_a Ma,类似的关键帧被包括在内,但其姿态保持优化。所有由上述关键帧看到的地图点都进行优化,与来自 K m K_m Km K a K_a Ka 可见关键帧的姿态相关联。所有关键帧和点通过重投影误差相关联。

6.4 闭环检测(Loop Closing)

闭环校正算法类似于地图合并,但情况是成功的地点识别匹配的两个关键帧都属于活动地图。从匹配的关键帧组装焊接窗口,检测并融合点重复,创建新的协同可见性和基本图中的链接。下一步是姿态图优化,将闭环更正传播到地图的其余部分。最后一步是全局BA,通过考虑闭环校正的中期和长期匹配,找到MAP估计值。在视觉惯性情况下,全局BA仅在关键帧数量低于阈值时执行,以避免巨大的计算成本。

图3:焊接BA的因子图表示,包括重投影误差项(蓝色方框)、IMU预积分项(黄色方框)和偏置随机行走(紫色方框)
图3:焊接BA的因子图表示,包括重投影误差项(蓝色方框)、IMU预积分项(黄色方框)和偏置随机行走(紫色方框)

7. 实验结果

对整个系统的评估分为:

  1. 在 EuRoC [79] 数据集上进行单次会话实验:处理 11 个序列以生成地图,使用四种传感器配置:单目、单目惯性、立体和立体惯性。
  2. 使用鱼眼相机进行单目和立体视觉惯性 SLAM 的性能,在具有挑战性的 TUM VI 基准 [80] 上进行评估。
  3. 在两个数据集上进行多次会话实验。
    像往常一样,我们使用 RMS ATE [81] 来衡量准确性,使用 Sim(3) 变换(在纯单目情况下)和 SE(3) 变换(在其他传感器配置下)将估计的轨迹与地面真实轨迹进行对齐。尺度误差使用 Sim(3) 对齐中的 s 计算,公式为 ∣ 1 − s ∣ \left| 1 - s \right| 1s。所有实验均在一台Intel Core i7-7700 CPU上运行,时钟速度为3.6GHz,内存为32 GB,仅使用CPU。

7.1 在 EuRoC 上进行单次会话 SLAM(Single-session SLAM on EuRoC)

表2比较了使用其四种传感器配置的 ORB-SLAM3 与最先进系统的性能。我们报告的值是经过 10 次执行后的中位数。正如表中所示,ORB-SLAM3 在所有传感器配置中的准确性比文献中可用的最佳系统更高,大多数情况下差距很大。

在**单目和立体配置(monocular and stereo configurations)**中,由于更好的位置识别算法可以更早地关闭环路并提供更多中期匹配,我们的系统比 ORB-SLAM2 更精确。有趣的是,下一个最佳结果是由使用中期匹配的 DSM 获得的,即使它不关闭环路。

在**单目惯性配置(monocular-inertial configuration)**中,ORB-SLAM3 比 MCSKF、OKVIS 和 ROVIO 准确度高五到十倍,比 VI-DSO 和 VINS-Mono 的准确度提高一倍以上,再次显示了中期和长期数据关联的优势。与 ORB-SLAM VI 相比,我们的新型快速 IMU 初始化允许 ORB-SLAM3 在几秒钟内校准惯性传感器并从一开始使用它,能够完成所有 EuRoC 序列,并获得更高的准确性。

在**立体惯性配置(stereo-inertial configuration)**中,ORB-SLAM3 比 Kimera 和 VINS-Fusion 准确度高三到四倍。它的准确性仅被最近的 BASALT 所接近,因为 BASALT 是一种原生的立体惯性系统,无法完成序列 V203,其中一个摄像头的一些帧丢失。将我们的单目惯性和立体惯性系统进行比较,后者在大多数情况下表现更好。只有在两个 Machine Hall (MH) 序列中获得了较低的准确度。我们推测 MH 序列的深度场景较大可能导致立体测量不够精确,因此尺度不够准确。

总结性能,我们为每种传感器配置呈现了十次执行的中位数。对于一个稳健的系统,中位数准确地代表了系统的行为。但是,一个不稳健的系统将显示出其结果的高方差。这可以通过图 4 来分析,该图显示了十次执行中获得的错误。与 [46] 中发布的 DSO、ROVIO 和 VI-DSO 的图形进行比较,确认了我们方法的优越性。

在**纯视觉配置(pure visual configurations)**中,多地图系统通过在丢失跟踪时创建新地图,并在稍后与全局地图合并,增加了对快速运动的稳健性。这可以在无法解决的 V103 单目和 V203 立体序列中看到,这些序列无法通过 ORB-SLAM2 解决,而我们的系统在大多数执行中都能成功解决。立体相比于单目更稳健,这是由于其更快的特征初始化,额外的优势是估计出实际的尺度。

然而,我们的新型视觉惯性 SLAM 系统在单目和立体配置中都获得了巨大的稳健性提升。立体惯性系统在最具挑战性的 V203 序列中稍微优于单目惯性系统。

我们可以得出结论,惯性集成不仅提高了准确性,将中位 ATE 误差与纯视觉解决方案相比降低,而且还赋予系统出色的稳健性,使其具有更稳定的性能。

7.2 TUM-VI基准测试上的视觉惯性SLAM(Visual-Inertial SLAM on TUM-VI Benchmark)

TUM-VI数据集[80]包含6个不同环境中的28个序列,使用手持鱼眼立体惯性设备录制。轨迹的地面真实数据仅在序列开始和结束时可用,对于大多数序列来说,这仅代表整个轨迹的很小一部分。数据集中的许多序列不包含环路。即使起点和终点位于同一房间,视角方向相反,位置识别也无法检测到任何共同区域。使用这种地面真实数据进行评估等同于测量沿整个轨迹累积的漂移。

图4:彩色方块表示EuRoC数据集中每个序列的十次不同执行的RMS ATE
图4:彩色方块表示EuRoC数据集中每个序列的十次不同执行的RMS ATE

在单目惯性设置中,我们每幅图像提取1500个ORB点,在立体惯性中为每幅图像提取1000个点,之后应用CLAHE均衡化以解决数据集中的欠曝光和过曝光问题。对于户外序列,我们的系统在来自多云天空的远距离点上遇到困难,这在鱼眼摄像机中非常明显。这些点可能具有缓慢的运动,可能会引入相机姿态的漂移。为了防止这种情况发生,我们仅对户外序列中距当前相机姿态20米以上的点进行丢弃。更复杂的解决方案是使用图像分割算法来检测并丢弃天空。

我们获得的结果与文献中最相关的系统在表III中进行了比较,清楚地显示了ORB-SLAM3在单目惯性和立体惯性方面的优越性。最接近的系统是VINS-Mono和BASALT,它们基本上是带有闭环的视觉惯性测距系统,并且缺少中期数据关联。

更详细地分析我们系统的性能,它在小型和中型室内环境中,如房间和走廊序列中的误差最低,大多数情况下低于10厘米。在这些轨迹中,系统不断地重访和重用先前映射的区域,这是ORB-SLAM3的主要优势之一。此外,被跟踪的点通常距离不超过5米,这使得更容易估计惯性参数,防止它们发散。

在长达900米的大型室内序列中,大多数被跟踪的点相对较近,ORB-SLAM3的误差约为1米,除了一个接近5米的序列。相比之下,在一些长时间的户外序列中,缺乏接近的视觉特征可能导致惯性参数的漂移,特别是尺度和加速度计偏差,这导致了大约10到70米的误差。尽管如此,ORB-SLAM3是户外序列中表现最好的系统。

该数据集还包含三个非常具有挑战性的滑梯序列,在这些序列中,用户通过一个几乎完全缺乏视觉特征的黑暗管道下降。在这种情况下,纯视觉系统将会迷失,但我们的视觉惯性系统能够处理整个序列,并具有竞争性的误差,即使无法检测到闭环。有趣的是,使用Lukas-Kanade跟踪特征的VINS-Mono和BASALT在某些这样的序列中获得的准确性比使用ORB描述符的ORB SLAM3要好。

最后,房间序列可以代表典型的AR/VR应用,用户在小环境中使用手持或头戴设备移动。对于这些序列,整个轨迹都有地面真实数据可用。表III显示,ORB-SLAM3的准确性明显优于竞争方法。我们使用的四种传感器配置所获得的结果在表IV中进行了比较。与立体相比,纯单目的更高准确性只是表面上的:单目解决方案是等比例的,并且与地面真实数据对齐,具有7个自由度,而立体提供真实比例,并且与6个自由度对齐。使用单目惯性,我们进一步将平均RMS ATE误差降低到接近1厘米,并且也获得了真实比例。最后,我们的立体惯性SLAM将误差降低到1厘米以下,使其成为AR/VR应用的优秀选择。

7.3 多会话SLAM(Multi-session SLAM)

EuRoC数据集为其三个环境中的每个环境包含多个会话:在机器大厅中为5个,在Vicon1中为3个,在Vicon2中为3个。为了测试ORB-SLAM3的多会话性能,我们依次处理与每个环境对应的所有会话。同一环境中的每条轨迹都具有相同的世界参考地面真实数据,这允许执行单个全局对齐以计算ATE。

每个room中的第一个序列提供了一个初始地图。处理以下序列始于创建新的活动地图,该地图与先前会话的地图快速合并,并且从那时起,ORB-SLAM3从重新使用先前地图中获益。

表5报告了三个room中四种传感器配置的全局多会话RMS ATE,与EuRoC数据集中仅发布的两个多会话结果进行了比较:CCM-SLAM [71]在MH01-MH03中报告了纯单目结果,以及VINS-Mono [7]在五个机器大厅序列中使用单目惯性。在这两种情况下,ORB-SLAM3的准确性是竞争方法的两倍以上。对于VINS-Mono,ORB-SLAM3在单次会话中获得了2.6倍的准确性,而在多会话中,优势增至3.2倍,显示了我们地图合并操作的优越性。

将这些多会话性能与表II中报告的单会话结果进行比较,最显着的区别是,多会话单目和立体SLAM可以稳健地处理困难的序列V103和V203,这得益于对先前地图的利用。

我们还在TUM-VI数据集上进行了一些多会话实验。图5显示了在TUM建筑1内处理多个序列后的结果。在这种情况下,小room序列提供了在较长序列中缺失的闭环,将所有误差带到了厘米级别。虽然在room外没有地面真实数据,但将图与[82]中发布的图进行比较清楚地显示了我们的观点:我们的多会话SLAM系统比现有的视觉惯性测距系统获得了更好的准确性。这在图6中进一步得到了证实。尽管ORB-SLAM3在立体惯性单会话处理outdoors1方面排名较高,但仍然存在显着的漂移(约60m)。相反,如果在magistrale2之后以多会话方式处理outdoors1,这种漂移将显著减少,最终地图将更加准确。

7.4 计算时间(Computing Time)

表6总结了在跟踪和建图线程中执行的主要操作的运行时间,显示我们的系统能够以每秒30-40帧和每秒3-6个关键帧的实时速度运行。惯性部分在跟踪过程中花费的时间可以忽略不计,并且实际上可以使系统更加高效,因为帧率可以安全地降低。在建图线程中,每个关键帧的变量数量的增加已经通过惯性局部BA中较少的关键帧数量进行了补偿,实现了更高的准确性,同时具有相似的运行时间。由于跟踪和建图线程始终在活动地图中工作,多映射不会引入显著的开销。

表7总结了闭环和地图合并的主要步骤的运行时间。新颖的位置识别方法每个关键帧仅需要10毫秒。合并和闭环的时间保持在一秒以下,仅运行姿势图优化。对于闭环,执行完整的束调整可能会增加时间,最多几秒,这取决于涉及的地图大小。无论如何,由于这两个操作都在单独的线程中执行(图1),它们不会干扰系统其余部分的实时性能。视觉惯性系统仅执行两次地图合并以连接三个序列,而视觉系统执行一些额外的合并以从跟踪丢失中恢复。由于其较低的漂移,视觉惯性系统与纯视觉系统相比执行的闭环操作也较少。

虽然进行与其他系统的运行时间比较将会很有趣,但我们不进行比较,因为这将需要大量的工作量,超出了本工作的范围。

8. 结论

基于[2, 3, 4],我们提出了ORB-SLAM3,这是最完整的开源视觉、视觉惯性和多会话SLAM库,支持单目、立体、RGB-D、针孔和鱼眼相机。除了集成库本身外,我们的主要贡献还包括快速准确的IMU初始化技术和多会话地图合并功能,这些功能依赖于一种新的具有改进召回率的位置识别技术。

我们的实验结果表明,ORB-SLAM3是第一个能够有效利用短期、中期、长期和多地图数据关联的视觉和视觉惯性系统,达到了现有系统无法达到的准确度水平。我们的结果还表明,在准确性方面,使用所有这些类型的数据关联的能力胜过其他选择,例如使用直接方法而不是特征,或者对本地BA执行关键帧边缘化,而不是像我们做的那样假设一组外部静态关键帧。

ORB-SLAM3的主要失败案例是低纹理环境。直接方法对低纹理更加稳健,但受限于短期[27]和中期[31]数据关联。另一方面,匹配特征描述符成功解决了长期和多地图数据关联,但似乎对跟踪的稳健性不及使用光度信息的Lucas-Kanade。一个有趣的研究方向可能是开发适用于这四种数据关联问题的光度技术。我们目前正在探索这个想法,用于从人体内部的内窥镜图像构建地图。
在这里插入图片描述图5:TUM-VI数据集中的多会话立体惯性结果(前视图、侧视图和顶视图)。

在这里插入图片描述图6:多会话立体惯性。红色表示在对outdoors1进行单会话处理后估计的轨迹。蓝色表示首先对magistrale2进行多会话处理,然后对outdoors1进行处理。

关于四种不同的传感器配置,毫无疑问,立体惯性SLAM提供了最健壮和准确的解决方案。此外,惯性传感器可以以IMU速率估计姿态,该速率比帧速率高几个数量级,对于某些用例而言,这是一个关键特性。对于因其更大的体积、成本或处理要求而不希望使用立体相机的应用,可以使用惯性单目而不会在健壮性和准确性方面损失太多。只需记住,在纯旋转的探索过程中将无法估计深度。

在运动缓慢的应用或没有横滚和俯仰旋转的情况下,比如汽车在平坦区域行驶,IMU传感器可能难以初始化。在这些情况下,如果可能的话,使用立体SLAM。另外,最近使用卷积神经网络(CNNs)从单个图像估计深度的深度估计的最新进展为可靠的、真实比例的单目SLAM[83]提供了很好的前景,至少在CNN已经经过训练的相同类型的环境中。

参考文献

[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-1323, 2016.
[2] R. Mur-Artal, J. 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-SLAM: 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.
[5] C. Campos, R. Elvra, J. J. Gomez Rodriguez, J. M. M. Montiel, and J. D. Tardos, “ORB-SLAM: An accurate open-source library for visual, visual-inertial and multi-map SLAM,” https://github.com/UZ-SLAM_ab/ORB_SLAM3, 2020.
[6] C. Campos, J. M. M. Montiel, and J. D. Tardos, “Inertial-only optimization for visual-inertial initialization,” in IEEE International Conference on Robotics and Automation (ICRA), 2020, pp. 51-57.
[7] T. Qin, P. Li, and S. Shen, “VINS-Mono: A robust and versatile monocular visual-inertial state estimator,” IEEE Transactions on Robotics, vol. 34, no. 4, pp. 1004-1020, 2018.
[8] A. Rosinol, M. Abate, Y. Chang, and L. Carlone, “Kimera: an open-source library for real-time metric-semantic localization and mapping,” in IEEE International Conference on Robotics and Automation (ICRA), 2020, pp. 1689-1696.
[9] D. Galvez-Lopez and J. D. Tardos, “Bags of binary words for fast place recognition in image sequences,” IEEE Transactions on Robotics, vol. 28, no. 5, pp. 1188-1197, October 2012.
[10] R. Elvra, J. D. Tardos, and J. M. M. Montiel, “ORBSLAM-atlas: a robust and accurate multi-map system,” in IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 6253-6259.
[11] R. Tsai, “A versatile camera calibration technique for high-accuracy 3d machine vision metrology using off-the-shelf TV cameras and lenses,” IEEE Journal on Robotics and Automation, vol. 3, no. 4, pp. 323-344, 1987.
[12] J. Kannala and S. S. Brandt, “A generic camera model and calibration method for conventional, wide-angle, and fish-eye lenses,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 28, no. 8, pp. 1335-1340, 2006.
[13] A. J. Davison, “Real-time simultaneous localisation and mapping with a single camera,” in Proc. IEEE Int. Conf. Computer Vision (ICCV), Oct 2003, pp. 1403-1410, vol. 2.
[14] A. J. Davison, I. D. Reid, N. D. Molton, and O. Stasse, “MonSLAM: Real-time single camera SLAM,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 29, no. 6, pp. 1052-1067, 2007.
[15] H. Kim, “Scenelel-2 MonSLAM open-source library,” https://github.com/hammerkim/Scenelel.ib2.
[16] G. Klein and D. Murray, “Parallel tracking and mapping for small AR workspaces,” in IEEE and ACM International Symposium on Mixed and Augmented Reality (ISMAR), Nara, Japan, 2007, pp. 225-234.
[17] ----, “Improving the agility of keyframe-based SLAM,” in European Conference on Computer Vision (ECCV), 2008, pp. 802-815.
[18] ----, “Parallel tracking and mapping on a camera phone,” in 2009 8th IEEE International Symposium on Mixed and Augmented Reality, Oct 2009, pp. 83-86.
[19] ----, “PTAM-GPL,” https://github.com/Oxford-PTAM/PTAM-GPL, 2013.
[20] J. Engel, T. Schops, and D. Cremers, “LSD-SLAM: Large-scale direct monocular SLAM,” in European Conference on Computer Vision (ECCV), 2014, pp. 834-849.
[21] J. Engel, J. Stuckelter, and D. Cremers, “Large-scale direct SLAM with stereo cameras,” in IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2015, pp. 141-148.
[22] J. Engel, T. Schops, and D. Cremers, “LSD-SLAM: Large-scale direct monocular SLAM,” https://github.com/tum-vision/fsd_slam.
[23] C. Forster, M. Pizzoli, and D. Scaramuzza, “SVO: Fast semi-direct monocular visual odometry,” in Proc. IEEE Intl. Conf. on Robotics and Automation, 2014, pp. 15-22.
[24] C. Forster, Z. Zhang, M. Gassner, M. Werberger, and D. Scaramuzza, “SVO: Semidirect visual odometry for monocular and multicamera systems,” IEEE Transactions on Robotics, vol. 33, no. 2, pp. 249-265, 2017.
[25] C. Forster, M. Pizzoli, and D. Scaramuzza, “SVO,” https://github.com/tum-vision/fsd_slam.
[26] R. Mur-Artal, J. D. Tardos, J. M. M. Montiel, and D. Galvez-Lopez, “ORB-SLAM2,” https://github.com/taulmur/ORB_SLAM2, 2016.
[27] J. Engel, V. Koltun, and D. Cremers, “Direct sparse odometry,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 40, no. 3, pp. 611-625, 2018.
[28] H. Matsuki, L. von Stumberg, V. Usenko, J. Stuckler, and D. Cremers, “Omnidirectional DSSO: Direct sparse odometry with fisheye cameras,” IEEE Robotics and Automation Letters, vol. 3, no. 4, pp. 3693-3700, 2018.
[29] R. Wang, M. Schworter, and D. Cremers, “Sterco DSO: Large-scale direct sparse visual odometry with stereo cameras,” in IEEE International Conference on Computer Vision, 2017, pp. 3903-3911.
[30] J. Engel, V. Koltun, and D. Cremers, “DSO: Direct Sparse Odometry,” https://github.com/Jakobeglcos, 2018.
[31] J. Zubizarreta, I. Aguinaga, and J. M. M. Montiel, “Direct sparse mapping,” IEEE Transactions on Robotics, vol. 36, no. 4, pp. 1363-1370, 2020.
[32] J. Zubizarreta, I. Aguinaga, J. D. Tardos, and J. M. M. Montiel, “DSM: Direct Sparse Mapping,” https://github.com/janbizarreta/dsm, 2019.
[33] A. I. Mourikis and S. I. Roumeliotis, “A multi-state constraint Kalman filter for vision-aided inertial navigation,” in IEEE International Conference on Robotics and Automation (ICRA), 2007, pp. 3565-3572.
[34] M. Li and A. I. Mourikis, “High-precision, consistent EKF-based visual-inertial odometry,” The International Journal of Robotics Research, vol. 32, no. 6, pp. 690-711, 2013.
[35] M. K. Paul, K. Wu, J. A. Hesch, E. D. Nerurkar, and S. I. Roumeliotis, “A comparative analysis of tightly-coupled monocular, binocular, and stereo VINS,” in Proc. IEEE Int. Conf. Robotics and Automation (ICRA), 2017, pp. 165-172.
[36] M. K. Paul and S. I. Roumeliotis, “Alternating-stereo VINS: Observability analysis and performance evaluation,” in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2018, pp. 4729-4737.
[37] K. Chaney, “Monocular MSCKF,” https://github.com/danitidis-group/mscf_mono, 2018.
[38] S. Leutenegger, P. Furgale, V. Rabaud, M. Chli, K. Konolige, and R. Siegwart, “Keyframe-based visual-inertial SLAM using nonlinear optimization,” Proceedings of Robotics Science and Systems (RSS), 2013.
[39] S. Leutenegger, S. Lynen, M. Bosse, R. Siegwart, and P. Furgale, “Keyframe-based visual-inertial odometry using nonlinear optimization,” The International Journal of Robotics Research, vol. 34, no. 3, pp. 314-334, 2015.
[40] S. Leutenegger, A. Forster, P. Furgale, P. Gohl, and S. Lynen, “OKVIS: Open keyframe-based visual-inertial SLAM (ROS version),” https://github.com/ethz-asl/okvis_ros, 2016.
[41] M. Bloesch, S. Omari, M. Hutter, and R. Siegwart, “Robust visual inertial odometry using a direct EKF-based approach,” in IEEE/RSJ Intelligent Robots and Systems (IROS), 2015, pp. 298-304.
[42] M. Bloesch, M. Burri, S. Omari, M. Hutter, and R. Siegwart, “Iterated extended Kalman filter based visual-inertial odometry using direct photometric feedback,” The International Journal of Robotics Research, vol. 36, no. 10, pp. 1053-1072, 2017.
[43] M. Bloesch, S. Omari, M. Hutter, and R. Siegwart, “ROVIO,” https://github.com/ethz-als/loruo, 2015.
[44] T. Qin, J. Pan, S. Cao, and S. Shen, “A general optimization-based framework for local odometry estimation with multiple sensors,” arXiv preprint arXiv:1901.03638, 2019.
[45] T. Qin, S. Cao, J. Pan, P. Li, and S. Shen, “VINS-Fusion: An optimization-based multi-sensor state estimator,” https://github.com/HKUST-Aerial-Robotics/VINS-Fusion, 2019.
[46] L. von Stumberg, V. Usenko, and D. Cremers, “Direct sparse visual-inertial odometry using dynamic marginalization,” in Proc. IEEE Int. Conf. Robotics and Automation (ICRA), 2018, pp. 2510-2517.
[47] V. Usenko, N. Demmel, D. Schubert, J. Stuckler, and D. Cremers, “Visual-inertial mapping with non-linear factor recovery,” IEEE Robotics and Automation Letters, vol. 5, no. 2, pp. 422-429, April 2020.
[48] V. Usenko and N. Demmel, “BASALT,” https://gitlab.com/Vladyslav/Usenko/basat, 2019.
[49] A. Rosinol, M. Abate, Y. Chang, and L. Carlone, “Kimera,” https://github.com/MIT-SPARK/Kimera, 2019.
[50] A. J. Davison, “SceneLib 1.0,” https://www.doc.ic.ac.uk/~ajd/Scene/index.html.
[51] S. I. Rouneliotis and A. I. Mourikis, “Vision-aided inertial navigation,” Sep. 19 2017, US Patent 9,766,074.
[52] J. Civera, A. J. Davison, and J. M. M. Montiel, “Inverse depth parametrization for monocular SLAM,” IEEE Transactions on Robotics, vol. 24, no. 5, pp. 932-945, 2008.
[53] L. Clemente, A. J. Davison, I. D. Reid, J. Neira, and J. D. Tardos, “Mapping large loops with a single hand-held camera,” in Proc. Robotics: Science and Systems, Atlanta, GA, USA, June 2007.
[54] J. Civera, O. G. Grasa, A. J. Davison, and J. M. M. Montiel, “1-point RANSAC for extended Kalman filtering: Application to real-time structure from motion and visual odometry,” Journal of field robotics, vol. 27, no. 5, pp. 609-631, 2010.
[55] H. Strasdal, J. M. Montiel, and A. J. Davison, “Visual-AM: Why filter?” Image and Vision Computing, vol. 30, no. 2, pp. 65-77, 2012.
[56] ----, “Scale drift-aware large scale monocular SLAM,” Robotics: Science and Systems VI, vol. 2, 2010.
[57] H. Strasdal, A. J. Davison, J. M. M. Montiel, and K. Konolige, “Double window optimisation for constant time visual SLAM,” in IEEE International Conference on Computer Vision (ICCV), 2011, pp. 2352-2359.
[58] X. Gao, R. Wang, N. Demmel, and D. Cremers, “LDSO: Direct sparse odometry with loop closure,” in IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2018, pp. 2198-2204.
[59] S. H. Lee and J. Civera, “Loosely-coupled semi-direct monocular SLAM,” IEEE Robotics and Automation Letters, vol. 4, no. 2, pp. 399-406, 2018.
[60] T. Lupton and S. Sukkarieh, “Visual-inertial-aided navigation for high-dynamic motion in built environments without initial conditions,” IEEE Transactions on Robotics, vol. 28, no. 1, pp. 61-76, 2012.
[61] C. Forster, L. Carlone, F. Dellart, and D. Scaramuzza, “On-manifold preintegration for real-time visual-inertial odometry,” IEEE Transactions on Robotics, vol. 33, no. 1, pp. 1-21, 2017.
[62] A. Martinelli, “Closed-form solution of visual-inertial structure from motion,” International Journal of Computer Vision, vol. 106, no. 2, pp. 138-152, 2014.
[63] 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. 18-25, 2017.
[64] C. Campos, J. M. M. Montiel, and J. D. Tardos, “Fast and robust initialization for visual-inertial SLAM,” in Proc. IEEE Int. Conf. Robotics and Automation (ICRA), 2019, pp. 1288-1294.
[65] 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 localization in multiple maps for wearable augmented reality,” in 12th IEEE International Symposium on Wearable Computers, Sept 2008, pp. 15-22.
[67] C. Forster, S. Lynen, L. Kneip, and D. Scaramuzza, “Collaborative monocular SLAM with multiple micro aerial vehicles,” in IEEE/RSJ International Conference on Intelligent Robots and Systems, 2013, pp. 3962-3970.
[68] L. Riazuelo, J. Civera, and J. M. M. Montiel, “C2TAM: A cloud framework for cooperative tracking and mapping,” Robotics and Autonomous Systems, vol. 62, no. 4, pp. 401-413, 2014.
[69] J. G. Morrison, D. Galvez-Lopez, and G. Sibley, “MOARSLAM: Multiple operator augmented RSLAM,” in Distributed autonomous robotic systems. Springer, 2016, pp. 119-132.
[70] P. Schmuck and M. Chli, “Multi-UAV collaborative monocular SLAM,” in IEEE International Conference on Robotics and Automation (ICRA), 2017, pp. 3863-3870.
[71] ----, “CCN-SLAM: Robust and efficient centralized collaborative monocular simultaneous localization and mapping for robotic teams,” Journal of Field Robotics, vol. 36, no. 4, pp. 763-781, 2019.
[72] H. A. Daoud, A. Q. M. Sabri, C. K. Loo, and A. M. Mansoor, “SLAM: Visual monocular SLAM with continuous mapping using multiple maps,” PloS one, vol. 13, no. 4, 2018.
[73] V. Lepetit, F. Moreno-Noguer, and P. Fua, “EPnP: An accurate O(n) solution to the PnP problem,” International Journal of Computer Vision, vol. 81, no. 2, pp. 155-166, 2009.
A Real-Time Maximum Likelihood Solution to the Perspective-n-Point Problem," ISPRS Annals of Photogrammetry, Remote Sensing and Spatial Information Sciences, pp. 131-138, 2016.
[75] R. Mur-Artal and J. D. Tardos, “Fast relocalisation and loop closing in keyframe-based SLAM,” in Proc. IEEE Int. Conf. Robotics and Automation (ICRA). IEEE, 2014, pp. 846-853.
[76] D. G. Lowe, “Distinctive image features from scale-invariant keypoints,” International Journal of Computer Vision, vol. 60, no. 2, pp. 91-110, 2004.
[77] B. K. Horn, “Closed-form solution of absolute orientation using unit quaternions,” JOSA A, vol. 4, no. 4, pp. 629-642, 1987.
[78] J. Delmerico and D. Scaramuzza, “A benchmark comparison of monocular visual-inertial odometry algorithms for flying robots,” in IEEE International Conference on Robotics and Automation (ICRA), 2018, pp. 2502-2509.
[79] M. Burri, J. Nikolic, P. Gohl, T. Schneider, J. Rehder, S. Omari, M. W. Achtelik, and R. Siegwart, “The EuRoC micro aerial vehicle datasets,” The International Journal of Robotics Research, vol. 35, no. 10, pp. 1157-1163, 2016.
[80] D. Schubert, T. Goll, N. Demmel, V. Usenko, J. Stuckler, and D. Cremers, “The TUM VI benchmark for evaluating visual-inertial odometry,” in IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2018, pp. 1680-1687.
[81] J. Sturm, N. Engelhard, F. Endres, W. Burgard, and D. Cremers, “A benchmark for the evaluation of RGB-D SLAM systems,” in IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2012, pp. 573-580.
[82] D. Schubert, T. Goll, N. Demmel, V. Usenko, J. Stuckler, and D. Cremers, “The TUM VI benchmark for evaluating visual-inertial odometry,” arXiv preprint arXiv:1804.06120v3, March 2020.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值