博客专栏

EEPW首页 > 博客 > 视觉/视觉惯性SLAM最新综述:领域进展、方法分类与实验对比(3)

视觉/视觉惯性SLAM最新综述:领域进展、方法分类与实验对比(3)

发布人:计算机视觉工坊 时间:2021-07-26 来源:工程师 发布文章

7. 实验基准

使用第 6 节中的分类,为实验基准选择了五种主要算法:DSO [33]、LSD-SLAM [35]、ORB-SLAM2 [76],以及两种 viSLAM 方法:ROVIO [26] 和 Vins-Mono [ 74]。它们都可以被视为其类别中的参考方法。它们体现了现有设计的多样性,理论上适合我们的用例。它们在表 2 中以粗体显示。根据我们的分类,我们为pedestrian context选择 viSLAM 算法 ROVIO 和 Vins-Mono。它们也被 [3] 认为是所有平台和数据集上最准确和最健壮的算法,而 ROVIO 被认为是一个很好的折衷方案。Chen 等人 [15] 也认为 Vins-Mono 作为被测 viSLAM 算法中精度最好的算法。

这些算法的选择不仅基于其在该领域的重要性,而且还基于感兴趣的用例的要求:在城市环境中使用手持设备进行行人位姿估计。选定的方法应针对具有挑战性的环境中的准确位姿估计,并在开源中可用。该基准测试没有应用与计算困难相关的限制。当我们在手持设备(例如智能手机)上寻求实现时,预计对许多扰动具有全局鲁棒性。我们只为 viSLAM 部分选择了适用于单目相机和 IMU 的方法。行人应用意味着必须考虑用户的行为。手持相机的运动可能会抖动,并且会出现快速的不均匀运动。在用户需求方面,我们更喜欢不需要非常具体的手动初始化的方法。由于大多数行人应用程序都在户外(例如,在城市环境中),所选算法必须处理大规模场景、长时间实验(几分钟到一个小时)和光线变化。考虑到他们在上述分类中的评估,Kimera [60] 和 VIORB [75] 可以被添加到这个基准中。但即使 Kimera 的目标是使用单目摄像头运行,目前代码的一部分(闭环检测)也需要双目摄像头。至于 VIORB,作者没有公开他们的代码。

7.1. Experiments and Dataset Features

实验设置、数据采集和分析采用了以下功能。它们特定于我们的用例。

(i) 硬件(手持设备):具有卷帘快门和 IMU 记录的前向单目相机;

(ii) 位姿估计:我们主要关注当前位姿的在线正确性,而不是重建路径的整体精度;

(iii) 室外场景:光照变化、观察场景尺度的可变性;

(iv) 行人:整体速度(和低平均速度)变化不大,但相机摇晃。由于步行速度,加速度在每个轴上遵循特定的前后运动;

(v) 大轨迹:它从几个闭环扩展到没有闭环;

(vi) 城市环境:移动物体、观察到纹理不良的元素(天空、墙壁等)的潜在时刻;

(vii) 大众:期望用户友好(无需特定的手动初始化,无需针对每个场景调整参数)。

选择 EuRoC MAV 数据集 [6],包括惯性数据,用于所有五种方法的整体比较。可以考虑使用其他 IMU+视觉数据集来扩展我们的实验评估。在 [83] 中,描述了一个室内/室外数据集,但与 EuRoc 数据集的 1 mm 相比,其真实准确度仅为 15 cm。[84] 中提供的数据集是由苏黎世城市空间中的 MAV 记录的。MAV 位移的基本事实使用 Pix4D 摄影测量进行后处理,而不是像在 EuRoc 数据集中那样由外部定位系统(例如,运动捕捉系统)进行测量。[85] 中提供的数据集,与 EuRoc 相比,它具有良好的准确性和更高的测试序列可变性。我们选择 EuRoc 是因为它在其他综述中的广泛,采用简化了我们的结果与其他研究的比较。我们将在未来的工作中考虑其他数据集。有兴趣的读者可以找到 [15, 83–85] 中引用的其他数据集。

