【论文笔记】Integrate Point-Cloud Segmentation with 3D LiDAR Scan-Matching for Mobile Robot Localization a
论文笔记
论文笔记
论文笔记
该研究的主要贡献包括以下几个方面首先我们创新性地提出了基于图像解析法的地面点提取方案这一方法不仅能够有效去除噪声还能精准识别真实的地面点从而为后续配准工作奠定了坚实基础其次我们在传统ICP算法的基础上进行了改进通过将空间分割技术引入到配准流程中实现了对大规模数据集的高效处理这一改进使得整个系统的计算复杂度得到了显著降低同时降低了能耗水平保证了实时性要求
第三项贡献是我们将分段匹配技术成功应用于6D SLAM领域并在此基础上构建了一个多场景适应性的统一框架无论是在城市道路还是乡村道路甚至高速公路这一创新性的解决方案不仅提高了系统的鲁棒性还显著提升了估算精度并且通过引入相对误差指标我们能够更加全面地评估系统的性能表现这一成果为后续研究提供了重要的参考依据
最后本文还针对不同场景进行了详细的性能分析得出了相应的评估指标包括绝对误差相对误差以及收敛速度等多个维度这些指标不仅为系统的优化提供了量化依据也为未来的研究工作指明了方向
系统概述
系统的架构如图1所示主要由六个关键模块构成这些模块包括基于八叉树的数据结构用于减少三维点云数据量随后阐述了一种基于图像识别的地面点去除方法该方法去除完地面点后的剩余点云数据被分割为互不相交的空间区域在此基础上应用标准的六自由度ICP算法计算连续扫描之间的姿态变化为了提高优化效率当环境内检测到闭合路径时采用了全局松弛的六自由度位姿图优化算法整个系统的坐标系遵循右手坐标系其中z轴方向向上x轴方向向前各子系统的详细算法原理将在后续章节中逐一介绍

点云缩减
~~~~~~~激光雷达的高分辨率能够实时采集大量空间数据。例如,Velodyne HDL-64E 每秒能够输出 180 万个距离测量数据。为了高效处理海量 3D 数据点集中的信息量大的特点,则需要一种高效的存储与压缩策略以及相应的查询方法。八叉树是一种用于表示三维空间中的点云的数据结构,在实现 3D 空间离散化过程中具有重要价值。该结构通过不断细分三维空间为互不重叠的小立方体区域来进行建模,在此过程中根节点代表整个立方体边界框内所有的点云信息,并将这些区域进一步划分为更小的空间单元直到达到预设的空间粒度要求。在这项研究中我们采用了一种基于八叉树的空间分割技术来实现大规模点云数据压缩,并在 [33] 中对此进行了详细阐述

投影到 2D 范围图像
~~~~~~~由于后续的地面点去除和分割算法都是基于二维距离图像,我们首先需要获得柱面距离图像。 Velodyne系列等广泛使用的LiDAR通过水平和垂直扫描获取环境信息。例如,16 通道 VLP-16 的水平视场为 360 度,垂直视场为 30(±15) 度。如果将水平方位角 qh 设置为 0.2°并且我们从数据表中知道垂直分辨率 qv 为 2°,则二维距离图像的相应分辨率为 1800 x 16。给定一个点 P = (x, y, z) ,相应的 2D 距离图像由下式计算:

其中h和v代表LiDAR坐标系中点P的水平角与垂直角(参见图3)。图3展示了LiDAR系统的最大垂直视场值vb。当采用VLP-16时,其最大垂直视场vb设定为15。另一方面,水平分辨率hs被设定为1800,而bc则表示该数值向下取整后的整数值。每个三维空间中的点P通过唯一像素I(r,c)在二维图像平面上得到投影位置

地面点移除
在进行三维数据处理时, 地面特征提取被视为核心环节之一

