ORBSLAM系列|ORB-SLAM3论文精读(三)

发布于 2023-9-11 11:28
浏览
0收藏

ORBSLAM系列|ORB-SLAM3论文精读(三) -汽车开发者社区

实验结果

整个系统的评估被分为:

1)EuRoC上单段建图实验:处理11个序列中的每一个序列以生成地图,其具有四种配置:单目、单目-惯性、双目和双目-惯性;

2)在具有挑战性的TUM VI基准数据集上,使用鱼眼相机的单目和双目视觉-惯性SLAM的性能;

3)在两个数据集上的多段建图实验。

ORBSLAM系列|ORB-SLAM3论文精读(三) -汽车开发者社区


A.EuRoC上单段SLAM


表格II使用ORB-SLAM3的四种传感器配置将其与最先进的相关系统比较性能。我们给出的值是在执行10次后的中值。如表格中所示,ORB-SLAM3在所有传感器配置中获得比文献中现有最佳系统更精确的结果,在大多数情况下,这种结果相差很大。

ORBSLAM系列|ORB-SLAM3论文精读(三) -汽车开发者社区

在单目和双目配置中,本文系统比ORB-SLAM2更精确,因为它具有更好的位置识别算法,这能够更早地回环并且提供更多的中期匹配。有趣的是,第二个最佳结果由DSM获取,它也使用中期匹配,尽管它不具有回环。


在单目-惯性配置中,ORB-SLAM3比MSCKF、OKVIS和ROVIO的精度高5-10倍,比VI-DSO和VINS-Mono的精度高两倍,再次证明了中期和长期数据关联的优势。与ORB-SLAM VI相比,我们新型的快速IMU初始化允许ORB-SLAM3在几秒内标定惯性传感器并且从最初使用它,它能够完成所有的EuRoC序列,并且获取更好的精度。


在双目-惯性配置中,ORB-SLAM3比Kimera和VINS-Fusion的精度高3-4倍。它的精度只有最新的BASALT能够达到,由于BASALT是一个原生的双目-惯性系统,它无法完成序列V203,其中来自一个相机的一些帧丢失了。与本文的单目-惯性和双目-惯性系统相比,后者在大多数情况下执行效果更好。只有在两个Machine Hall(MH)序列上,才会获得更低的精度。我们推测MH序列中更加开阔的场景可能导致不精确的双目三角化,因此获得更低精度的尺度。


为了总结性能,我们给出了每种传感器配置执行10次的中值。对于鲁棒的系统,中值精确地表示系统的表现。但是一个非鲁棒系统将在其结果中显示出很高的方差。这能够使用图4分析,图4使用颜色显示10次执行中每一次获得的误差。与DSO、ROVIO和工作Direct sparse visual-inertial odometry using dynamic marginalization中发布的VI-DSO相比,证实了本文方法的优越性。

ORBSLAM系列|ORB-SLAM3论文精读(三) -汽车开发者社区

在纯视觉配置中,多地图系统通过在跟踪丢失时创建新的地图以提高对于快速运动的鲁棒性,该地图之后将与全局地图合并。这能够在序列V103单目和V203双目中看出,ORB-SLAM2无法求解这些序列,而本文系统能够在大多数执行中成功地求解这些序列。与预期相同,由于双目更快的特征初始化,所以双目比单目更为鲁棒,并且具有估计真实尺度的额外优势。


然而,我们新型的视觉-惯性SLAM系统的单目和双目配置都在鲁棒性上实现了巨大的飞跃。与单目-惯性系统相比,双目-惯性系统具有很小的优势,特别是在最具挑战性的V203序列中。


我们总结得出,惯性积分不仅提高了精度,与纯视觉解决方案相比减少了中值ATE误差,还赋予了系统优异的鲁棒性,具有更稳定的性能。


B.TUM-VI基准数据集上的视觉-惯性SLAM


TUM-VI数据集由6个不同环境中的28个序列组成,其使用手持鱼眼双目-惯性装置记录。轨迹的真值仅在序列的开始和结束处存在,对于大多数序列,这只表示整个轨迹的一小部分。数据集中的很多序列不包含回环。即使起点和终点在同一房间中,视角方向是相反的,并且位置识别无法检测到任何共同的区域。使用这一真值进行评估相当于测量整条轨迹的累积漂移。


