基于PCA的特征提取和两级匹配的激光雷达SLAM(翻译)

同时定位和建图(SLAM)在机器人领域已经研究了几十年,其中光探测和测距(LiDAR)由于其可直接、准确和可靠的三维测量而广泛应用于各种应用领域。然而,当在退化场景中运行时,LiDAR SLAM的性能可能会下降,这使得在复杂环境中实现实时、鲁棒和准确的状态估计仍然是一个具有挑战性的问题。在本文中,我们提出了一种基于关键帧的三维激光雷达SLAM,该SLAM使用基于精确主成分分析(PCA)的特征提取方法和有效的两阶段匹配策略,以实现更稳健、更准确和全局一致的估计性能。在KITTI数据集和传感器系统收集的自定义数据集上,通过将我们的方法与最先进的开源方法LOAM和LeGo-LOAM进行比较,证明并评估了有效性和性能。实验结果表明,在不损失实时性能的情况下,里程测量精度和地图一致性得到了明显改善。

introduction

可靠和准确的定位和映射是成功的移动机器人和无人车完成感知和进一步任务的关键先决条件。通过使用基于视觉和光探测与测距(LiDAR)的传感器,人们已经做出了巨大努力,以实现高性能、实时的同时定位和映射(SLAM)系统,该系统可以支持机器人和测量设备的六自由度状态估计。
基于视觉的方法利用了相机测量的大视场(FOV)和丰富的纹理信息,但由于缺乏直接深度及其对照明变化的敏感性而受到限制。与相机相比,由于直接、准确和可靠的深度测量,LiDAR对于SLAM更为可靠,即使在具有挑战性的环境中,也能够实现稳健的状态估计。
近几十年来,已经提出了许多基于激光雷达的定位和建图方法,包括基于二维激光雷达的方法,如Gmapping和Hector SLAM,以及基于三维激光雷达的方法,如LOAM、LeGo-LOAM和IMLS-SLAM。其中,基于LOAM的方法自从在KITTI里程测量基准网站发布以来,已经达到了最先进的性能并名列前茅。基于LOAM,LeGo-LOAM使用显式地平面检测和环路检测来实现更好的全局映射一致性和实时性能。IMLS-SLAM使用扫描断层模型框架来实现非常低的漂移SLAM。
然而,现有的纯激光雷达SLAM系统存在一些挑战。一些具有高速的实时LiDAR SLAM系统在复杂环境中表现出漂移甚至完全失效。特征特性对于基于特征的系统非常重要,例如视点和曲率评估的距离不变,但还没有一个好的特征具有这种特性,这在某些情况下会导致基于特征的LiDAR SLAM的大漂移。状态估计的准确性、鲁棒性和效率没有很好地平衡。
在这篇文章中,我们提出了一种新的三维激光雷达里程表和映射方法。首先,提出了一种基于主成分分析(PCA)的曲率评估方法来提取边缘和平面特征,这对于曲率评估是视点和距离不变的,有助于提高匹配精度和鲁棒性。此外,在建图中使用了两阶段匹配策略,包括帧到稀疏局部映射匹配和关键帧到局部映射匹配,以提高定位精度和建图一致性,这也保留了计算效率。为了进一步提高全局建图一致性,使用基于显式正态分布变换(NDT)的闭环和基于图的姿态优化器来减少大规模场景中的累积误差。使用KITTI和定制数据集(包括各种室内和室外场景)对所提出的框架进行了广泛测试。定量和定性的实验结果表明,里程表的准确性和映射一致性得到了明显提高,同时,实时性也没有损失。此外,实验结果也证明了系统的不确定度小,重复性好。
基于PCA的特征提取和两级匹配的激光雷达SLAM(翻译)_第1张图片
本文的其余部分组织如下。我们回顾了第二节中的相关工作,并在第三节中描述了我们方法的细节。第四节介绍了实验结果和分析,第五节给出了结论。

Related Work

