3D激光雷达分辨率对基于图的SLAM方法究竟有何影响?

文摘   2024-11-10 07:00   上海  

作者 | auto_driver  编辑 | 深蓝AI

点击下方卡片,关注“3D视觉之心”公众号

第一时间获取3D视觉干货

>>点击进入→3D视觉之心技术交流群

引言


本篇文章对3D激光SLAM方法的优势、劣势和局限性进行比较。此外,还评估了不同分辨率对这些方法的影响。

1
摘要

同时定位和建图(SLAM)是自主系统在环境中运行的关键组成部分,它需要一张一致的地图来实现可靠定位。几十年来,SLAM一直是一个广泛研究的话题,大多数解决方案都是基于相机或者激光雷达的。早期基于激光雷达的方法主要依赖于2D数据,而更新的框架使用3D数据。本项工作调研了最新的用于城市环境的3D激光雷达图SLAM方法,旨在比较它们的优势、劣势和局限性。此外,本文还评估了它们相对于64通道和128通道激光雷达的鲁棒性。关于SLAM方法,本文使用KITTI里程计数据集(仅使用64通道激光雷达)和新数据集AUTONOMOS-LABS在现实世界城市环境中评估SC-LeGO-LOAM、SC-LIO-SAM、Cartographer和HDL-Graph。新数据集AUTONOMOS-LABS是使用在柏林郊区行驶的车辆所采集的,包括64线和128线激光雷达。实验结果以定量指标的形式给出,并且通过定性地图来补充。

2
背景介绍

同时定位和建图(SLAM)是自主系统在环境中运行的关键组成部分,它需要一张距离地图来实现可靠的定位。SLAM已经在过去几十年中被广泛研究,早期基于激光雷达的方法主要依赖于2D数据,而最新的进展利用3D数据来提高精度和鲁棒性。

智能和自动驾驶汽车(AVs)已经越来越融入日常生活,并且被部署到各种应用中,例如交通、配送服务、农业、监控和工业自动化。从历史上看,移动机器人通常仅限于执行重复或者预先确定的任务中。然而,技术的进步极大地改变了这一观点。人工智能(AI)、最新传感器技术(例如3D激光雷达)和增加的计算资源使机器人和自动驾驶汽车能够在现实世界环境中自主导航。此外,SLAM和定位系统的进步进一步提高了它们的可靠性。

在SLAM中,配备车载传感器的机器人或者车辆估计其当前位置,同时构建周围环境的地图。车辆的位姿(位置和姿态)提供了其当前状态的全面描述,而地图则代表对相关元素(例如障碍物和路标的位置)的选择性描述,这表征了机器人的运行环境。SLAM技术通常可分为三种主要类型:基于视觉、基于激光雷达和基于视觉-激光雷达融合。早期基于激光雷达的方法主要利用2D数据,而最新的方法利用3D数据来提升性能。

本项工作对最新的城市环境中基于3D激光雷达的图SLAM方法进行调研,目标是比较它们在不同扫描分辨率下的优势、劣势和局限性。图1概述了基于图SLAM方法的关键模块。

图1|基于激光雷达的图SLAM框架的代表性示例



具体而言,本文评估了SC-LeGO-LOAM、SC-LIO-SAM、Cartographer和HDL-Graph SLAM。为了在现实世界条件下评估这些方法,本文使用KITTI里程计数据集和AUTONOMOS-LABS数据集来给出实验结果。AUTONOMOS-LABS数据集包括使用64线和128线传感器获取的3D激光雷达数据,从而强调了评估不同传感器分辨率对于了解其对SLAM性能影响的重要性。


3
图SLAM框架与数据集






