又快又准!用于LiDAR长期定位的Range图在线杆状物提取方法

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

点击进入→自动驾驶之心技术交流群

后台回复【IROS2022】获取IROS2022所有自动驾驶方向论文!

摘要

鲁棒、精确的定位是移动自主系统的基本要求。交通标志、电线杆、路灯等类似杆子的物体,由于其独特的局部性和长期的稳定性,在城市环境中经常被用作定位的地标。本文提出了一种新颖、准确、快速的基于几何特征的杆状物提取方法,该方法在线运行,计算量小。该方法直接对由3D 激光雷达扫描产生的Range图像进行计算,避免了对3D 点云的显式处理,并能快速提取每次扫描的杆状物。作者进一步利用提取的杆状物作为伪标签,训练一个深度神经网络用于在线Range图像的杆状物分割。作者测试其几何和学习为基础的杆状物提取方法定位在不同的数据集与不同的激光雷达扫描仪,路线和季节变化。实验结果表明,作者的方法优于其他最先进的方法。此外,借助于从多个数据集中提取的伪杆状物标注,作者的基于学习的方法可以跨越不同的数据集,比基于几何的方法获得更好的定位结果。作者向公众发布杆状物数据集,以评估杆状物提取器的性能,以及作者方法的实现。

简介

稳健和精确的定位是自主机器人和常用状态估计任务的关键能力[1]。对机器人姿势的准确估计有助于避免碰撞,以目标导向的方式导航,遵循交通路线,并执行其他任务。这里的可靠性意味着机器人应该适应环境的变化,比如不同的天气条件[5] ,白天和夜晚[39] ,或者季节变化[25]。基于GPS的定位系统对环境的外观变化具有很强的鲁棒性。然而,在城市地区,由于建筑物和树木的阻塞,它们可能受到信号不足的影响。为了移动机器人的精确和可靠的定位,需要额外的、基于地图的方法。现在已经能使用多种不同类型的传感器来构建环境地图,包括光探测和测距(Li-DAR)扫描仪[18,3,41] ,单目[28]和双目摄像机[15]。其中,LiDAR 传感器对光照变化更加稳健,多种基于 LiDAR 的有效和高效建图方法已经被提出,例如 Behley 和 Stachniss [3]或 Droeschel 和 Behnke [18]。然而,由于地图表示的原因,这些方法往往需要大量的内存,因此不能很容易地推广到大规模场景。如果只有特定的特征被用来建立地图,如交通标志,树干和其他杆状结构,地图的大小可以大大减少[45]。

本文的主要贡献是提出了一种新的基于Range图像的杆状物提取器,可用于自主移动系统的长期定位。作者不再直接使用由三维激光雷达传感器获得的原始点云,而是研究如何利用Range图像进行杆状物提取。Range图像是来自旋转3D 激光雷达(例如 Velodyne 或 Ouster 传感器)的扫描的光学和自然表示。在Range图上处理速度相比原始3D激光点云数据也快。此外,一幅Range图像在其二维结构中隐含了邻域信息,作者可以利用这些信息进行分割。在Range图像中检测到的杆状物可以进一步作为伪杆状物标注来训练杆状物分割神经网络。通过对不同数据集产生的伪杆状物标注进行一次训练,作者的基于学习的方法可以在不同环境下检测杆状物,比基于几何的方法获得更好的定位性能。为了实现 LiDAR 定位,在建图阶段,作者首先将原始点云投影到一幅Range图像中,然后从该图像中提取杆状物,如下图所示。

又快又准!用于LiDAR长期定位的Range图在线杆状物提取方法_第1张图片

在获得Range图像中杆状物的位置后,作者使用机器人的姿态ground-truth 将它们重新投影到全局坐标系中,以建立一个全局地图。在定位过程中,作者利用蒙特卡罗定位(MCL) ,通过将在线传感器数据中检测到的杆状物与全局地图中的杆状物进行匹配来更新粒子的重要性权重。