EURoc 包括无人机在相同环境和六个自由度地面实况下飞行的各种场景。我们选择仅关注 11 个可用场景中的三个场景。它们对应于表 4 中详述的不同特征,这些特征对于评估所选算法的性能都很有趣。让我们注意到无人机的飞行运动与手持相机的相似,这与 KITTI 数据集 [86] 的车载相机相反,其 10 Hz 的采样频率不足以跟踪快速运动。手部运动的幅度经常被低估。运动比与步行步态自然同步的手臂的运动更重要。将手持设备翻转并抬起以探索环境。这就是我们可以将其与无人机动力学进行比较的原因。选定的方法还在一个名为“IRSTV”的新数据集上进行了测试,该数据集由步行者使用手持设备沿城市路径行走收集,以及硬件设置,如图 6 所示。它对应于室内和明亮的室外空间中 466 m 的步行路径。它包括具有不同尺度场景的图像:街道、开放空间和房间。它还包含对重建环境的玻璃覆盖的建筑物的观察,这在经典的视觉里程计上是失败的。在采集开始时没有强加用于动态初始化的特定运动。

10.png11.png

硬件设置包括一个 Garmin 相机和一个名为 ULISS [87] 的专用平台(图 6)。摄像头为“VIRB 30 Ultra”,焦距固定,帧率为60 Hz,1920*1080像素分辨率,对应智能手机采集的标准分辨率。ULISS 包括一个三轴惯性测量单元和一个以 200 Hz 采样的三轴磁力计、一个气压计、一个高灵敏度 GPS 接收机和一个天线。这些低成本传感器通常嵌入在移动设备中。这种硬件设置可以访问原始数据,而无需通常嵌入在移动设备中的预过滤。ULISS 和相机数据使用来自嵌入在两个设备中的 GPS 接收器的时间戳精确同步。用于室内/室外行人导航的参考系统 PERSY [88] 附在脚上。它以累积步行距离的 0.3% 的水平定位精度为行人的场景提供地面实况。它在图 6 中以绿色显示。

基准测试是在 2.60 GHz Intel Core i7-6700HQ CPU 上进行的。我们的 Linux 环境位于虚拟机 (Oracle VirtualBox 5.2.12) 中。我们允许所有四个内核都具有 100% 的分配资源和 5 GB 的 RAM 使用量。所有算法均在 Ubuntu 16.04 中测试。当需要 ROS 时,我们将ROS kinetic和catkin workspace一起使用。下一节将详细分析所选数据集上的所选算法,并评估最适合我们案例的算法。

7.2. Experimental Assessment Methodology

我们从 EuRoc 数据集开始对之前提供的两个数据集进行了测试。所有结果都是五次运行的平均值,以考虑随机异常值缓解部分。在表 5 和表 6 中,我们提供了每个数据集上每种方法的相对定位误差 (RPE) 和绝对定位误差 (APE) 的平均值。APE 和 RPE 是用 evo 包 github.com/MichaelGrupp/evo 获得的。APE 是估计位置(2D 或 3D)与真实位置之间的欧几里德距离,而 RPE 是连续位置估计(2D 或 3D)之间的欧几里德距离。我们计算了均方根误差 (RMSE)、标准差 (σ) 和最大误差 (max) 的平均值作为常量指标。APE 是在所有方法的 Sim (3) Umeyama 对齐之后计算的 [89]。RPE 计算为漂移:每米的平移或旋转误差。这种局部精度与关键帧的数量无关,并允许比较 VO 和 vSLAM。

12.png13.png

RPE 通过检查位姿-位姿变换的正确性来评估漂移误差部分。例如,好的 RPE 和坏的 APE 可能表示漂移校正不好。它可能来自低效的回环框架和/或错误的初始化,因为知道初始化是 SLAM [20] 的弱点之一。这也可能意味着主要的“单一”错误很可能发生在本地并且没有得到纠正。在这种情况下,最大 RPE 应该比 RMSE RPE 大得多。

