【论文笔记】SA-LOAM:Semantic-aided LiDAR SLAM with Loop Closure
~~~ ~~~~ 基于 LiDAR 的 SLAM 系统无疑比其他系统更准确和稳定,但其回环检测仍然是一个悬而未决的问题。随着点云3D语义分割的发展,可以方便、稳定地获取语义信息,对于高级智能至关重要,也有利于SLAM。本文提出了一种基于 LOAM 的具有回环闭合的新型语义辅助 LiDAR SLAM,名为 SA-LOAM,它利用了里程计中的语义以及回环检测。具体来说,我们提出了一种语义辅助 ICP,包括语义匹配、下采样和平面约束,并在回环检测模块中集成了基于语义图的位置识别方法。受益于语义,本文提高了定位精度,有效检测闭环,即使在大规模场景中也可以构建全局一致的语义图。在 KITTI 和 Ford Campus 数据集上进行的大量实验表明,与最先进的方法相比,我们的系统显着提高了基线性能,具有对未知数据的泛化能力,并取得了有竞争力的结果。
本文提出了 SA-LOAM,一种新颖的基于语义辅助 LOAM 的具有回环闭合的 SLAM 系统。具体来说,在名为 FLOAM [18] 的开源基于 LOAM 的 SLAM 系统上构建了一个语义辅助的 ICP 和基于语义图的回环检测模块。在语义辅助 ICP 中,实现了基于语义的聚类、下采样和平面约束,以减少错误匹配,平衡效率和准确性,并去除错误的平面特征以提高配准质量。本文的闭环检测模块基于之前的工作 [16],它将 3D 场景转换为语义图,并通过图匹配网络获得场景相似度。将其与循环候选生成、几何验证相结合,并维护一个轻量级语义图,以实现高效和稳健的循环闭合检测。图 1 是结果的演示,本文的贡献总结如下:
• 我们提出了一个完整的基于 LiDAR 的语义 SLAM 系统,即使在大规模场景中也可以构建全局一致的语义地图。
• 我们提出了一种基于LOAM 的语义辅助ICP 方法,它充分利用了语义并提高了里程计的准确性。
• 我们在我们的系统中集成了一种基于语义的闭环检测方法,并维护了一个图形映射,以有效地检测闭环并消除累积错误。
• 在 KITTI 和 Ford Campus 数据集上的实验表明,与最先进的方法相比,我们的系统实现了具有竞争力的性能,并且通常可以大幅度提高基线的准确性。
方法
系统总览
~~~ ~~~~ 在这一部分中,我们对提出的语义辅助激光雷达 SLAM 系统进行了全面介绍。与现有的方法[3],[14]不同,这些方法侧重于在注册中融合语义,我们探索了更多语义在我们的系统中的使用,主要包括语义辅助ICP III-B和基于语义图的闭环检测III- C。图 2 是我们方法的流程。原始点云P首先被发送到现成的语义分割方法[7]-[13]中,以获得具有逐点类标签 l ∈ L l \in L l∈L的语义点云S,L是语义类别的数量。然后将 S 发送到里程计估计模块以提取平坦的平面特征和锐利的边缘特征,这些特征稍后用于通过注册到本地地图来估计里程计。同时将语义点云S转化为语义图表示G,进一步输入到闭环检测模块。当检测到闭环时,我们将更新姿势图并优化姿势。因此,我们可以逐步获得高质量的全局语义图 M。
语义辅助ICP
~~~ ~~~~ LOAM 使用边缘和平面特征来配准点云,实现准确快速的定位和映射。我们用语义信息扩展了该方法,具体改进如下:
• 首先,受 SE-NDT [22] 的启发,我们将特征分别通过语义标签和注册进行划分,降低了错误匹配的概率。
• 其次,我们根据语义标签分别对点云进行下采样。大多数现有方法通过体素网格过滤对点云进行下采样以提高效率。但是,一些包含有用信息的小对象不可避免地会被过滤掉。我们基于语义的下采样对不同类型的对象使用不同的采样率,可以有效地维护小对象的信息,如图 3 所示。
• 第三,我们利用语义来约束平面拟合。基于地平面应平行于水平面并垂直于建筑表面的假设,我们可以去除拟合不佳的平面。
特征提取:我们采用了 LOAM [1] 的特征提取策略。具体来说,我们从点云中提取边缘和平面特征,并通过以下方式计算每个点的粗糙度
其中 pi 代表目标点,边缘特征和 Np 个最平坦点作为每个部分的平面特征。最后,我们得到整个目标帧的边缘特征点 Ce 和平面特征点 Cp。
运动估计:为了估计激光雷达的自我运动,我们最小化目标边缘特征点到其对应线的距离以及目标平面特征点到其对应平面的距离。由于不同的语义类具有不同的含义,这些含义应该有助于区分定位,因此我们将与语义相关的权重 wl 附加到每个错误项。我们的总优化目标是:pj 在同一个环中。然后,使用阈值 α 将这些点划分为边缘点(粗糙度大于 α)和平面点(粗糙度小于 α)。为了均匀采样,每个环被分成 Nr 个部分。我们选择 Ne 最尖锐的点作为
其中 d e i l d^l_{ei} deil 是第 i 个边缘特征点 c e i l ∈ C e c^l_{ei} \in C_e ceil∈C