如前所述,本项工作着重于基于图的SLAM方法。在若干种SOTA方法中,本文选择Cartographer、SC-LIO-SAM、SC-LeGO-LOAM和HDL-Graph SLAM,这是因为它们在不同应用中已经得到广泛应用。选择这些方法是因为它们的独特特性:Cartographer在2D和3D建图方面的效率、SC-LIO-SAM与激光雷达和IMU数据的结合以提高精度、SC-LeGO-LOAM的实时特征提取和HDL-Graph SLAM适用于高分辨率激光雷达数据。这些方法遵循一个由四个关键组成部分构成的共同结构:初始扫描对齐、后续位姿优化、检测先前访问的位置和地图构建。初始扫描对齐将连续的激光雷达扫描对齐,以建立车辆运动的初始估计。后续位姿优化通过最小化对齐误差并且确保轨迹的一致性来优化这一估计。检测先前访问的位置(也称为闭环)通过识别车辆返回已知位置来帮助减少漂移。最后,地图构建使用优化后的位姿估计来构建环境的精确表示。图1展示了基于图SLAM的流程示例。

为了评估该算法,本文使用KITTI VISION基准和AUTONOMOS-LABS数据集。KITTI数据集包含使用车载Velodyne HDL-64E S2和IMU(OXTS RT 3003)获取各种城市环境中的点云。AUTONOMOS-LABS数据集是使用Velodyne HDL-64(序列00和22)和VLS-128激光雷达(序列25和55)来采集的。

由于数据质量较差,从AUTONOMOS-LABS数据集中获取的结果是在不使用IMU的情况下生成的。这一局限性可能会影响位姿估计的精度,因为IMU数据通常用于提供有关车辆姿态和运动的额外信息,有助于减少漂移并且提高整体SLAM性能。除了Cartographer外,本文仅使用激光雷达数据(即没有IMU数据)来测试算法,以研究不同激光雷达分辨率对SLAM的影响。表格2总结了AUTONOMOS-LABS数据集中使用的64线和128线激光雷达传感器之间的主要区别。

表格2|AUTONOMOS-LABS数据集中使用的VLS-128和HDL-64E_S2激光雷达

4
实验结果

本节概述了实验并且讨论了实证结果。这些实验是在KITTI里程计和AUTONOMOS-LABS数据集上进行的,从中仅选择包含重新访问位置的序列。

4.1 性能指标

本文基于一系列标准进行全面评估,包括处理时间、绝对轨迹误差(ATE)和相对轨迹误差(RTE)。ATE测量估计的轨迹和真值之间的整体差异。因此,给定估计位置和对应真值的序列,并且假设这两条轨迹是对齐的,则计算如下:

另一方面,RTE通过比较固定时间间隔内估计轨迹和真值轨迹中连续点之间的相对位置来量化局部漂移。给定作为位姿估计,作为真值位姿,时间戳时的相对位姿误差计算如下:

对于个位姿的序列,获取个相对位姿误差,其中参数设置为10。RTE通常分为两个部分:旋转和平移,它基于RMSE计算如下:

其中,分别从中提取平移和旋转分量。

为了评估每种算法的处理时间(毫秒),本文计算了主线程的平均耗时,并且取出最高值,因为它们是并行处理的。

4.2 实现细节

本文方法都是使用开源代码和默认参数来实现的,但是有一个例外:对于Cartographer,由于在KITTI数据集上使用默认扫描匹配器时获得的旋转结果不佳,因此配置了Ceres扫描匹配器。Ceres扫描匹配器是一个基于优化的扫描匹配库,在处理复杂的旋转和非线性时提供了更好的精度,这就是选择它来替代默认扫描匹配器的原因。

所有实验均在装有Ubuntu 20.04 LTS和ROS Noetic的机器上进行,ROS包的频率为0.01Hz,以确保每一帧都得到处理,算法根据其默认参数进行配置,如表格1所示。

表格1|默认SLAM参数和算法

4.3 结果

1)KITTI数据集:四种SLAM算法在KITTI里程计数据集上的ATE和RTE结果如表格3所示。

表格3|在KITTI里程计数据集上的ATE和RTE结果