总之,作者提出了三个关键的主张,即作者的方法能够(i)相比基线方法,提取更可靠的杆状物场景,(ii)在不同的环境中,实现更好的在线定位性能,和(iii)相比基于几何的方法,产生伪杆状物标签训练杆状物分割网络,实现更好的定位结果和更快的运行时间。这些主张得到了论文实验评估的支持。

数据集和代码地址:https://github.com/PRBonn/pole-localization

方法论

在本文中,作者提出了一种基于Range图像的杆状物提取器,用于使用三维激光雷达传感器进行长期定位。如下图所示,作者首先将LiDAR点云投影到Range图像中,然后使用几何或基于学习的方法从中提取杆状物。基于所提出的杆状物提取器,作者构建了环境的全局杆状物图。在定位阶段,作者使用相同的提取器在线提取杆状物,并使用新的基于杆状物的观测模型进行蒙特卡罗定位。

又快又准!用于LiDAR长期定位的Range图在线杆状物提取方法_第2张图片

1 Range图生成

作者方法的关键思想是使用从激光扫描生成的Range图像进行杆状物提取。在先前的工作[12,13]之后,作者利用球形投影来生成Range图像。每个LIDAR点P=(x,y,z)通过映射π∶ℝ3 ↦ ℝ2映射到球形坐标,最后映射到图像坐标,如下公式所示。

又快又准!用于LiDAR长期定位的Range图在线杆状物提取方法_第3张图片 又快又准!用于LiDAR长期定位的Range图在线杆状物提取方法_第4张图片

此过程产生的一个列表,列表中包含众多(u,v)元组,每个(u,v)包含为每个LiDAR点Pi的一对图像坐标,作者用它来生成代理表示。使用这些索引,作者提取了每个Pi的 range r,x,y,z坐标,并将其存储在图像中。

2 基于几何的杆状物提取器

根据前一步生成的Range图像提取杆状物。通常的杆状物提取算法的一个先验直觉是杆状物的range值通常明显小于背景。基于这一思想,并按照以下算法流程中的规定。

又快又准!用于LiDAR长期定位的Range图在线杆状物提取方法_第5张图片

作者的第一步是根据Range值将Range图像的像素聚类到不同的小区域中。首先遍历Range图像中的所有像素,从上到下,从左到右。作者将所有具有有效Range数据的像素放在一个开放集O中。对于每个有效像素p,检查其邻居,包括左侧、右侧和下方。如果存在一个具有有效值的邻居,并且当前像素与其邻居之间的Range差小于阈值 Td,作者将当前像素添加到一个簇集c中,并将其从开放集 O中移除。作者对邻居进行迭代检查,直到没有邻居像素满足上述标准,然后得到一个像素簇。检查O中的所有像素后,作者将得到一个包含多个簇的集合C,每个簇代表一个目标。如果一个簇中的像素数小于阈值Tn,作者将其视为异常值并忽略它。

下一步是使用 2D 几何约束从这些目标中提取杆状物。为此,作者利用每个像素的Range信息和 3D 坐标(x,y,z)。作者首先检查每个集群的纵横比。由于只对高度通常大于宽度的杆状物体感兴趣,因此作者丢弃纵横比(h/w) < 1 的簇。作者使用的另一个启发式方法是杆通常独立存在并且具有与背景物体的显着距离。N(smallR)是集群c中Range值小于其在c外邻居的点的数量,如果 N(smallR)小于delta乘以集群中所有点的数量,作者将丢弃该集群。

为了利用每个像素的 3D 坐标 (x,y,z),作者计算每个簇的 max(z) - min(z),如果 max(z)-min(z) > Tℎ,则作为候选杆状物。此外,作者只对高度高于阈值Ha的杆感兴趣。根据经验,作者还为杆状物的最低位置设置了一个阈值Hb,以过滤异常值。对于每个候选杆状物,作者使用集群中所有点的 x 和 y 坐标来拟合一个圆,得到该杆状物的中心和半径。作者通过检查周围的可用空间来过滤掉半径过小或过大的候选目标以及连接到其他目标的候选目标。经过上述步骤,作者最终提取了杆状物的位置和半径。例如下图,可视化了几何杆状物提取器每一步的中间结果。

