论文笔记—NDT-Transformer: Large-Scale 3D Point Cloud Localization using the Normal Distribution Transfor

论文笔记—NDT-Transformer: Large-Scale 3D Point Cloud Localization using the Normal Distribution Transform Representation

文章摘要

     ~~~~          ~~~    在 GPS 挑战的环境中,自动驾驶对基于 3D 点云的地点识别有很高的要求,并且是基于激光雷达的 SLAM 系统的重要组成部分(即闭环检测)。本文提出了一种名为 NDT-Transformer 的新方法,用于使用 3D 点云进行实时和大规模的地点识别。具体而言,采用 3D 正态分布变换 (NDT) 表示将原始、密集的 3D 点云压缩为概率分布(NDT 单元),以提供几何形状描述。然后一个新的 NDT-Transformer 网络从一组 3D NDT 单元表示中学习全局描述符。受益于 NDT 表示和 NDT-Transformer 网络,学习到的全局描述符丰富了几何和上下文信息。最后,使用用于地点识别的查询数据库来实现描述符检索。与最先进的方法相比,所提出的方法在牛津 Robotcar 基准测试中平均前 1 名召回率提高了 7.52%,平均前 1% 召回率提高了 2.73%。

导语

     ~~~~          ~~~    对能够在 GPS 挑战的环境中稳健地定位机器人或自动驾驶汽车的基于点云的导航系统有很高的需求。 基于点云的全局定位也可以用作闭环检测模块,这是同时定位和建图 (SLAM) 系统的重要组成部分。 一种实用的方法是使用GPS获取粗略的全球位置和点云配准方法,例如ICP,以获得更准确的位姿估计。 然而,GPS 并不总是可用且可靠,因此需要仅使用传感数据的替代解决方案。
  传统的点云配准方法和粒子滤波方法对于大规模环境是不可扩展的。 当前机器人定位系统的核心挑战是通用性和可扩展性。 例如,基于模型的方法 [1]、[2]、[3] 可以学习 6DOF (自由度)全局位姿作为回归模型并实时推断位姿。 遗憾的是,基于回归的方法不能推广到新环境。 类似 SegMatch 的方法 [4]、[5]、[6]、[7] 在中间表示(例如语义段)上配准两个点云图,这已被证明是鲁棒的,但计算效率不高。
  本文将大规模定位作为一个大规模点云检索问题来解决,其中连续的机器人轨迹被离散化为连续的“位置”。 受到自然语言处理中 Transformer 模型 [8] 成功的启发,我们提出了一种新方法——NDT-Transformer——将点云转换为几何丰富的 NDT 单元的“长句”,然后转换为特定于站点的特征签名。 在推理过程中,只需要在线计算查询数据的描述符,而数据库中的其他描述符可以离线计算并存储在内存中,从而实现大规模环境中的实时拓扑定位。 因此,可以实现可扩展性和泛化性。
  主要贡献可以总结如下:1)提出了一种计算效率高的方法,用于大规模基于点云的定位,其中 NDT 用作中间表示。 我们的方法将密集的点云压缩成一个轻量级的表示,最大限度地保留了几何特征; 2) 设计了一种名为 NDT-Transformer 的新型神经网络架构,用于从一组 3D NDT 单元表示中学习具有上下文线索的全局描述符; 3)所提出的方法在基于点云的位置识别方面达到了最先进的性能,可以作为基于无损检测的 SLAM 和蒙特卡洛定位方法的重要补充。

相关工作