在应用CLAHE均衡化处理数据集中发现的曝光不足和过度曝光之后,我们在单目-惯性配置下对每张图像提取1500个ORB点,在双目-惯性配置下对每张图像提取1000个ORB点。对于室外序列,本文系统处理来自天空的非常远的点,它们在鱼眼相机中是可见的。这些点可能具有缓慢的运动,这会在相机位姿中引入漂移。为了防止这种情况发生,我们丢弃距离当前相机位姿20米以外的点,这仅用于室外序列。一种更复杂的解决方案为使用图像分割算法来检测并且去除天空部分。


将获取的结果与表格III中的文献中最相关的系统进行比较,这清晰地表明了ORB-SLAM3在单目-惯性和双目-惯性中的优越性。最相近的系统是VINS-Mono和BASALT,它们本质上是具有回环但是没有中期数据关联的视觉-惯性里程计系统。

ORBSLAM系列|ORB-SLAM3论文精读(三) -汽车开发者社区

接着,更详细地分析本文系统的性能,它在小型和中型室内环境序列room和corridor序列中获得最低的误差,其中大多数误差小于10cm。在这些轨迹中,系统不断地返回并且复用先前的建图区域,这是ORB-SLAM3的主要优势之一。此外,被跟踪点通常在5米范围内,这使得估计惯性参数更为容易,从而防止它们发散。


在长达900米的magistrale室内序列中,大多数被跟踪点相对较近,ORB-SLAM3获得的误差大约在1米,除了在一个序列中误差接近5米。相反,在一些长的室外序列中,缺少近距离视觉特征可能导致惯性参数发生漂移,尤其是尺度和加速度计偏置,这导致大约10-70米的误差。尽管如此,ORB-SLAM3是室外序列中表现最佳的系统。


该数据集还包含三个非常具有挑战性的slides序列,其中用户穿过一个几乎没有视觉特征的昏暗管状滑梯。在这种情况下,一个纯视觉系统将跟踪丢失,但是本文的视觉-惯性系统能够以有竞争力的误差处理整个序列,即使没有检测到回环。有趣的是,使用Lucas-Kanade跟踪特征的VINS-Mono和BASALT在某些序列中获得比匹配ORB描述子的ORB-SLAM3更好的精度。


最终,room序列可以代表典型的AR/VR应用,其中用户在小型环境中使用手持或者头戴式设备移动。对于这些序列,整条轨迹的真值是可用的。表格III表明,ORB-SLAM3比其它有竞争力的方法更为准确。使用我们的四种传感器配置获取的结果在表格IV中进行比较。

ORBSLAM系列|ORB-SLAM3论文精读(三) -汽车开发者社区

与双目相比,明显纯单目的精度更高:单目解决方案是不具有尺度的,其通过7自由度与真值轨迹对齐,而双目提供了真实尺度,并且通过6自由度与真值轨迹对齐。通过单目-惯性,我们进一步将平均RMS ATE误差降低至接近1cm,同时还获得了真实尺度。最后,我们的双目-惯性SLAM带来的误差小于1cm,使其成为AR/VR应用的最佳选择。


C.多段SLAM


EuRoC数据集包含三个环境中每个环境的若干段:5个序列Machine Hall、3个序列Vicon1和3个序列Vicon2。为了测试ORB-SLAM3多段的性能,我们依次处理与每个环境对应的所有场景段。同一环境中的每条轨迹具有世界参考系下的真值,这允许执行单次全局对齐来计算ATE。


每个房间中的首个序列提供一张初始的地图。从创建新活跃地图开始处理后面的序列,其快速与先前段地图合并,并且从那开始,ORB-SLAM3通过复用先前的地图而获益。


表格V给出了三个房间中四种传感器配置的全局多段RMS ATE,与EuRoC数据集中两个唯一发布的多段结果相比较:CCM-SLAM给出了MH01-MH03中的纯单目结果,以及VINS-Mono在5个Machine Hall序列上使用视觉-惯性的结果。在这两种情况中,ORB-SLAM3的精度比其它具有竞争力的方法高两倍以上。在VINS-Mono的情况中,ORB-SLAM3在单段中获取2.6倍更高的精度,并且在多段中优势提高到3.2倍,这证明了本文地图合并操作的优越性。

ORBSLAM系列|ORB-SLAM3论文精读(三) -汽车开发者社区

将这些多段性能与表格II中给出的单段结果相比,最显著的区别在于多段单目和双目SLAM能够鲁棒地处理困难的序列V103和V203,这归功于对先前地图的利用。