又快又准!用于LiDAR长期定位的Range图在线杆状物提取方法_第6张图片

3 利用伪标签训练基于学习的杆状物分割方法

如 [11] 所示,几何信息可用于自动生成标签,用于训练基于 LiDAR 的运动物体分割网络,并在各种环境中取得良好的性能。这种自动标注方法能够以自监督的方式进行网络学习,从而节省了大量的手动标注工作,并提高了基于学习的方法的泛化能力。受此启发,作者使用基于几何的杆状物提取器检测到的杆状物来生成伪标签来训练在线杆状物分割网络。

作者使用基于几何的方法从 NCLT [5]、SemanticKITTI [2] 和 Mul-Ran [20] 数据集生成伪杆状物标签。在这项工作中,作者没有设计新的网络架构,而是重用过去已成功应用于基于 LiDAR 的语义分割的网络。作者采用并评估 SalsaNext [14],这是一种编码器-解码器架构,在语义分割任务上具有可靠的性能。SalsaNext [14] 在所有基于Range图像的语义分割网络中的 SemanticKITTI 数据集上实现了SOTA性能。因此,作者选择它作为基于学习的方法的基础网络架构。在作者的例子中,只是将杆状物与其他物体区分开来,而不是将环境分割成多个类别,如地面、结构、车辆和人类。在分割之后,应用几何方法中使用的类似过滤步骤来去除异常值。SalsaNext 网络相对轻量级,并且可以实现实时操作,即运行速度比所采用的 LiDAR 传感器的常用帧速率(Ouster 和 Velodyne 扫描仪的 10Hz)更快。有关网络的更多详细信息,作者参考原始论文 [14]。

为了训练分割网络,作者直接向它们提供Range图像以及从基于几何的杆状物提取器生成的伪杆状物标签。作者使用与原始分割方法相同的损失函数,同时将所有类映射到两类,杆状物和非杆状物。作者重新训练网络并使用作者的杆状物数据集和定位任务评估杆状物提取性能。如下图显示了作者提出的基于学习的杆状物分割方法的训练流程。请注意,作者使用从不同数据集生成的伪杆状物标签来训练网络,然后使用相同的模型来提取不同环境中的杆状物。

又快又准!用于LiDAR长期定位的Range图在线杆状物提取方法_第7张图片

4 基于杆状物的建图

为了构建用于定位的全局建图,作者遵循 Schaefer 等人介绍的相同设置。将轨迹ground-truth分成等长的较短段,分别提取这些段中的杆状物,最后合并成一个全局杆状物图。由于提供的姿态对于建图不是很精确[30] ,所以作者只使用每个部分的中间 LiDAR 扫描来提取杆状物,而不是聚合一个有噪声的子图。通过对多个重叠杆状物检测的中心和半径进行平均,合并多个重叠杆状物检测,并应用计数模型对动态目标进行滤波。只有那些在连续剖面中出现多次的候选杆状物被添加到地图中。

5 蒙特卡罗定位

蒙特卡罗定位(MCL)通常使用粒子滤波器实现[16]。MCL 实现了一种估计概率密度的递推贝叶斯滤波器。具体的公式见下图:

又快又准!用于LiDAR长期定位的Range图在线杆状物提取方法_第8张图片

在作者的例子中,每个粒子表示机器人在时间 t 时的二维姿态 xt = (x,y,delta) t 的一个假设。当机器人移动时,每个粒子的姿态都是基于一个运动模型和控制输入 u 或里程测量更新的。对于观测模型,基于期望观测值与实际观测值的差异更新粒子的权重。观测结果是杆状物的位置。作者使用 k-d 树通过最近邻搜索将在线观测的杆状物与地图中的杆状物进行匹配。第j个粒子的最大似然使用高斯分布进行近似:

又快又准!用于LiDAR长期定位的Range图在线杆状物提取方法_第9张图片

作者使用杆状物位置之间的欧氏距离度量来测量这种差异。公式中的常数考虑了检测到的杆状物不是地图一部分的可能性。当存在许多异常值时,这个常数对于定位的鲁棒性是至关重要的。如果有效粒子的数量低于阈值[19] ,则触发重采样过程,并根据粒子的权重对其进行采样。

实验

这项工作的主要重点是为长期LiDAR定位获得一个准确和高效的杆状物提取器。作者展示实验,以显示作者的方法的效果。实验进一步支持了作者的关键主张,作者的方法能够: (i)比基线方法提取更可靠的杆状物,因此,(ii)在不同的环境中实现更好的在线定位性能,和(iii)相比几何方法,产生伪杆状物标签训练杆状物分割网络实现更好的定位结果和更快的运行时间。

1 杆状物提取和LiDAR定位数据集

很少有公共数据集可用于评估杆状物提取性能。为此,作者手工标注了2012-01-08会议的 NCLT 数据集中的杆状物,并将其发布用于公共研究。由于原始的 NCLT 姿态ground-truth是不准确的[30] ,聚合的点云有点模糊。因此,为了创建环境的杆状物ground-truth图,作者将轨迹ground-truth划分为等长的较短段。对于每个片段,作者将点云聚合在一起,并使用 Open3D [46]来渲染和标注杆状物位置。作者只给这些杆状物贴上高度确定的标签,而忽略那些模糊的。除了作者自己的标注数据之外,作者还通过提取交通标志,杆子和树干等杆状物目标来重组 SemanticKITTI [2]数据集序列00-10,然后聚类点云以生成杆状物实例ground-truth。

为了评估作者方法的定位可靠性和准确性,作者使用 NCLT 数据集[5]和 MulRan 数据集[20]。这两个数据集是在不同的环境(美国,韩国)和不同的激光雷达传感器(Velodyne HDL-32E,Ouster OS1-64)中收集的。在这两个数据集中,机器人多次通过具有月级时间间隔的同一地点,因此是测试长期定位性能的理想选择。将作者的方法与 Schaefer 等[30]提出的基于杆状物的方法和 Chen 等[13]提出的基于Range图像的方法进行了比较。作者使用公共可用代码重现他们的结果。对于 SemanticKITTI 数据集,不同序列之间没有用于评估长期定位的重叠区域。因此,作者只使用从 SemanticKITTI 数据集中提取的杆状物标签来训练作者的网络。下图显示了作者提出的杆状物数据集的例子。

又快又准!用于LiDAR长期定位的Range图在线杆状物提取方法_第10张图片

2 杆状物提取性能

第一个实验评估了该方法的杆状物提取性能,并支持了基于Range图像的杆状物提取方法优于基线方法的结论。作者评估了基于几何的杆状物提取器,命名为ours-G,和作者的基于学习的杆状物分割方法,命名为ours-L。为了训练杆状物分割网络,作者使用来自多个数据集的数据,包括 NCLT 数据集中的2012-01-08会话,MulRan 数据集中的序列 KAIST 02和 Se-manticKITTI 数据集中的序列00-02,05-09。为了验证,作者在 SemanticKITTI 数据集中使用序列03和04,在测试中使用序列10。作者使用初始学习率为0.01的随机梯度下降对网络进行150个epoch的训练,学习率衰减为0.01。批量大小为12,空间dropout概率为0.2。Range图像的尺寸为32 × 256,有效Range值在0 ~ 1之间进行归一化处理。为了防止过拟合,作者增加了数据应用随机旋转或平移,随机翻转周围的 y 轴的概率为0.5。在匹配阶段,作者使用一个1m Range范围的 k-d 树通过最近邻搜索找到匹配。下表总结了作者的方法和 Schaefer 等[30]关于 NCLT 数据集和 Se-manticKITTI 数据集的杆状物groundtruth图的精确度,召回率和 F1评分。可以看到,与基线方法相比,作者的方法在两种环境下都获得了更好的性能和更多的杆状物提取。

