0. 简介

将SLAM应用于机器人应用中,可靠性和效率是两个最受重视的特性。本文《Light-LOAM: A Lightweight LiDAR Odometry and Mapping based on Graph-Matching》考虑在计算能力有限的平台上实现可靠的基于激光雷达的SLAM功能。首先与大多数选择点云配准的显著特征的方法相反,我们提出了一种非显著特征选择策略,以提高可靠性和鲁棒性。然后使用两阶段对应选择方法来配准点云,其中包括基于KD树的粗匹配,然后是一种基于图的匹配方法,它使用几何一致性来排除不正确的对应关系。此外提出了一种里程计方法,其中权重优化是由前述的几何一致性图的投票结果引导的。通过这种方式,激光雷达里程计的优化迅速收敛,评估出一个相当准确的变换结果,从而使后端模块能够高效完成地图任务。相关的代码已经在github上开源了。

图1.不同数据关联方法在两个连续扫描之间的特征点对齐。(a) 某种情景的点云扫描。(b) K最近邻方法。(c) 基于图形的两阶段匹配方法。

1. 主要贡献

在本文中,我们考虑在计算能力有限的机器人平台上实现可靠的基于LiDAR的SLAM功能。贡献主要有:

  • 首先是开发了一种创新的SLAM前端,包括一个非显眼的特征选择策略和一个基于图形的特征匹配函数,以实现更好的点云配准。

  • 其次,为了从前端的可靠配准中受益,我们开发了一个轻量级的后端,可以在计算能力有限的平台上更高效地执行。我们使用公共数据集和自行收集的数据进行实验验证。

2. 系统概述

我们在图2中展示了我们的Light-LOAM SLAM系统的流程,它由三个核心阶段组成:预处理、两阶段特征匹配和姿态估计
在预处理阶段,我们首先从每个点云扫描中过滤出不连续的点。为了选择具有微妙局部几何属性的稳定角点和平面特征,我们采用了一种不显眼的选择方法,并过滤掉最显著的角点和平面特征。这是与其他方法[1]、[2]、[5]的一个主要区别。然后进行两阶段的特征匹配过程。在第一阶段,我们采用基于KD树的方法[1]来建立所选特征的初始对应关系。然后,我们引入了基于图的一致性投票机制来评估这些对应关系,有效地过滤掉不可靠的关联。在前端里程计模块中,可靠点对的一致性得分被利用来优化变换,从而得到初始的相对精确的姿态估计。最后,在这些初始可靠的估计的支持下,映射模块以更高效的方式优化更准确的姿态。

3. 特征提取与选择

3.1 不相交点去除

由于3D LiDAR传感器产生的大量数据,特征提取和基于特征的对齐是一种广泛采用的方法,用于高效评估变换。然而,在提取特征候选之前,消除不相交的物体是至关重要的。不相交点通常表示离群值或遮挡物体的片段,它们的包含会严重降低后续特征关联和姿态估计的质量。因此,与之前的工作[16]一致,我们采用以下标准来排除这些不连续的点:

其中,p^k_i表示位于第k个激光束通道中的第i个点,σ_{disjoint}作为判断阈值。如果一个点与其两侧邻居的欧氏距离的绝对差超过σ_{disjoint},则被分类为不连续点。否则,它被视为连续候选点。在消除不连续对象后,我们从每个激光束通道中提取特征点。点的局部几何属性使用平滑度度量(2)进行描述。

其中,S表示评估的点集,包括候选点及其左右两侧的相邻对象。
如果候选点的平滑度r^k_i超过阈值r_t,则将其指定为角点特征;否则,将其识别为平面特征。该分类过程涉及考虑候选点两侧的5个点,并且阈值r_t设置为0.1以实现实际应用。
在传统的基于LiDAR的SLAM系统中,如LOAM [1]、FLOAM [5]、LEGO-LOAM [2],感知空间通常被划分为几个子区域。从每个子区域中选择具有最高或最低平滑度属性的特征候选点,用于后续的特征匹配。然而,我们的Light-LOAM SLAM系统引入了一种创新的非显著特征选择策略。正如前面提到的,特征选择通常是由一个区分性原则来指导的。但是,这些区分性特征是否真正稳健,并能够作为高质量的优化样本呢?值得注意的是,一些异常值或遮挡点可能具有高度区分性的几何属性。因此,我们认为相对于顶部显著特征而言,具有较弱平滑度属性的候选点可能更有价值和稳健,用于数据关联。
我们优先选择每个子区域中较弱的角点和平面特征作为我们优化的候选点。在启动特征选择过程之前,首先根据每个子区域内点的平滑度值进行降序排序:

在有序集合Fk中,我们选择第k个点之后的m个最尖锐的点,并将它们指定为边缘特征集合\mathbb{F}^k_e。同样地,我们在倒数第l个点之前选择n个最平坦的候选点,并将它们包含在平面集合\mathbb{F}^k_s中。

在我们的实现中,我们将每个激光束通道水平地分成6个子区域。将m、n、kl分别设置为2、4、1和2,这种不显眼的特征选择方法与不相交点去除预处理步骤相结合,有效地过滤掉更多的异常值,确保了更可靠的候选位姿集合,用于后续的姿态估计。

4. 基于图的两阶段特征匹配

从点云的上一次扫描和已构建的地图中识别相应的特征是后续扫描与扫描、扫描与地图的对齐的基本前提。KD树 是一种广泛使用的建立对应关系的方法,因为它在各种工作中的高效性和有效性得到了证明 。尽管它很常见,但由于点云中的环境遮挡、离群值和噪声,KD树容易出现错误,从而导致姿态估计不准确。如图4所示,可能出现这样的情况,即来自当前扫描的多个候选特征与上一次点云扫描中的同一点匹配为最近的对应点,导致虚假的多对一对应情况。为了减轻这些问题并减少虚假对应关系,我们引入了一种新颖的基于图的两阶段对应选择方法。

图4. 使用KD树生成的初始特征对应的演示。在每个对应关系中,红色点表示当前扫描中的源特征,蓝色点表示上一次扫描或地图中对应的目标对象。椭圆表示一个扫描中的错误数据关联。

4.1 通过KD树确定初始对应关系

我们首先使用KD树为我们的特征候选项找到对应关系,假设上一次扫描或地图中最近的点是每个特征的真实对应点。这使用公式(6)建立了我们的初始点对集合。

其中,p^i代表当前扫描的边缘集合\mathbb{F}^k_e或平面组\mathbb{F}^k_s的特征,pi’对应于上一次点云或地图的特征集中与之最接近的对应点。

4.2 通过一致图实现可靠的关联

在第二阶段,引入了一种基于图的对应验证算法。从KD树得到的初始假设关联ϖ开始,根据几何一致性原则构建兼容性图。在深入讨论几何一致性的概念之前,假设存在两个正确的关联,分别为(p_i, p_{i’})(p_j, p_{j’}),它们共享一个相同的变换参数集合(R, T)。这两对关联可以表示为:

从理论上讲,两个目标点之间的欧几里得距离在不同的帧之间保持不变,如公式(9)所示,体现了我们所称的几何一致性。

我们可以利用这个约束条件来评估图空间内对应关系的兼容性,而不是欧几里得空间。为了方便说明,假设从KD树生成了四种假设的关联情况,如图3所示。我们可以构建一个兼容性图,其中每个顶点表示第i个关联关系,记作v_i = (p_i, p_{i’})。图中的边表示两个关联v_iv_j是兼容的或几何一致的。在图3中显示的图中,存在四个关联:v_1v_2v_3v_4。值得注意的是,v_1v_2v_3在几何上是相互一致的。
接下来,如图3所示,使用亲和矩阵M构建兼容性图。矩阵中的每个条目M(i, j)表示对应关系对(v_i, v_j)的几何一致性得分,可以定量计算和d(v_i, v_j) 的定义如下:

其中,σ作为距离调整参数。值得注意的是,S_c的取值范围为0到1,当几何一致性完美时,取值为1。对角线元素M(i, i)始终等于1。较低的得分表示不一致性程度较高。基于兼容性图,我们采用投票规则来评估每个对应关系的质量。这种投票机制可以表示为:

在这里,η被用作投票阈值,用于确定投票过程中两个关联的兼容性。此外,|ϖ|表示对应集合ϖ的基数。在这个方案中,如果关联主体v_i与关联v_j的一致性得分S_c(v_i, v_j)达到或超过阈值η,那么v_i将获得一票。投票过程中的最终一致性水平由所有一致的投票者确定。在我们的投票流程完成后,我们可以按降序表示投票结果的序列如下:

如果一个通信候选者 v_i 的投票得分 o_i 低于关联候选者总数的 x% ,则被视为不可靠的关联,并随后被过滤掉。在移除这些异常关联之后,我们得到了最终的可靠关联集合以及它们对应的得分:

在分析我们基于图的匹配算法的计算复杂度时,对于N个对应关系,兼容性图的构建和使用快速排序进行对应关系排序的时间复杂度分别为O(N^2)O(N log N)。这导致我们的基于图的投票算法的总时间复杂度为O(N^2+N log N)=O(N^2)。为了保持实时性能,我们将感知空间划分为n个子区域。每个子区域内的对应关系形成子图,处理里程计和建图阶段的任务。在里程计阶段,每个子区域处理大约200个对应关系,平均处理时间约为3毫秒。在建图阶段,每个子区域处理大约350个对应关系,平均处理时间约为7毫秒。这种对应关系在子区域之间的划分确保了实时性能和准确的结果。

5. 一致性的激光雷达里程计(这部分不是重点略写)

在激光雷达SLAM系统中,里程计对通过扫描帧到扫描帧的点云匹配来优化初始位姿至关重要。里程计模块通常提供高频但略显不精确的姿态估计,作为建图模块的初始输入。里程计模块估计的更准确的初始变换可以加速最终机器人姿态估计的收敛,从而减少了建图后端计算成本。

在我们的里程计模块中,我们旨在优化表示从第k帧到第(k-1)帧的运动的变换T^{k−1}_k ∈ SE(3),并更新第k帧中点云的全局姿态T^W_k ∈ SE(3)。在优化之前,我们通过假设均匀运动来纠正点云中的运动畸变。与LOAM [1]类似,我们定义了两种类型的残差项。第一项是点到线的距离残差,由公式(16)给出。对于平面残差,我们有公式17.18表示。

在第II.B节中,我们引入了兼容性图来过滤出不可靠的关联,减轻可能导致优化降级的问题。每个关联都与一个一致的投票分数相关联,表示其可靠性水平。因此,我们了解到每个关联的潜在积极贡献。利用两阶段特征匹配过程的投票结果,我们为这些更可靠的关联分配较高的权重。设计自定义权重的过程可以看做公式19。最后,通过最小化加权残差项的总和来估计姿态,具体公式为公式20。通过使用Levenberg-Marquardt方法[17],我们可以根据代价函数(20)确定姿态T^{k−1}_k,可以推导出公式21。在优化过程中,λ是拉格朗日乘子,J是雅可比矩阵,f是残差向量项,方程(21)迭代地最小化代价函数(20)并获得变换T^{k−1}_k。与这些高度可靠的关联相关的残差项,具有增加的权重,在优化过程中起着主导作用。因此,梯度下降方向和参数更新主要由这些高质量的关联指导,从而使姿态估计更准确,并更接近地收敛到地面真实值。

6. 轻量级激光雷达地图构建

建图模块通常是后端,用于处理精确的全局姿态估计,但频率较低。这里现在提出了一个精度和效率平衡的精简建图模块。

在地图模块的两阶段特征匹配中,KD树识别出邻域集合C,其中包含每个特征p^i的五个最近对象。在第二个基于图的阶段中,我们将C的质心p_{i’}m指定为特征p_i的临时对应对象,建立特征对应关系(p_i, \bar{p}_{i’},m)。这些关系被用于构建兼容性图并进行投票。兼容性图用于在建图过程中去除不可靠的对应关系,而投票结果并未用于权衡每个关联的重要性。

在建图模块的优化过程中,构建了两种残差项:点到线的残差项和点到平面的残差项。在这个优化过程中,我们使用Levenberg-Marquardt方法[17]估计全局姿态T^M_k,没有对残差项进行任何优先处理。

由于去除了不可靠的关联并在两阶段特征匹配中进行引导,里程计姿态快速收敛。这为建图模块提供了更准确的初始转换估计,从而实现更快速和更精确的全局姿态计算。相关结果见第IV.B节。

图5显示了KITTI 09序列中不同前端里程计模块估计的轨迹

7. 参考链接

https://mp.weixin.qq.com/s/QFsMR9EQu93N26r5ZovYqQ