我们还在TUM-VI数据集上执行一些多段实验。图5展示了在处理TUM building中的若干序列后的结果。在这种情况中,小型room序列提供了较长序列中没有的回环,从而将所有误差保持在厘米级。尽管在室外无法获得真值,将图5与工作The TUM VI benchmark for evaluating visual-inertial odometry中发布的图片相比,清晰地表明了我们的观点:我们的多段SLAM系统比现有的视觉-惯性里程计系统获得远远更好的精度。

ORBSLAM系列|ORB-SLAM3论文精读(三) -汽车开发者社区

图6进一步举例说明这一点。尽管ORB-SLAM3在对outdoors1的双目惯性单段处理中排名更高,但是仍然存在显著的漂移(≈60米)。相比之下,如果outdoors1是在magistrale2后以多段方式处理的,则该漂移将显著减少,并且最终的地图会更为精确。

ORBSLAM系列|ORB-SLAM3论文精读(三) -汽车开发者社区


D.计算时间


表格VI总结了跟踪和建图线程中执行的主要操作的运行时间,这表明本文系统能够以每秒30-40帧和每秒3-6关键帧的频率实时地运行。惯性部分在跟踪过程中消耗的时间可以忽略不计,事实上,由于能够安全地降低帧率,所以惯性部分能够使系统更高效。在建图线程中,使用惯性局部BA中较少数量的关键帧来补偿每个关键帧更多数量的变量,从而以相似的运行时间实现更好的精度。由于跟踪线程和建图线程始终在活跃地图中工作,因此多段建图不会引入显著开销。

ORBSLAM系列|ORB-SLAM3论文精读(三) -汽车开发者社区

表格VII总结了回环和地图合并的主要步骤的运行时间。新型的位置识别方法每个关键帧只消耗10ms。合并和回环的时间维持在1s以内,仅运行位姿图优化。对于回环,根据所涉及地图的规模,执行全局BA可能将耗时提高到几秒。在任何情况下,由于这两个操作都是在单独的线程中执行的,因此它们不会干扰系统其余部分的实时性能。视觉-惯性系统仅执行两次地图合并以关联三个序列,同时视觉系统执行一些额外的合并以从跟踪丢失中恢复。归功于它们较低的漂移,与纯视觉系统相比,视觉-惯性系统也执行了更少的回环操作。

ORBSLAM系列|ORB-SLAM3论文精读(三) -汽车开发者社区

尽管这会很有趣,但是我们没有将本文系统的运行时间与其它系统进行比较,因为这将需要超出本工作范围的大量工作。

总结

本文提出了ORB-SLAM3,它是针对单目、双目和RGB-D相机的最完整的开源库用于视觉、视觉-惯性和多段SLAM,其支持针孔和鱼眼相机模型。除了集成库本身外,我们的主要贡献为快速且精确的IMU初始化技术,以及多段地图合并功能,其依赖于一种新的具有改进召回率的位置识别技术。


本文的实验结果表明,ORB-SLAM3是首个能够有效地利用短期、中期、长期和多地图数据关联的视觉和视觉-惯性系统,其达到了超过现有系统的精度级别。本文结果还表明,就精度而言,使用所有这些类型的数据关联能够超过其它选择,例如使用直接法代替特征点法或者对局部BA执行关键帧边缘化来代替我们假设外部关键帧为静态的做法。


ORB-SLAM3的主要失效场景为弱纹理环境。直接法对于弱纹理更为鲁棒,但是受限于短期和中期数据关联。另一方面,匹配特征描述子成功地解决了长期和多地图数据关联,但是对于跟踪而言,似乎不如使用光度信息的Lucas-Kanade鲁棒。一个有趣的研究方向可能是开发适用于四种数据关联问题的光度技术。目前,我们正在探索从人体内的内窥镜图像来构建地图的想法。


关于四种不同的传感器配置,毫无疑问,双目-惯性SLAM提供了最鲁棒且精确的解决方法。此外,惯性传感器允许以IMU频率估计位姿,它比图像帧率高了几个数量级,这对于一些用例而言是关键的特性。由于双目相机体积、成本或者处理要求较高,因此一些应用不希望使用它,这时能够使用单目-惯性,而不会在鲁棒性和精度方面损失太多。仅需记住,探索过程中的纯旋转无法估计深度。


在慢速运动或者没有侧倾和俯仰旋转的应用中(例如平坦区域内的汽车),IMU传感器很难初始化。在这些情况下,如果可能,使用双目SLAM。否则,使用CNNs从单张图像上估计深度的最新进展为可靠且具有真实尺度的单目SLAM提供了良好的前景(至少在训练CNN的相同类型的环境中)。


文章转载自公众号:自动驾驶专栏

分类
收藏
回复
举报
回复
相关推荐