又快又准!用于LiDAR长期定位的Range图在线杆状物提取方法_第11张图片

与作者的基于几何的杆状物提取器相比,基于学习的方法发现更多的杆状物,同时引入更多的假阳性,这降低了精度。这也可以在下图中看到,它显示了作者的几何和基于学习的杆状物提取器杆状物提取的例子。请注意,作者只训练一次杆状物分割网络,使用不同数据集生成的伪杆状物标签,但在多个不同的数据集评估它。如下图,不同数据集的环境差异很大,而作者的基于学习的方法仍然可以很好地提取杆状物而不需要进行微调,这表明作者的方法具有很好的泛化能力。

又快又准!用于LiDAR长期定位的Range图在线杆状物提取方法_第12张图片

这可能是因为杆状物的Range值通常与背景有显著的不同,这使得杆状物与众不同,并且很容易在Range图像上被检测到。与多类分割相比,神经网络更容易学习一个更一般的模型来检测基于Range图像的杆状物[10]。此外,基于学习的方法比基于几何的方法具有更高的召回率,但精度较低,这意味着基于学习的方法检测出更多的真阳性,但也有更多的假阳性。作者将检测到的杆状物作为 MCL 的标志,这是一个非常健壮的概率定位系统。因此,定位性能不会受到少量误报的影响,而是受益于更高的召回率和更多的地标。

3 定位性能

第二个实验是为了支持作者的方法在不同环境中实现了更高的定位精度这一说法。对于所有实验,作者使用与基线相同的设置,并报告原始工作的结果。

NCLT数据集上的定位

NCLT 数据集包含27个会话,平均长度为5.5公里,平均持续时间为1.3小时,持续时间为15个月。这些数据记录在一年中不同的时间,不同的天气和季节,包括室内和室外环境,还有大量的动态目标。不同会话的轨迹有很大的重叠。因此,它是在城市环境中测试长期定位的理想数据集。作者首先根据 Schaefer 等[30]介绍的设置构建地图,该设置使用第一次会话的激光扫描和姿态ground-truth。由于在以后的会话中,机器人有时会在第一个会话中移动到看不见的地方,因此作者也使用那些位置与之前访问过的所有姿势相距10米的扫描来构建地图。在定位过程中,作者使用了1000个粒子,并使用与 Schaefer 等人相同的初始化方法[30] ,通过在2.5米圆周内围绕第一个姿态ground-truth的均匀采样位置。取向是从 -5度到5度均匀取样的。当有效粒子数小于50% 时,重新采样粒子。为了获取姿态估计,作者使用了最好的10%粒子的平均姿态。

下表显示每个会话的位置和方向误差。作者进行了10次定位,计算了轨迹ground-truth的平均均值和均方根误差。结果表明,作者的几何学和基于学习的方法在几乎所有会话上都超过了 Schaefer 等[30] ,平均误差分别为0.174米和0.164米。此外,在2013-02-23会话中,基线方法未能定位,导致误差为2.470米,而作者的方法从未丢失机器人位置的轨迹(下图)。这是因为作者的杆状物提取器能够在杆状物较少的环境中也能够强有力地提取杆状物。Schaefer 等[31]在2013-02-23会议上分析了他们的定位失败,原因是建筑区域的油桶在后面的会话中被移动到右边几米。由于这些桶通过其方法被检测为杆状物,因此它们被构建在地图中,并导致错误的杆状物与该区域的地图匹配。在作者的杆状物提取算法中,丢弃那些半径过大的极点。因此,这些桶不是作者地图的一部分,定位不会受到这些桶移动的影响。有趣的是,在大多数会话中,作者基于学习的方法比基于几何的方法更能提高定位结果。这可能是由于使用不同环境生成的伪标签训练的更一般的杆状物分割模型引起的。

又快又准!用于LiDAR长期定位的Range图在线杆状物提取方法_第13张图片