使用提供的时间戳,我们将实际位置与估计位置进行比较以计算 APE。它们在 EuRoc 数据集的 3D 中计算,但对于 IRSTV 数据集仅在 2D 中计算,因为 PERSY 仅提供水平平面中行人路径的基本事实。绘制累积 APE 分布函数 (CDF) 以用于测试算法的全局准确性和稳定性评估。误差是在由形成局部水平面的 和 轴以及指向上方的轴定义的局部导航框架中计算的。为了模拟在不同环境中的各种任务之间不需要人工干预的实际应用程序,运行计算所需的参数对于所有运行都是固定的。

我们还评估了与用例相关的五个功能的性能(第 7.1 节),以及稳定性(对于给定场景从一次运行到另一次运行,结果是否可能会发生变化)、整体质量 姿态估计,以及无需后处理即可估计真实比例的能力。对于最后一点,我们简单地确定了结果和真值之间轨迹总长度上的相对误差。

14.png

7.3. Detailed Analysis

分析从单目 ORB-SLAM2、Vins-Mono 和 DSO 开始,给出了三个 EuRoc 上的最佳 RPE 和 APE。它继续使用 LSD-SLAM 和 ROVIO,在 IRSTV 数据集上提供不太好的结果和失败。

7.3.1. ORB-SLAM2 Result Analysis

总的来说,ORB-SLAM2 提供了最佳的 RPE RMSE。在 APE 方面,它在 RMSE 和最大误差方面都优于 DSO 和 Vins-Mono。这突出了其纠正漂移效应的效率。图 7 显示了 3 EuRoc 定位误差的 CDF。我们观察到一个非常好的稳定性,最低的这个基准和最好的可预测性在 ROVIO 之后具有最低的 RMSE 标准偏差。ORB-SLAM2 提供了显着的稳定性,最大 APE/RMSE 比率约为 2,这是该基准测试的最低比率。除了 ROVIO 之外,它还提供了最佳的可预测性,并且 RMSE 的标准偏差最低。

15.png

MH01 和 MH03 结果相似,说明对运动具有良好的鲁棒性。与 MH01 和 MH03 相比,MH05 几乎不受干扰的 RPE 和 APE 似乎表明对缺乏纹理的鲁棒性。然而,这仅仅是因为 ORB-SLAM2 具有重新定位和闭合回路的能力,详见第 7.4 节,其中 ORB-SLAM2 在没有闭环的情况下进行了测试。ORB-SLAM2 的 VO 基础实际上对缺少纹理的 MH05 部分非常敏感。IRSTV 的结果表明 ORB-SLAM2 可以完美处理大型困难环境。尽管没有闭环,但它输出了相当精确的结果,在行驶距离上有 1.1% 的 APE RMSE 误差。没有观察到由于环境或初始化发出的失败。

总而言之,发现 ORB-SLAM2 在各种测试场景(包括非常大的规模)中具有一致性和鲁棒性,并且具有非常可靠的优化和闭环框架。尽管仅使用高速视觉惯性数据集的视觉信息,但它的性能至少与包括 Vins-Mono 在内的其他最先进方法一样好。它的视觉里程计基础对缺乏纹理非常敏感,但闭环和重新定位允许纠正轨迹。然而,让我们注意到 ORB-SLAM2 有一个非常严格的关键帧剔除策略,这意味着它也输出更少的位姿。与真正估计的相比,这显然提高了输出。这也意味着结果有时会在几秒钟内没有任何姿势输出,因为在此期间没有捕获新的关键帧(或后来被剔除),如图 8 所示。这可以通过降低关键帧管理的严重性来避免代码中的参数。禁用闭环的结果显示在第 7.4 节中。

16.png

7.3.2. Vins-Mono Result Analysis