其中 dc(x,i), dyc(i), dzc(i) 分别代表第 i 列中两个相邻点在 x、y 和 z 方向上差异的量度。因此,在这项研究工作中,我们提出了一种更为健壮和有效的算法。算法 1 描述了一种用于提取地面点的新方法。首先,在方程(2)的基础上将 2D 的距离图像转换为角度图像[35]。转换后,在每个像素位置上存储对应的角度 ai 值。随后对经过角度转换后的图像应用 Savitzky-Golay 平滑滤波器[35]。这一步骤旨在平滑数据并去除噪声干扰。随后我们从过滤后的图像左下角开始执行遍历操作:每当遇到未被标记的像素时就启动基于该像素的广度优先搜索(BFS)。基本思路是:从该起始 pixel 出发,在上下左右四个方向寻找相邻 pixel(第 12-15 行)。如果当前 pixel 与其四个邻域之间的差值不超过预设阈值 g,则将其加入队列即归类为地面点(第 12-15 行)。请注意 Label=1 是指地面点类别标签[35]。这一过程会自动终止因为所有连接在一起的地物都会获得相同的 Label 标签[35]。直观上说此算法是从图像左下角开始运行 BFS 遍历整个区域直到所有 Label=1 的 pixels 都被标注出来[35]。

分割
注

其中 q 代表第3.3节所述的水平方向方位角或垂直分辨率参数值。该算法的具体实现过程可参考附录中的伪代码描述(见图2)。与现有方法相比,在本算法中引入了新的改进方案主要体现在输入图像源、分类依据以及标注的数量等方面进行优化处理。其中Rng定义为基于点云正投影得到的不包含地表点的空间分布图像数据集。
因为地表点被视为一个独立类别,在这种情况下本算法仅需要一个标注标记即可完成基本定位任务。
然而,在细分场景下由于存在多个不同类别的目标物体,
因此在完成一个目标群组标记后,
系统会自动增加一个新的标注标记。

当分割算法得以实现时

ICP and 6D SLAM
在该段中使用了基于六自由度的定位与跟踪系统,并结合全局一致扫描匹配算法来实现目标物体的空间位置与朝向确定。此外,在与其他方法对比实验中发现,在使用基于LiDAR的数据驱动里程计时可直接应用基于ICP的空间配准方法而无需初始猜测值。具体而言,在每次迭代过程中都需要计算两幅图像之间的变换参数并将其带入下一阶段运算。通过这种方法能够有效提高定位精度的同时减少计算复杂度

其中Nm代表源点云S中的\textit{point number}而Nd代表目标\textit{point number}在\textit{source point cloud} S中与\textit{target point cloud} D中分别对应的数量。\ Point-to-Plane ICP算法通过将\textit{source point cloud}上的每个\textit{point}投影到最近的目标切平面上并计算两者的几何误差来实现数据配准。\ 如下所示为该算法的具体数学表达式:

其中N为点数,ni为目标点对应的法向量。 T 是源点和目标点之间的刚性变换。与点对点ICP相比,点对平面ICP计算的是点的切平面。因此,它可以在几何信息较少的环境中取得更好的效果。但是,它需要计算法向量,这会降低效率。因此,在这项工作中使用点对点 ICP。 ICP通过计算相邻两次扫描之间的位姿,然后不断更新,得到轨迹。然而,姿态估计在长期或大规模场景中会受到误差累积的影响。为了解决这个问题,一旦检测到闭环,将 ICP 的姿态估计结果输入到 6D SLAM 框架中,即全局一致的扫描匹配 [32]。它在 3DTK-3D 工具包 [36] 中可用。 6D SLAM 类似于点对点 ICP 方法,但考虑所有扫描而不是仅两个相邻扫描。它同时求解所有姿势并像原始 ICP 一样迭代。它实际上是一种姿态图优化方法,使用马氏距离来表示所有姿态的全局误差。具体公式为:

其中变量 j 和 k 用于表示 SLAM 图中的扫描操作。 E_{j,k} 作为线性化误差度量指标使用,在此被视为服从高斯分布。 变量 X_j 和 X_k 分别代表图中两个相连的节点位置,在此情况下对应着相应的位姿信息。 为了简洁明了地阐述问题背景,在此我们仅提供一个简要综述,请参考文献[32]中的详细描述。
