【论文笔记】OneShot Global Localization: Instant LiDAR-Visual Pose Estimation
【论文笔记】OneShot Global Localization: Instant LiDAR-Visual Pose Estimation
~~~~~~~在给定地图中进行全局定位对于机器人执行广泛的自主导航任务至关重要。本文介绍了 OneShot——一种全局定位算法,它一次只使用一次 3D LiDAR 扫描,同时优于基于点云集成序列的方法。我们的方法不需要机器人移动,它依赖于基于学习的点云段描述符,并在地图中计算完整的 6 自由度。这些片段是从当前的 LiDAR 扫描中提取的,并使用计算出的描述符与数据库进行匹配。然后用几何一致性测试验证候选匹配。我们还提出了一种策略,通过使用相机提供的视觉信息来增强分段描述符的性能,以进一步提高分段描述符的性能。为此,提出了一种定制的神经网络架构。我们证明了我们的 LiDAR-only 方法在一系列 KITTI 数据集上优于最先进的基线,并在具有挑战性的 NCLT 数据集上评估其性能。最后,我们表明,与仅使用 LiDAR 的描述相比,融合视觉信息可将分段检索率提高多达 26%。
由于许多机器人平台使用 LiDAR 和视觉传感器的组合,我们提出了一种策略,将 LiDAR 和视觉传感器的优势结合起来,以进一步提高描述符的检索性能,如图 1 所示。这是通过增加点的结构信息来实现的将视觉外观编码在图像中的云段,从而将两种互补的传感器模式结合在一起。我们的实验表明,融合 LiDAR 和视觉信息显着提高了我们的段描述符的独特性。 总而言之,本文提供了以下贡献:
•OneShot:一种新颖的基于 3D LiDAR 的全局定位方法,它使用单次扫描来估计机器 人的 6 自由度姿态。
•基于定制神经网络的LiDAR-Vision 分段描述符,显着提高了仅LiDAR 描述符的独特性。
• 在公开可用的数据集上对所提出的算法进行了广泛的评估,证明其性能优于最先进的基线。
我们的工作扩展了 SegMap 并提高了其适用性和性能。 当前最先进的基于分段的方法将点云累积到本地地图中,并尝试将其定位在全球地图中。 因此,它们需要机器人盲目探索其附近以进行定位或启动传感器。 相比之下,我们的算法能够逐帧定位。 因此可以在启动后更快地完成定位,最大限度地减少潜在的不安全航位推算阶段。