Vins-Mono RPE RMSE 是我们最好的基准测试之一。Vins-Mono APE 结果也是第二好(与 DSO 并列在 ORB-SLAM2 之后)。其 APE max/RMSE 比率为 2 比 3,其整体一致性 (, max) 可与 DSO 相媲美。然而,我们在 MH01 中获得了不太可预测的结果(11.5%),这表明高速实际上有利于 Vins-Mono 的稳健性。CDF 误差图的形状(图 9)还表明仍有一些奇异误差使整体结果恶化。

17.png

Vins-Mono 最显着的结果是真实尺度估计的高精度。MH01 为 2.7%,MH03 为 2.8%,MH05 为 0.9%。在 MH03 中,RPE 和 APE 并未真正受到运动增加的影响。与 MH01 或 MH03 相比,MH05 的结果也很棒,这表明对缺乏纹理的鲁棒性。

对 IRSTV 数据集的测试输出了行进距离的 3.3% 的 APE RMSE,对于大多数行人定位应用来说,这是一个令人满意的结果。然而,与 EuRoC 不同,Vins-Mono 在初始化方面遇到了很多困难,可能是因为在没有特定的初始化阶段。当检测到具有足够视差的运动时,它通常可以初始化。然而,此时估计的IMU加速度偏差的质量是不确定的,这极大地影响了结果的准确性和鲁棒性。我们还发现玻璃门反射反复是导致故障的原因。此外,对 IRSTV 数据集的实际规模估计远不如在 EuRoC 的近距离环境中精确(大约 43% 的误差!)。尽管如此,我们相信这些结果是可以改进的。在数据集的开头为动态初始化添加特定的运动可能会改善结果和鲁棒性。

总的来说,Vins-Mono 被发现对所呈现场景中的困难具有鲁棒性,其出色的 RPE RMSE 有望用于长期实验。虽然 ORB-SLAM2 的结果总体上还是比较好,但 Vins-Mono 的真正好处是它能够准确估计真实的尺度。因此,结果可以很容易地在线解释为给定地图上的真实世界位姿。然而,IRSTV 数据集的结果表明,很难满足硬件方面的要求以充分利用 Vins-Mono,或者可能需要特定的用户移动来正确初始化 IMU 偏差。

7.3.3. DSO Result Analysis

与 Vins-Mono 和 ORB-SLAM2 一起,DSO 方法输出所有测试方法的最佳 RPE RMSE 结果。作为一种纯 VO 方法,其准确性仅取决于里程计的质量。DSO 的结果也很明显,因为它们与 APE σ和max的规律性与 Vins-Mono 的误差相当。

由于 MH03 的结果与 MH01 的结果相当,并且 MH05 的结果与 MH01 的结果相当,因此发现 DSO 对运动具有鲁棒性。尽管 DSO 是纯视觉里程计,但它的总体结果是我们基准测试中的第二好,并且有希望用于大规模环境(低 RPE RMSE),尽管图 10 显示误差与轨迹长度有关,而不是其他任何东西 (参见表 4)。与我们基准测试的其他两种最佳方法相比,DSO 还具有在实时位姿估计上获得这种精度的优势,而不仅仅是在轨迹重建上。

18.png

DSO 正确估计路径并重建 IRSTV 数据集的环境。当相机从街道移动到一个大的地方时,尺度估计会失败,并且轨迹是用两种不同的尺度估计的。我们只考虑了 APE 误差估计轨迹的第二部分,因为它是唯一通过三种方法重建良好的部分(图 11)。在行驶距离上的 APE RMSE 为 3.8%,结果不如 ORB-SLAM2 和 Vins-Mono 的结果精确。让我们注意,与 Vins-Mono cf 不同,DSO 没有遇到初始化困难。第 7.3.2 节。较低的精度以及尺度估计问题可以通过使用滚动快门相机来解释,而直接方法在全局快门下表现更好。

19.png

