LiLO:基于深度图滤波的轻量且低偏差的激光雷达里程计方法

文章:LiLO: Lightweight and low-bias LiDAR Odometry method based on spherical range image filtering

作者:Edison P. Velasco-S´anchez, Miguel Angel Mu˜noz-Ba˜n´on, ´

Francisco A. Candelas, Santiago T. Puente and Fernando Torres.

编辑:点云PCL

摘要

在非结构化的户外环境中,机器人需要具有低计算时间的准确而高效的里程计技术。现有的低偏差激光雷达里程计方法通常计算成本比较高,为解决这一问题,作者提出了一种轻量级激光雷达里程计方法,将非结构化点云数据转换为球形深度图(SRI),并在图像平面中滤除表面、边缘和地面特征。这显著减少了计算时间和LOAM算法中用于里程计估计的特征。我们的里程计估计方法不依赖于全局地图或回环闭合算法,进一步降低了计算成本。实验结果在KITTI数据集上生成了0.86%的平移误差和0.0036°/m的旋转误差,平均运行时间为78ms。此外,还使用自己的数据对该方法进行了测试,在八个涵盖3.5公里的回环中获得了0.8m的平均闭环误差和27ms的运行时间。代码开源:https://github.com/AUROVA-LAB/applications。

图1:我们LiLO里程计方法的流程图,该方法通过从点云获取的SRI中过滤地面IG、边缘IE和表面IS。点云重建:地面PG(绿色)、边缘PE(红色)和表面PS(蓝色)。为了估计姿势T∗ k,我们使用具有场景边缘和表面特征的本地特征图PE和PS。

主要贡献

本文介绍了LiLO(轻量级激光雷达里程计)如图1,这是一种轻量级但高效的激光雷达里程计方法,通过将点云转换为SRI,并使用Sobel算子进行64通道激光雷达的地面、边缘和表面特征提取,以及使用傅里叶变换掩模进行16通道激光雷达的图像过滤。在SRI中的这些过滤特征被转换回点云,通过体素过滤减少点云的密度。为了使我们的方法更加轻量级,它不生成场景的全局地图,而是使用帧到局部地图的技术,为了降低计算成本,使用KD-Tree索引方法生成局部地图,并且随着机器人平移的增加,持续清理此地图。此外,该激光雷达里程计方法不需要额外的外部传感器,例如惯性测量单元、定位传感器和/或摄像头。所提出的特征过滤和姿态估计方法具有轻量级且在与不使用全局地图的LOAM版本相比仍能保持良好的结果。我们的研究实现了一个轻量级的测距系统,尽管轻巧,但仍然保持低偏差。该系统已经作为完整定位和路径规划方法中的一个里程计阶段进行了测试,而且在无结构室外环境中用于废物收集的移动机器人平台的精确定位阶段也表现出高性能。

内容概述

在激光雷达点云转换为球面深度图的过程中,首先进行了球面范围图像(SRI)的生成。这通过将三维坐标点云数据Pk转换成球面投影,形成水平方向-PI<theta<pi和垂直方向-pi/2<phi<pi/2的范围,通过将sri转换为矩阵i,其中通过将原始角度 θ 和 ϕ 转换为新的角度范围0<θ<360,为了将 I 的结果呈现为图像,将距离值进行归一化处理,生成灰度图像。这一系列转换步骤使得激光雷达点云数据被有效地映射到球面深度图像上。

图2 ,将三维点云在R3中转换为球面深度图ISRI在R2中

图像滤波