一次性激光雷达定位
~~~~~~~本节描述了图 1 中所提出的全局定位算法。我们建议从单个 LiDAR 扫描中提取片段,并使用专门为此任务训练的神经网络来描述它们。 匹配和几何验证步骤导致地图中完整 6 DOF 姿态估计的输出。 下面详细介绍了每个模块,它们一起允许机器人系统使用 LiDAR 传感器执行有效的一次性全局定位,而无需执行昂贵的数据聚合。
分割
~~~~~~~与之前基于分段的方法 [3]-[5, 23] 的主要区别之一是我们的系统一次使用单个 LiDAR 扫描。当额外处理稀疏的 LiDAR 数据时,分割成为一项具有挑战性的任务。从累积密集点云中提取的片段与从单个稀疏 LiDAR 扫描中提取的片段之间的比较如图 2 所示。稀疏 LiDAR 数据由扫描仪提供,例如来自 Velodyne2 或 Ouster3 的扫描仪。这些可能只有 16 条扫描线。通常使用的基于欧几里得距离或曲率的分割方法在遇到这种稀疏数据时经常失败,因为两条不同扫描线的点之间的距离通常很大,因此点法线可能不准确。如果不明确解决,传感器的特定读取模式将显着影响分割。出于这个原因,我们利用 Bogoslavskyi 等人提出的分割方法。 [24]。这种有效的算法直接作用于距离图像,并采用简单的几何策略来分离点云中表现出强烈深度不连续性的结构。
段描述符
~~~~~~~段描述模块的目标是对传入的点云段进行降维,将它们压缩为浮点数向量。 在我们的实验中,64 被证明是嵌入的合适尺寸。
该描述由基于 3D 卷积、最大池化和密集层的人工神经网络执行。 这种架构最初是由 Dub ́e 等人提出的。 [5] 并且与提出的算法中使用的非常相似。 由于我们的方法是从单次扫描中处理点云,而不是从多次扫描中积累的数据,因此网络在稀疏数据上进行了重新训练。 我们还利用了度量学习的最新进展,并实施了三元组损失 [25] 来训练网络。
神经网络训练
下面将解释用于训练人工神经网络的方法。首先,描述了训练数据的生成,然后解释了使用的损失函数和训练技术。1) 训练数据生成:训练数据由公共数据集 KITTI [26] 和 NCLT [27] 生成。如果与它们的并集相比,它们的凸包的交集很大,则一对段被标记为基本真实对应 [5]。对于 KITTI 里程计数据集 [26],序列 05 和 06 用于训练,序列 00 用于测试。在 NCLT 数据集的情况下,使用了 2012-11-17 和 2012-03-25 日期的大量重叠记录。图 3 概述了 NCLT 数据集的训练和测试数据的分离。2)损失函数:三元组损失[25]是一种度量学习方法,它在视觉位置识别[28]-[30]的应用中获得了相当大的普及,并在这项工作中用于寻找3D点云片段的嵌入任务。三元组训练的一个关键要素是一种合适的硬负挖掘策略,它已被证明可以提高性能和收敛速度 [25, 31, 32]。我们选择了一种称为batch hard [33] 的策略,因为它可以在寻找具有挑战性的困难样本而不对训练集中错误标记的样本过于敏感之间取得平衡。
段匹配
我们的定位地图由一个包含在映射阶段获得的片段的数据库组成,这些片段与它们的质心位置一起存储。 段描述符保持在 k-d 树结构中,以实现高效的最近邻搜索。 对于从查询扫描中提取的每个段,从地图中检索其最近的邻居索引空间并传递到管道的下一部分。
几何一致性测试
段描述和匹配后,候选通过几何一致性测试。 实现紧密遵循 Dub ́e 等人提出的图公式化方法。 [34]。 该算法在所谓的一致性图中找到最大团。 结果对应于在查询扫描和全局映射中具有一致配置的最大段匹配集。 最后,解决最小二乘问题最小化一致地图和数据库段质心之间的距离使我们能够计算全局 6 DOFpose [34]。
方法
本节描述了我们用视觉信息增强点云段描述符的策略。 我们追求的目标是通过相机传感器提供的环境视觉外观来增强 LiDAR 数据中包含的结构信息。
图像补丁提取
我们的方法要求相机与 LiDAR 传感器的视野有明显的重叠。 一旦传入的点云被分割,产生的片段就会被投影到相机图像上。 在此之后,计算投影的边界框并提取图像的相应部分。 生成的图像块代表相应片段的视觉外观,并用于补充 LiDAR 数据中编码的结构信息。
激光雷达-视觉融合
对于图像块的描述,我们使用神经网络 NetVLAD [20]。它是一种神经网络架构,已成为视觉全局定位的事实标准,并生成图像的全局描述符。传入的图像通过基于 VGG-16 [35] 的深度卷积网络,然后是 NetVLAD 层。后者将来自卷积网络的特征聚合到学习的集群中,并生成图像的单个 4096×1 描述符。可以应用可选的基于 PCA 的降维,但是我们不会在我们的工作中使用最后一个功能。 Cieslewski 等人实施的公开权重。 [36] 在多模态描述符网络的训练过程中被使用并保持固定。为计算段和图像的多模态描述符而开发的神经网络结构的详细图如图 4 所示。在我们使用 NetVLAD 时,图像块首先被重新缩放到 140x140 的大小,然后输入到网络中。结果描述符与这些段描述符网络的扁平输出连接。在这种情况下,段描述符网络等于 Dub ́e 等人提出的网络的卷积部分。 [5]。这些连接的中间描述符然后通过密集层,最终产生融合的、压缩的多模态描述符。实验表明,图 4 中描述的配置在描述符性能和计算时间之间产生了不错的权衡。 按照与第 III-C 节中描述的相同方法执行训练,唯一的区别是这里的数据样本由一个段点云组成带有相应的图像补丁。由此产生的描述符可以用作第三节中介绍的全局本地化管道中的替代品。