总体而言,DSO 在各种环境中都是精确、一致且稳健的。重建的半稠密地图给出了观察到的周围环境的易读性。看到它对各种场景的适应能力有多强,就结果而言,DSO 唯一真正的弱点是它纯粹的 VO 性质。即使在非常大的规模和困难的环境下,它也表现出色,但我们遇到了一个糟糕的尺度估计问题。将其与闭环框架结合以将其转变为真正的 SLAM 方法可能会很有趣。还要注意的是,DSO 需要 GPU 加速,这意味着它不容易适应广泛的应用程序。

7.3.4. LSD-SLAM Result Analysis

据我们所知,EuRoC 上没有公开的 LSD-SLAM 测试可用。它的包是这里测试的所有算法中最古老的,因此我们不否认可能适应 EURoC 的可能性(例如 Stereo 版本 [90] 可能在这里表现更好。(开源 github 项目似乎也不是 不再维护,也不会升级到最新的 Ubuntu 和 ROS 版本。)然而,通过使用今天可访问的常规包、参数和建议,我们设法在 MH03 和 MH05 上运行 LSD-SLAM。尽管在 MH01 上取得了令人鼓舞的结果( 图 12),它对运动的鲁棒性和可能缺乏纹理不足以为 MH03 和 MH05 产生不错的结果。此外,在我们进行的每次 MH03 运行结束前以及 MH05 上五分之三的运行中,跟踪都失败了。为了更好地支持 LSD-SLAM 的初始化,我们切断了无人机不规则移动的数据集的开头,以初始化其 IMU 参数。

20.png

观察在多次运行中获得的非常随机的行为,很明显 LSD-SLAM 在这里的失败是由于初始化不当造成的。最有可能的是,LSD-SLAM 结果并没有反映这种方法在理想条件下的真实能力。这个结果突出了一个事实,即在初始化期间需要特别注意的方法不太适合许多无法带来这种注意的应用程序。在选择 SLAM 方法时,对特定用户干预和控制的需求是需要考虑的关键因素。根据当前的设置和初始化过程,发现 LSD-SLAM 对于类似于 EUROC Machine Hall 中呈现的场景不够健壮。

7.3.5. ROVIO Result Analysis

查看数据集 MH01 和 MH03,在所有方法中,ROVIO 输出最差的 RPE RMSE。累积误差分布图(如图 13)所示,显示 MH01 和 MH03 80% 的定位误差在沿轴 25 cm、沿轴 20 cm 和沿轴 15 cm 以下。总的来说,该方法仍然准确,例如,MH01 和 MH03 沿轴的最大误差分别为 40 cm 和 80 cm。总的来说,它给出了最糟糕的 APE 之一(除了 LSD-SLAM 故障),APE RMSE 比其他方法差 3 到 20 倍,APE 最大差 3 到 12 倍。所有 ROVIO 运行在数据集上给出相同的结果;没有随机参数。

21.png

一般的尺度估计对于真实尺度的轨迹估计来说已经足够好了。MH01 的值等于 4.9%、MH03 的 4.7% 和 MH05 的 12.8%。与 MH01 相比,MH03 的性能并没有特别改变(参见 APE 和 RPE),因此运动似乎很稳健。然而,MH05 上非常糟糕的结果表明,它出人意料地(因为它是 VIO)受到无纹理环境中的通道的严重影响。对于大规模,精度的缺乏与纯 VIO 性质相结合可能会导致非常不精确的结果。然而,像 ROVIO 一样,纯 VO 在长期实验的内存管理方面显示出优势,因为它仅适用于关键帧窗口。

总结一下 ROVIO,发现它不如其他方法精确。它只是一个没有闭环和全局优化的纯 VIO。例如,它仍然是一种有趣的 VIO 方法,用于在线控制无人机,或者任何更关注局部位姿估计而不是重建轨迹相对于参考真值的正确性的应用程序。它的可预测性对于重复性任务和已知场景很有趣。然而,无纹理环境似乎会带来严重的问题,并且结果缺乏一致性对于需要持续评估精度的应用程序来说是个问题。ROVIO 在 IRSTV 数据集上失败。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。



关键词: 计算机视觉

相关推荐

技术专区

关闭