MulRan数据集 上的定位

为了进一步显示作者方法的泛化能力,测试了基于几何和基于学习的方法在MulRan数据集上的效果。这些数据来自于不同环境下的不同类型的激光雷达传感器。作者使用 MulRan 数据集 KAIST 02序列(2019-08-23收集)来构建全局地图,并使用 KAIST 01序列(2019-06-20收集)进行定位。下表显示了 MulRan 数据集的定位和偏航角 RMSE 误差。可以看出,作者的几何和基于学习的方法始终比基线方法获得更好的性能[30,13]。请注意,作者只训练杆状物分割一次,并且在应用到新环境时没有进行任何微调。

又快又准!用于LiDAR长期定位的Range图在线杆状物提取方法_第14张图片

4 运行时间

这个实验是为了支持作者的方法以传感器帧速率在线运行的说法而进行的。如下表所示。作者的方法与 Schaefer 等[30]在三个不同数据集上提出的基线方法进行比较,包括 NCLT (会议2012-01-08) ,KITTI (序列09)和 MulRan (KAIST 02)数据集。正如他们的论文所报道的,在 NCLT 数据集上,使用 GPU 在 PC 上进行杆状物提取的基线方法平均需要1.33秒。作者在没有使用 GPU 的情况下测试了的基于几何的方法,此方法只需要0.09 s 的杆状物提取,所有 MCL 步骤都小于0.1 s,比通常使用的10Hz 的 LiDAR 帧速率产生更快的运行时间。

Schaefer 和作者的基于几何的杆状物提取器的性能都受到输入数据大小的影响,这是定位精度和定位速度之间的权衡。为了获得良好的几何定位效果,作者对 NCLT 采用了32 × 256的Range像素尺寸,对 KITTI 和 MulRan 采用了64 × 500的Range图像尺寸,这导致了运行性能的下降。然而,作者的基于学习的方法不受输入数据大小的影响。作者将网络输入的大小定为32 × 256,并且作者的网络始终在一个单一的 GPU 上具有良好的定位性能,这显示了作者提出的基于学习的方法的明显优势。

又快又准!用于LiDAR长期定位的Range图在线杆状物提取方法_第15张图片

总结

本文提出了一种新的基于距离像的几何特征杆状物提取方法,用于激光雷达在线长期定位。作者的方法利用激光雷达扫描产生的Range图像。这允许作者的方法快速处理点云数据并在线运行。进一步利用几何杆状物提取器检测到的杆状物作为伪标注,训练深层神经网络进行在线杆状物分割。作者的基于学习的杆状物提取器可以在不进行微调的情况下推广到不同类型的数据集,尽管不同数据集的环境变化很大。作者在多个不同的数据集上实现并评估了作者的方法,并提供了与其他现有技术的比较,支持本文中提出的所有主张。实验结果表明,与基线方法相比,基于几何和基于学习的方法能够准确地提取环境中更多的杆状物,在长期定位任务中取得更好的性能。此外,作者发布了作者的实现和杆状物数据集,以供其他研究人员评估他们的算法。在未来,作者计划探讨其他特征如道路标记,路缘和交叉口特征的使用,以提高作者的方法的鲁棒性。                                                            

往期回顾

史上最全综述 | 3D目标检测算法汇总!(单目/双目/LiDAR/多模态/时序/半弱自监督)

自动驾驶之心】全栈技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、多传感器融合、SLAM、光流估计、轨迹预测、高精地图、规划控制、AI模型部署落地等方向;

加入我们:自动驾驶之心技术交流群汇总!

自动驾驶之心【知识星球】

想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D目标检测、多传感器融合、目标跟踪、光流估计、轨迹预测)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球(三天内无条件退款),日常分享论文+代码,这里汇聚行业和学术界大佬,前沿技术方向尽在掌握中,期待交流!

又快又准!用于LiDAR长期定位的Range图在线杆状物提取方法_第16张图片

你可能感兴趣的:(定位,算法,大数据,编程语言,python)