根据扫描匹配中使用的策略,基于激光雷达的SLAM可以分为两种类型:基于迭代最近点(ICP)的[方法和基于特征的方法。
基于ICP的LiDAR SLAM使用类似ICP的方法,如ICP变体或NDT,来查找帧到帧或帧到建图的对应关系和变换。代表作有Hector SLAM、Google Cartographer、IMLS-SLAM和SuMa++。
Kohlbrecher等人提出的Hector SLAM通过求解使用前一帧姿态和当前扫描构造的最小二乘问题来估计当前帧的姿态。这是一种基于二维激光雷达的方法,在其建图模块中使用占用栅格地图。该方法是有效的,但其性能在很大程度上取决于所提供的初始值。Cartographer是Hess等人提出的一种流行的开源LiDAR SLAM。通过引入基于hector SLAM的子地图和环路检测,Cartographer在二维和三维激光雷达上实现了最先进的性能。IMLS-SLAM使用扫描建模框架来实现低漂移三维激光雷达SLAM,并在KITTI里程表基准测试中排名前20。SuMa++使用与语义信息相关的基于ICP的匹配,该语义信息由完全卷积神经网络有效提取,以去除动态对象并提高映射的准确性。所有基于ICP的LiDAR SLAM都试图使用扫描中的所有点来查找逐点级别的对应关系,这不可避免地导致计算效率降低,并限制了其应用,尤其是在资源受限的平台上。IMLS-SLAM无法在现代笔记本电脑上实现实时性能。
相反,基于特征的LiDAR SLAM使用提取的特征点而不是原始激光扫描的所有点来实现点云配准和进一步的状态估计。许多类型的点特征和特征描述符已被设计用于点云配准,如Harris3D、ISS、NARF和D3Feat。然而,一帧中的激光雷达点云非常稀疏,而这些特征或描述符对稀疏点云的不变性较差。同时,LiDAR SLAM需要实时性能,而这些特征或描述符的匹配速度较慢。这些导致这些特性不适用于LiDAR SLAM。LOAM在KITTI里程表基准站点上排名前三,已经有几年了,它利用有效的特征提取和匹配方法,通过点线和点平面匹配实现最先进的性能。通过粗糙曲率计算提取边缘和平面特征,并用于匹配。然后,将基于帧到帧匹配的快速里程表和基于帧到局部地图匹配的建图相结合,以获得最终的低漂移状态估计结果。最近,提出了一些基于LOAM的改进版本,如LeGo-LOAM、LOAM-livox和I-LOAM。最著名的LeGo-LOAM通过添加地面检测、环路检测和两步优化来扩展LOAM,以进一步减少大型场景中的漂移并提高计算效率。LOAM-livox利用点选择、动态对象滤波和运动补偿来产生更稳健和低漂移的估计。I-LOAM利用激光雷达回波的强度信息进行更稳健的特征对应搜索。此外,Huo等人提出了一种改进的LOAM,使用分割和聚类算法进行边缘和平面特征提取,以实现更好的准确性。
我们的系统是基于特征的激光雷达SLAM。与以前的基于特征的LiDAR SLAM系统相比,我们提出了一种基于PCA的方法,以实现更准确和鲁棒的特征提取,该方法对视角和距离变化保持不变。此外,我们利用基于关键帧和稀疏局部建图的两阶段匹配策略来确保复杂环境中的准确性和效率。基于NDT的环闭合和基于图的姿态优化器用于进一步提高大型场景中状态估计的一致性。

Methodology

A. System Overview

如图1所示,所提出的系统包括三个模块:特征提取、帧跟踪和建图。特别是,建图模块中包括一个闭环子模块和一个基于图形的姿态优化器。给定一个输入激光帧,我们提取平面和边缘特征(第III-B节),使用帧到稀疏局部地图匹配(第III-C节)跟踪激光雷达帧,并确定当前帧是否应被选为关键帧(第II2-D节)。在建图模块中,执行关键帧到局部地图的匹配以产生更精确的姿态估计和全局地图(第III-E节)。闭环子模块构造循环约束,这些约束被添加到姿态图优化器以进一步细化估计一致性(第III-F节)。

B. Feature Extraction

基于PCA的特征提取和两级匹配的激光雷达SLAM(翻译)_第2张图片
基于PCA的特征提取和两级匹配的激光雷达SLAM(翻译)_第3张图片
基于PCA的特征提取和两级匹配的激光雷达SLAM(翻译)_第4张图片
基于PCA的特征提取和两级匹配的激光雷达SLAM(翻译)_第5张图片
选择(4)中比率局部最小的边缘点作为主要特征点。我们通过消除靠近主要特征点的其他边缘点来进一步去除不稳定的边缘点。因此,精确地确定了所有平面特征和强边缘特征。
为了评估有效性,我们将我们的方法提取的特征与LOAM提取的特征进行了比较,如图3所示。使用激光扫描仪在办公室中收集点云。我们的方法提取的边缘特征更加完整,而LOAM丢失了一些明显的边缘特征,如红色箭头所示。该方法提取的平面特征完整且分布均匀,对扫描匹配有很大帮助。定量实验和比较见第IV-B节
基于PCA的特征提取和两级匹配的激光雷达SLAM(翻译)_第6张图片

Initial Pose Estimation and Frame Tracking

基于PCA的特征提取和两级匹配的激光雷达SLAM(翻译)_第7张图片
基于PCA的特征提取和两级匹配的激光雷达SLAM(翻译)_第8张图片

D. Keyframe Maintenance

我们在帧跟踪和建图模块中使用关键帧来获得局部精确和全局一致的估计结果,而不会降低效率。如果满足以下所有条件,则将LiDAR帧确定为关键帧。

  • 提取的特征点(包括边缘和平面特征)的数量需要大于某个阈值。阈值设置为160,这可以确保有足够的特征点用于实际匹配。
  • 超过25%的特征点在帧中丢失对应的边缘或平面以进行稀疏局部地图跟踪,这意味着这些特征无法在先前建立的稀疏局部地图中找到对应的特征,或者与跟踪结果的旋转角度大于5度。设置这些阈值可以确保高计算效率和定位精度。
    以上两个条件可以大大提高我们整个系统的效率,而不会损失精度。原因如下。这些条件确保当前帧可以向稀疏局部地图提供足够的特征信息以用于进一步跟踪,并且局部地图可以提供环境的合理覆盖,以确保未来的跟踪不会丢失。上述两种条件的有效性也在实验中得到验证,如第IV-C节所示。我们的新关键帧选择策略不是使用简单的距离标准,如Hdl图SLAM,而是更可靠,并且在不损失准确性的情况下节省了计算资源。

E. Mapping

基于PCA的特征提取和两级匹配的激光雷达SLAM(翻译)_第9张图片
基于PCA的特征提取和两级匹配的激光雷达SLAM(翻译)_第10张图片

Loop Closing

在闭环线程中,我们尝试在所有先前关键帧中为每个新插入的关键帧找到闭环候选,并将相应的闭环约束添加到姿态图优化器中。我们使用Hdl-graph-SLAM相同的闭环标准来识别候选,并且所有候选形成帧集合C。
新的关键帧 K i K_i Ki及其周围的关键帧用于构建稀疏局部地图 M 0 M_0 M0,C中的n个候选帧用于创建一组稀疏局部地图[ M 1 , . . . , M n M_1,...,M_n M1,...,Mn]。
我们尝试使用NDT算法将这些地图与 M 0 M_0 M0进行匹配,这是一种点云配准方法。与使用最邻近匹配策略的经典点云匹配算法ICP相比,NDT对姿态初始值的依赖性较小。将这些地图与 M 0 M_0 M0匹配后,我们对这些匹配进行评分。如果得分的最大值超过某个阈值,则检测闭环,并且将相应的关键帧 K j K_j Kj识别为闭环对应的关键帧。此后,可以计算变换 T i j T^j_i Tij,该变换被用作位姿图优化中的约束。

你可能感兴趣的:(人工智能,算法,slam)