基于特征的算法SC-LIO-SAM和SC-LeGO-LOAM(SC-LL)在两个数据集上均表现一致,SC-LIO-SAM展现出轻微的优势。计算成本和性能之间的权衡使这两种方法在实际应用中均是可行的。尽管Cartographer取得了合理的结果,但是由于无法生成3D地图以及依赖于高频率IMU数据而受到限制。HDL-Graph SLAM是唯一一种使用原始点云扫描匹配而没有进行特征提取的方法,它在所有轨迹上实现了最精确的扫描匹配(即较低的RPE)。然而,缺乏更鲁棒的闭环算法导致整体结果不太理想。

在回环检测方面,HDL-Graph SLAM与其它方法没有明显差异,但是与SC-LeGO-LOAM相比,检测到的正确回环更少。一旦识别到回环,SC-LeGO-LOAM能够通过立刻纠正其路径来将轨迹与真值精确对齐。这可以在KITTI序列00的末尾观测到,其中HDL-Graph SLAM无法完成回环。在KITTI序列07中,HDL-Graph SLAM实现了最佳的ATE和RTE,但是仍然无法在末尾识别出重新访问的位置,导致环路没有闭合。相比之下,所有其它算法成功地完成了闭环。对于KITTI序列05和08,Cartographer的表现优于SC-LeGO-LOAM和SC-LIO-SAM(如图2所示),生成了合理的轨迹估计。Cartographer的主要局限性是它无法生成3D地图,尽管它估计了6自由度位姿。

图2|在KITTI里程计数据集上估计的路径

在扫描匹配性能方面,SC-LIO-SAM和Cartographer展现出相当的性能。SC-LIO-SAM的卓越旋转性能可以归因于其使用IMU数据作为前端组件以及使用了激光雷达里程计。来自IMU的精确旋转数据使得SC-LIO-SAM优于其它方法。HDL-Graph SLAM无法闭环并且无法减少漂移。相比之下,其余三种算法成功地识别出回环并且相应地纠正其轨迹。

2)AUTONOMOS-LABS数据集:图3展示了具有多次重新访问的序列,而表格4给出了在AUTONOMOS-LABS数据集上的性能结果。

图3|在AUTONOMOS-LABS数据集上估计的路径

表格4|在AUTONOMOS-LABS数据集每10帧的ATE和RTE结果

在这些序列中,HDL-Graph SLAM与真值轨迹的偏差最大。另一方面,SC-LeGO-LOAM和SC-LIO-SAM展现出高闭环检测率。然而,由于存在明显的漂移,在序列00中,只有小部分轨迹与真值重叠。漂移使算法无法与参考轨迹完美对齐。对序列22也存在类似观测结果,但略有不同:与序列00相比,HDL-Graph SLAM的性能有所提升,而SC-LeGO-LOAM和SC-LIO-SAM的精度所有下降。

图3所示的序列25(使用128线激光雷达获取)分析表明,HDL-Graph SLAM和SC-LeGO-LOAM几乎立刻沿直线段发生漂移。沿着这一长段没有明显的特征或者重新访问的位置,这表明在配准过程中无法补偿累积误差,因此导致漂移不断增加。在这种情况下,图优化被证明是无效的。SC-LeGO-LOAM和SC-LIO-SAM之间的关键区别在于点云配准。SC-LIO-SAM在配准过程中利用点云去畸变,这一技术在处理直线段时特别有用。此外,SC-LIO-SAM和SC-LeGO-LOAM中的位置识别模块有助于在两个序列中获得更好的性能。在序列55中,HDL-Graph SLAM展现出明显的误差累积,无法一直与序列保持重叠,并且持续偏离参考轨迹。SC-LIO-SAM的平均ATE较低,与SC-LeGO-LOAM相比,展现出更精确的性能。尽管HDL-Graph SLAM实现了最低的RTE,但是由于缺乏鲁棒的闭环检测算法,因此它无法超越其它方法。

与其它方法相比,HDL-Graph SLAM的扫描匹配精度在所有序列中均更高,这与KITTI数据集中观测到的结果是相似的。这一结果归因于与基于特征的方法(边缘和角点特征)相比,HDL-Graph SLAM在配准过程中利用的点数更多。