点到边和点到平面的数据匹配使用代表点云中每个场景的边缘和表面的特征集。与基于LOAM的方法不同,其中通过平滑度参数区分边缘和表面,首先需要在SRI上应用滤波器来确定这些参数。为了过滤点云中的特征,我们考虑到在SRI表示中,场景地面对应的点是沿水平轴具有相似强度值的线。此外,我们假设SRI的垂直线特征表示边缘,其余特征表示点云的表面。

  • 特征分割:采用Sobel算子对球面深度图(SRI)进行特征分割,通过垂直和水平掩模提取边缘和地面特征。此方法在图像平面中轻量级地过滤点云的特征,适用于不同分辨率的SRI,降低计算成本,牺牲姿态估计准确性以减小漂移误差。
  • 频域滤波:通过频域滤波表示地面特征,将点云在SRI中投影为水平线,使用傅立叶变换和频域掩模去除低频率,生成滤波后的SRI。该方法有效去除地面特征,与Sobel算子相比,通过频域滤波可在实现特征提取时保持轻量级,适用于机器人应用。

图3:对KITTI数据集序列08的点云进行地面分割方法的分割效果展示。(a) 序列08的球面深度图(SRI)。(b) 球面深度图的边缘特征。(c) 球面深度图的表面特征。(d) 球面深度图的地面特征。(e) KITTI数据集序列08的第5和第34张照片。(f) 点云的分割特征。红色、蓝色和绿色点分别表示边缘、表面和地面。

图4:来自Velodyne VLP-16激光雷达传感器点云的球面深度图(SRI)以及通过频域滤波去除地面点的过程。

点云重构

LiLO方法通过执行点到边缘的数据匹配,将球面深度图(SRI)转换为三维点云,实现了点云的重构。

图5 展示了地面分割方法的点云特征分割结果。左侧为Velodyne VLP-16的原始点云,右侧为点云分割结果:地面PG(绿色)、边缘PE(红色)和表面PS(蓝色)

位姿估计

LiLO方法中的位姿估计通过将当前帧的边缘和表面特征与本地特征地图对齐,使用KD树存储特征以进行点对边缘和点对平面的数据匹配。通过最小化特征点之间的距离,使用Gauss-Newton方法解决非线性方程,估计当前帧的最佳姿态。姿态估计过程中,使用Sobel运算符和傅里叶变换进行特征分割和频域滤波,以减少计算成本。此外,采用点云库PCL实现3D体素网格,减小局部地图的规模,进一步优化计算效率。

实验

本节展示了LiLO里程计方法的实验和结果。图6a和图6b显示了KITTI数据集序列05和09的点云片段,其中LiDAR传感器的每个点在地面上投影的光束具有不同的距离。这在将点云转换为SRI时不会生成圆形,而是生成一种在传递到频域时由几个频率组成的阴影。因此,无法使用频域滤波方法分割KITTI数据集点云的地平面。因此,对于KITTI数据集,我们地面特征过滤方法,因为Sobel运算符计算图像强度函数梯度的近似值,滤除了地面的水平线带有噪声的距离值。对于Velodyne VLP-16传感器的情况,如图6c和图6d所示,投影在地面上的点云不会生成噪音,这些点在SRI中以圆形投影,从而使频域滤波成为可能。

图6 KITTI数据集和Velodyne VLP-16传感器的俯视图。(a) KITTI序列05。(b) KITTI序列06。(c) Loop 1 (d) Loop 3。

图7 KITTI数据集序列 (a)(b) 和Velodyne VLP-16给定的点云 (c)(d) 的边缘、表面和地面特征分割。

图7a和图7b显示了使用Sobel运算符从KITTI数据集中提取的边缘、表面和地面点云的特征分割结果。另一方面,图7c和图7d展示了从BLUE机器人平台的Velodyne VLP-16传感器中提取的点云特征分割结果。

KITTI数据集评估

首先评估了在KITTI数据集上使用Sobel算法进行特征分割的鲁棒性。图8a和图8b展示了KITTI数据集序列01和06的特征分割结果,与它们对应的场景的RGB图像进行了比较。

图8 KITTI数据集点云通过转换为SRI进行特征过滤。(a) SRI。(b) 边缘特征。(c) 表面特征。(d) 地面特征。(e) 与KITTI数据集每个序列对应的RGB图像。(f) KITTI数据集相应序列的分割点云。