A. 基于点云的全局定位

     ~~~~          ~~~    最先进的基于点云的定位方法可以分为三个主要流派:基于回归的 [1]、[2]、[3]、基于中间表示的 [4]、[5]、[ 6] 和基于全局特征的 [9]、[10]、[11]、[12]、[13]、[14]、[15]。
  继深度位姿估计在基于图像的全局定位中取得成功之后,一些方法 [1]、[2]、[3] 建议使用深度回归网络来学习 6 DOF 全局位姿。 这些基于模型的方法非常有效,但不具有普遍性。 换句话说,需要针对新环境训练新模型。
  基于中间表示的方法 [4]、[5]、[6]、[7] 首先将地图分割成中间表示(即语义段),然后配准分割的部分,而不是直接配准点云。 中间部分可以描述为独特的特征 [4] 或深度学习的特征 [5]、[6]、[7] 可用于消除误报。 虽然通过使用中间表示可以提高匹配效率,但是在云分割上花费了大量的运行时间,因此无法保证实时性。
  基于点云的定位的主流方法是基于全局特征,其中设计或学习通用特征提取器以获取用于检索的位置签名。 在深度学习开始主导机器学习社区之前,已经对 M2DP [9]、扫描上下文 [10] 和 DELIGHT [11] 等手工制作的特征进行了充分研究,以表示用于定位的 3D 点云。 在基于学习的方法方面,Scan Context Image-based network [12] 和 OverlapNet [13] 根据几何知识将 3D 激光雷达扫描转换为 2D 图像,然后部署类似 2D 卷积的网络来学习表示。
  Point-NetVLAD [16] 没有使用手工制作的特征,而是结合 PointNet [17] 和 NetVLAD [14] 来学习基于度量学习的全局描述符。然而,类似 PointNet 的架构忽略了3D点云中的空间分布和上下文线索。从不规则的 3D 点云中提取有效的上下文信息是 3D 闭环检测的另一个挑战。以下工作 LPD-Net [15] 采用经典的 DGCNN [18] 类网络,通过基于 KNN 的聚合在特征空间和笛卡尔空间中增强特征描述符。他们还引入了10种不同的几何局部特征来在训练期间为网络提供信息,从而实现最先进的 (SOTA) 性能。由于 GPU 内存的限制,这些基于点云的方法大多需要对原始 3D 密集点云进行下采样操作。然而,这种下采样操作会导致局部几何信息的退化。最后,作为实时 SLAM 系统的一部分,3D 回环检测的运行时性能需要实时运行,这意味着需要轻量级网络。

B. 基于NDT的定位

     ~~~~          ~~~    正态分布变换 (NDT) 是将 2D 或 3D 点云表示为 2D 激光 [19] 和 3D 激光雷达地图 [20]、[21] 的差分多变量高斯分布的经典方法。与基于点云或网格图的表示相比,基于 NDT 的重定位,即 NDT-MCL [22],展示了先进的定位精度和可重复性,因为 NDT 是一种固有的概率和几何表示来模拟可能性。换句话说,地图的结构和几何信息由NDT单元参数隐式解释。受益于这一特性,基于 NDT 的定位可以将庞大的点云图压缩到内存高效的 NDT 单元中,从而使定位具有可扩展性。基于子图的NDT[23]可以消除机器人视角不同带来的不确定性,进一步提高大规模和长期应用中的定位精度和可扩展性[2]。此外,NDT可用于为回环检测提供位置签名,例如使用无损检测直方图 [24] 和语义无损检测直方图 [25]、半监督位置分类 [26],并创建兴趣点描述符 [27] 以进行有效的配准或定位。

方法

A. 问题制定

     ~~~~          ~~~    给定机器人汽车的 6 DOF 轨迹和同步激光雷达扫描,子图 M = { m 1 , ⋅ ⋅ ⋅ ⋅ , m N } M = \{ m_1,····,m_N \} M={ m1,,mN} 可以通过将轨迹划分为固定范围间隔并将点云映射到本地参考系来构建。然后得到的子图可以进一步表示为NDT单元。具体来说,将子图的空间均匀划分为网格单元,并使用单元内的 3D 点来估计NDT参数。实际上,由于每个子图的密度不同,单元格的数量差异很大。应用空间分布采样滤波器 G \mathcal{G} G 来保证所有子图中的单元格数量相同,即 ∣ G ( m 1 ) ∣ = ⋅ ⋅ ⋅ = ∣ G ( m N ) ∣ |\mathcal{G}(m_1)| = · · ·= |\mathcal{G}(m_N)| G(m1)==G(mN)。提出了一种称为 NDT-Transformer 的深度模型来学习函数 f ( . ) f(.) f(.),该函数将输入 NDT 单元表示表示为固定大小的全局描述符 f ( F ) f(\mathcal{F}) f(F),其中 F = G ( m ) \mathcal{F} = \mathcal{G}(m) F=G(m)。那么可以采用欧氏距离函数 d ( . ) d(.) d(.)来衡量相似度,即 d ( f ( F ) , f ( F p o s ) ) < d ( f ( F ) , f ( F n e g ) ) d(f(\mathcal{F}), f(\mathcal{F}_{pos})) < d(f(\mathcal{F}), f(\mathcal{F}_{neg})) d(f(F),f(F

你可能感兴趣的:(笔记,slam,定位,算法)