3)扫描分辨率和配准耗时:SC-LIO-SAM、SC-LeGO-LOAM和HDL-Graph SLAM的配准过程之间有所不同。与HDL-Graph SLAM不同(直接在原始的稠密点云上进行配准),SC-LIO-SAM和SC-LeGO-LOAM利用球面图像投影,然后对扫描进行特征提取和关联。由于图像投影和特征关联模块是在单独的线程中运行的,因此这些算法的配准时间由数据提取和关联所需的时间来定义的,结果如表格5所示。

表格5|64线和128线激光雷达的配准时间(毫秒)比较

如前所述,HDL-Graph SLAM在所有序列中均表现出卓越的性能,尽管由于配准过程中使用的点数较多导致计算时间增加。另一个值得注意的观测结果是,从64线激光雷达到128线激光雷达,配准时间有所增加。对于SC-LIO-SAM和SC-LeGO-LOAM,这一增加大约是2倍,这与分辨率加倍导致匹配时间增加的预期相符。这种增加的配准时间意味着更高的计算负担,这可能会限制处理能力有限或者快速响应是非常重要的场景中的实时适用性。对于128线激光雷达,HDL-Graph SLAM的配准时间大约为100ms。

4)地图密度:表格6表明,与64通道激光雷达地图相比,128通道激光雷达地图包含的点数和密度高得多。

表格6|64线和128线激光雷达地图点云密度比较

128通道激光雷达地图的密度和数据内容的增加提供了若干个优势,例如更详细且更精确的环境表示,这提高了地图生成的可靠性并且改进了特征检测。更高的分辨率允许更好地识别小目标或者距离远的目标,这对于复杂的环境特别有利。更高的点密度提供了更详细的环境信息,这可以提高地图生成和特征检测的精度。然而,随着数据集规模的增加,图优化和闭环(对于维持地图一致性至关重要)会导致处理时间延长和计算量增加。

为了应对这些挑战,一种方法是对点云进行降采样,从而减少计算负担,同时保留SLAM的重要信息。然而,必须谨慎管理这一过程,以避免丢失可能有损地图整体精度的重要信息。

5
总结

在现实世界数据集上的实验结果表明,SC-LIO-SAMCartographer总体上获得了相当好的结果。此外,基于所进行的定量和定性比较,SC-LIO-SAMCartographer在所有序列中均获得了卓越的性能。SC-LeGO-LOAMSC-LIO-SAM均能够在必要时检测到重新访问的位置,从而防止系统漂移。HDL-Graph先前表明,它是扫描匹配性能最好的一个,这主要是由于在稠密原始点云上运行,但是缺乏鲁棒的位置识别模块是图优化过程中无法补偿误差的关键原因。由于缺少IMU数据源,CartographerFU-Berlin数据集和KITTI序列00上无法获得结果。全局描述子(Scan Context)是SC-LeGO-LOAMSC-LIO-SAM的关键组件,由于它在位置识别方面非常有效,因此它对于这些方法识别正确路径是至关重要的。

Ref:
Impact of 3D LiDAR Resolution in Graph-based SLAM Approaches: A Comparative Study
编译|Deep蓝同学
审核|fafa


【3D视觉之心】技术交流群
3D视觉之心是面向3D视觉感知方向相关的交流社区,由业内顶尖的3D视觉团队创办!聚焦维重建、Nerf、点云处理、视觉SLAM、激光SLAM、多传感器标定、多传感器融合、深度估计、摄影几何、求职交流等方向。扫码添加小助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)


扫码添加小助理进群

【3D视觉之心】知识星球

3D视觉之心知识星球主打3D感知全技术栈学习,星球内部形成了视觉/激光/多传感器融合SLAM、传感器标定、点云处理与重建、视觉三维重建、NeRF与Gaussian Splatting、结构光、工业视觉、高精地图等近15个全栈学习路线,每天分享干货、代码与论文,星球内嘉宾日常答疑解惑,交流工作与职场问题。



3D视觉之心
3D视觉与SLAM、点云相关内容分享
 最新文章