11个KITTI序列中不同点云组的旋转和平移误差,如图9a所示,执行时间的偏差是由于分析的路径和每帧点云的数量引起的。在64x360像素的图像中,由于元素较少,执行时间较短,但ATE较高。图9b中表示的轨迹显示了使用不同表面特征的序列01的结果。通过使用EGS点云组生成的轨迹(蓝线)与地面实况数据集(红线)更接近,导致ATE为1.29%,ARE为0.2°/100 m。

图9 (a) 使用不同图像大小和点云组的实验。红色框表示平移误差,绿色框表示旋转误差,蓝色框表示运行时间按100毫秒缩放。每个箱线图的平均值由⊙表示,十字符+表示异常值。(b) KITTI数据集序列01的姿态估计结果,使用不同的点云组。

图10显示了我们的方法在KITTI数据集的每个序列中使用EGS点云组的结果。平移和旋转误差显示在表1中。

图10 提出方法在KITTI数据集序列(00,02-10)上的结果。蓝线是估计的里程,红线是基于GPS数据的地面实况。

表2显示了我们与之进行比较的每个里程计系统的运行时间和环境。LOAM、LeGo-LOAM和F-LOAM的运行数据来自KITTI数据集。

为了分析我们方法的计算能力,我们在相同的计算环境中将其与KITTI数据集的05序列上的FLOAM进行了比较。我们的方法在图11a和11b中显示,与F-LOAM方法相比,LiLO对于姿态估计需要更少的表面和边缘特征。此外图12a和图12b显示了每种方法的点云特征提取和姿态估计时间。我们的方法显示出比F-LOAM更低的提取时间,因为它需要更少的特征来估计姿态,而不会失去里程计估计的准确性,如表1所示。

图.11 我们的里程法和FLOAM在姿态估计所需特征数量上的比较。

图12 我们的方法在特征提取和姿态估计阶段与F-LOAM的运行时间比较。

在研究平台BLUE上的实验

在研究平台BLUE上评估了本文提出的激光雷达里程法。该机器人具有最大速度约为5公里/小时,如图13所示,Velodyne VLP-16传感器产生的点云具有最大频率为20Hz的100m范围,支持16个通道,每秒∼300,000个点,水平视场为360°,垂直视场为30°)。

图13 实验平台

图14显示了覆盖总计3509米的八个回环的参考路径,为此我们从Velodyne VLP-16 LiDAR 3D传感器和Multi-GNSS地理参考创建了一个点云数据库。

图14由多GNSS系统生成的数据,显示了阿利坎特大学科学园区的多条路径。

图15展示了我们的里程计方法(蓝色)在BLUE平台上估计姿态的结果,与F-LOAM方法(绿色)给出的估计以及Multi-GNSS地理参考系统的参考路径(红色)进行比较,共包括八条真实路径。

图16显示了与F-LOAM方法和我们的方法相比

图16 回环1、3、7的闭环误差。绿色轨迹由F-LOAM生成,蓝色轨迹由我们的激光雷达里程计系统生成,红色点是多GNSS系统的参考位置。

表3中的结果比较了LiLO和F-LOAM方法的错误,我们的方法的闭环错误比F-LOAM低4倍,而执行时间类似。

总结

在本文中,我们提出了LiLO方法,这是一种基于点云SRI中特征检测和基于LOAM的姿态估计方法的轻量级、低偏差和计算效率高的LiDAR里程计方法。所进行的实验证明,与基于LOAM的技术相比,翻译和旋转误差显著减小,运行时间也减少。这种运行时间的减少代表了一个计算轻量级的系统。此外,在使用16激光束LiDAR传感器进行的实验中,与F-LOAM相比,观察到了回环闭合误差的显著改善,而无需全局地图。最后,LiLO在执行时间和用于姿态估计的特征数量方面均有所改进。因此,我们基于SRI的里程计方法具有轻量级和低偏差的特点,可用作完整定位系统的起点。鉴于所提方法的良好结果,我们将继续努力改进并在实际移动机器人中应用。