目录

基本情况

摘要

I. 介绍

II. 相关工作

III. 方法

A. Normal Computation and Point Cloud Registration

B. Meshing Algorithm

C. Local and Global Map

IV. 试验评估

A. Datasets

B. Mapping Accuracy

C. Memory Efficiency

D. Odometry and Localization Accuracy

E. Registration Algorithm

F. Runtime

V. 总结


基本情况

  • 题目: Poisson Surface Reconstruction for LiDAR Odometry and Mapping
  • 出处: ICRA_2021 
    • Ignacio Vizzo, Xieyuanli Chen, Nived Chebrolu, Jens Behley, Cyrill Stachniss,the University of Bonn, Germany
  • Github: https://github.com/PRBonn/puma
  • 论文:http://www.ipb.uni-bonn.de/wp-content/papercite-data/pdf/vizzo2021icra.pdf

  • 相关数据集:https://www.ipb.uni-bonn.de/data/mai-city-dataset/

  • 视频讲解:https://mp.weixin.qq.com/s/xrFAoBjC8llMcAFeD6PGMA (计算机视觉life)

摘要

对环境进行准确定位和建图是大多数自主系统的基本构建块。本文提出了一种新的激光雷达测程和建图方法,在提高建图质量的同时,对车辆的姿态进行估计。我们的方法执行帧到网格(frame-to-mesh)的ICP,但与其他SLAM方法相比,我们将地图表示为通过泊松曲面重建计算的三角形网格。我们以滑动窗口的方式对一系列历史扫描(past scans)进行表面重建。通过这种方法,我们可以得到精确的局部地图,这些地图非常适合配准,也可以组合成全局地图。这使我们能够建立一个3D地图显示更多的几何细节,而不是普通的映射方法依赖于截断符号距离函数(a truncated signed distance function)或surfels。我们的实验评估从定量和定性上表明,我们的地图提供了比其他地图表征更高的几何精度。我们还表明,我们的地图是紧凑的(compact),并可以通过一种新的基于光线投射的数据关联,用于基于激光雷达的里程估计。

I. 介绍

如果没有环境地图以及有关其姿态(pose)的知识,大多数自主系统都无法有效导航。因此,定位、映射(mapping,建图)以及同步定位和建图[4]、[34] 是自主系统的重要组成部分。我们采用旋转 LiDAR 传感器来绘制环境地图,并研究使用替代场景表示进行地图绘制和配准。场景表示是必不可少的,因为它用于注册传入的扫描。为了获得准确的相对姿态估计和引人注目的建图结果,场景表示必须以高度的细节捕捉和表示环境。

我们的论文旨在提高基于 LiDAR 的建图的几何精度,同时随着时间的推移估计具有低漂移的车辆姿态。我们通过使用通过泊松表面重建技术 [15] 计算的三角形网格表示来实现这一点。这与其他最先进的方法形成对比,这些方法通常使用面元 [1] 或截断的有符号距离函数 [7]、[23] 作为表示,这些方法通常提供相当低的重建质量,至少适用于大型户外场景。使用我们的方法,我们从室外环境的机器人 3D LIDAR 数据重建网格,其质量以前仅在对象级别、室内场景、使用地面扫描仪或通过聚合同一场景的多个通道。

本文的主要贡献是

  • 一种新型 LiDAR 里程计和建图系统,该系统建立在提供几何精确地图的表面重建方法之上。

    • 我们将单个扫描聚合到一个局部点云中,并使用这些来重建场景的三角形网格。

我们的实验评估表明,这种三角形网格非常适合 3D LiDAR 扫描的配准,因为它比较紧凑,保留了相当详细的结构,并允许精确的帧到网格配准。

这产生了一种新的基于 3D LiDAR 的建图方法,该方法提供几何精确的地图并可用于姿态估计,如图 1 所示。我们表明所提出的地图表示

  • (i)是环境的几何精确表示,
  • (ii) 与其他地图表示相比具有更好的内存效率,并且
  • (iii) 允许使用新颖的帧到网格配准算法将传入扫描与模型准确配准。

我们通过对合成数据和真实世界数据的实验评估来支持这些提议。

II. 相关工作

同时定位和映射 (SLAM) 已经研究了几十年 [4]、[34],在这里我们专注于基于 3D LiDAR 的方法。

基于激光的 SLAM 系统要么依赖稀疏特征 [39]、[22],要么使用密集地图表示进行配准 [1]、[8]。 Deschaud [8] 建议使用隐式移动最小二乘 (IMLS) 表面来表示地图。 Behley 和 Stachniss [1] 使用基于面元的地图表示进行映射。与这些方法相比,我们使用三角形网格而不是面元或 IMLS 表面将 LiDAR 扫描注册到密集地图表示。

点云中获取三角形网格的常用技术是 3D 表面重建 [2]。传统方法确定对下层表面建模的隐函数,例如,使用切平面 [12]、径向基函数 [5]、截断符号距离函数 (TSDF) [7] 或多项式表示 [17]。泊松表面重建 [14]、[15] 提供了基于此原理的几何精确重建。

与基于特征的 SLAM 系统相比,密集方法旨在使用所有输入数据并将它们聚合成密集地图表示。一种流行的方法是使用 Newcombe 等人推广的上述 TSDF [23] 用于 RGB-D 映射。大多数 TSDF 方法需要先验地知道环境的体积,因为它们依赖于固定的体素网格,但 Whelan 等人 [37] 建议使用滚动网格来缓解这种限制,并将中间结果存储在三角形网格中。其他方法使用八叉树 [35] 或按需分配块 [24]、[26]。与这些方法相反,我们不假设环境的大小来映射或使用任何优化的数据结构。

在机器人技术中,Marton 等人采用了用于重建的三角形网格表示[19]。近年来,还针对视觉惯性系统 [30]、基于 LiDAR 的方法 [6]、[31] 和纯粹基于视觉的系统 [27] 探索了此类表示。与我们的工作相反,这些方法通常计算遍历环境的稀疏重建,而我们的目标是重建一个连续的三角形表面,捕获几何细节。

此外,基于 3D LiDAR 的方法使用 TSDF 的变体来处理更大的体积并构建全局一致的地图 [21]、[25]、[28]、[29]库纳等人。 [18] 利用 ¨ 用于大型室外环境的 TSDF,但它们需要在同一场景上多次通过(multiple passes)才能获得引人注目的重建结果。我们提出了一种方法,只需要通过一次即可获得高级别的细节。

III. 方法

我们每次扫描执行以下三个步骤:首先,我们计算每点的法向量,第二,我们将scan注册到local地图,第三,我们将注册的scan融入global地图。 我们还提出了一种新的帧到网格(frame-to-mesh)注册策略,该帧到网格注册策略利用了三角网格表示的地图。

我们的方法区分了本地地图和全局地图。 本地地图用于执行测距估计(odemotry estimation),并从最后N个已定位的扫描(loclized scans)中构建。 全局地图是整个环境的聚合网格(the aggregated mesh)。

A. Normal Computation and Point Cloud Registration

为了计算法线,我们使用球面投影将点云投影到范围图像中,并使用来自相邻像素的cross prodect来估计正常向量[1]。 这种方法,有时虽然不如通过对点邻域的协方差进行主成分分析来估计正态分布准确, 但是由于它不需要确定点邻域而更高效。

对于点云注册,我们可以使用三角网格迭代地执行点云的数据关联,并确定姿势增量以最小化误差度量。

对于点云之间的数据关联,通过邻居搜索或投影地找到的最近点关联[32]是一个常见的选择。 我们还可以通过在三角形顶点上搜索邻居,使用我们的网格表示来使用此策略,但这是次优,我们将在实验评估中显示。//...TODO

B. Meshing Algorithm

用点集进行三维曲面重建的一种常用技术是建立一个隐式函数,该函数的目的是恢复输入数据[12]的底层曲面。 //...TODO

C. Local and Global Map

在我们的方法中,我们区分局部和全局地图。本地(局部)地图是由最后N个聚合扫描构建的。全局地图仅用于可视化并最终输出(不在我们的方法中使用),全局地图也将会改变,当我们添加闭环时。每次有新的LIDAR帧注册到局部地图时,将从局部地图重建一个新网格。这样产生了类似于车辆的估计姿势的滚动网格状网(rolling grid-like mesh),并且这样将为新帧的注册,产生足够的的信息。在初始化的N帧扫描期间,我们禁用网格重建模块,并依赖于标准点到平面ICP来估计车辆的姿势。

在注册M个scan后,最后生成的本地mesh,将会集成到全局网格地图中。这意味着只有在M个扫描到达和注册后,全局网格将被更新(与每次新扫描到达每次更新的本地网格对比)。为此,我们将本地mesh中的所有三角形添加到全局网格,然后我们删除由于本地地图区域中的重叠而可能发生的重复的三角形。在我们的实现中,我们使用N = M = 30。

IV. 试验评估

我们在Open3D库[40]上实现了我们的方法,并使用英特尔的Embree库[36]来实现高效的光线到三角形的交集(ray-to-triangle intersection)查询。我们的算法完全运行在CPU上,并在Intel Xeon W-2145上进行了测试,Xeon W-2145 8核@3.70 GHz, 32gb RAM。我们的方法的源代码可以在https://github.com/PRBonn/puma上找到。

在我们所有的实验中,我们使用默认的SuMa设置和0.10m的体素大小的TSDF。对于我们的方法,我们将泊松面重建[14]中使用的八叉树深度设置为∆tree = 10。

(定性示例显示了地图精度。 第一行分别展示了三行地图表示,TSDF,Surfels和我们的方法。 第二行是用于计算Tab1中的指标的密集GT真值点云。与GT点云云一起,突出显示GT模型中的黄色点表示:其距离第一行中所示的内置模型中最近点的距离大于ΔD= 3cm。 直观地,模型含量越多的黄点,错误或间隙越多。 )

A. Datasets

我们使用模拟和现实世界的数据进行评估。 为了评估我们地图的准确性,我们需要地面真实数据,因此我们合成了城市环境中(http://www.ipb.uni-bonn.de/data/mai-city-dataset)的传感器数据。 为了获得现场的地面真值(GT)模型,我们使用具有与用于获得扫描的相同视角和属性领域的虚拟LIDAR传感器模型,来对CAD进行采样,不过这里使用的是320波束(beams)而不是64。 这样,我们获得了密集的地面真值点云,这些点云只包含该传感器可观测到的部分场景,这一点对于3D模型的公平的比较来说是关键的。 最终GT点云包含62.5百万个点,并在Fig.3的第二行中示出。

对于现实世界实验,我们使用kitti数据集的odemetry benchmark[11]。

B. Mapping Accuracy

第一组实验旨在展示我们地图表示的几何精度。我们将我们的网格生成管道 pipeline 与两种常用的地图表示进行比较:surfels [1] 和 TDSF [21]。为了解耦由表示本身和 SLAM 方法的姿态估计精度引起的结果地图中的错误,我们使用Ground Truth 提供的相同姿态为所有系统进行公平比较。

为了对测绘系统的准确性进行定量评估,我们以每平方厘米 1,000 个点的密度对地图表示进行了密集采样。我们对评估的地图表示进行采样,使我们能够使用标准点云指标 [16]、[9] 在每种方法和 GT 模型之间进行公平的比较。

对于我们的评估,我们使用以下指标。设 P 为从地图采样的点云,设 G 为 GT 点云。对于点 ,我们定义到 GT 模型的距离为:

其中 ||·||是 L2 范数。类似地,我们将点 到重建地图的距离定义为 。对于计算精度precision、召回率recall 和 f-score,我们完全遵循 Knapitsch 等人的工作[16]。

我们还将倒角距离 Chamfer distance [9] 定义为:

建图的精度结果见Tab I。我们对 3D 模型偏离地面实况的领域特别感兴趣。因此,我们用黄色突出显示了所有误差为 δd ≥ 3 cm 的点(图 3 的第二行)。

我们可以看到,基于 TSDF 的方法无法重建场景中重要的特殊的对象,例如树木、行人或电线杆。重要的是要注意这是该方法的一个限制,因为使用的框架 [20] 不会丢弃任何输入扫描。基于面元的方法通常可以提供更准确的重建,但是,它也会为重建的场景添加虚假的伪影。我们的方法在模型的准确性和正确性方面都优于模型,因为它不会遗漏重要特征并且不会同时添加伪影。

C. Memory Efficiency

要在实践中使用这些高清地图,必须能够有效地表示该地图。第二个评估旨在研究不同地图表示内存需求。我们表明,我们基于三角形网格的地图表示在几何精度和相应内存占用之间的权衡方面是一个不错的选择。我们使用我们的方法、TSDFs [21]、surfels [1] 和 LiDAR 点云来评估表示给定地图所需的内存量,只考虑原始几何模型,而不考虑任何其他附加信息(例如法线、颜色信息等)可以存储。选择基于 TSDF [21] 方法的体素大小为 0.10 m,以便提取网格的空间分辨率与我们的方法构建的结果相似。 SuMa [1] 没有提供控制其地图大小的机制。

对于基于网格的地图表示,表示三角形网格所需的最小内存量由 给出,其中 Nv 和 Nf 分别是模型中的顶点数和面数,vsize 和 fsize 是大小分别为顶点和三角形面。

在基于 TSDF 的地图表示的情况下,Whelan 等人[37] 表明,将 TSDF 体积存储为一般大型室外环境的地图表示并不直接可行。在实践中,我们需要从 TSDF 体积中提取三角形网格来存储这些贴图。因此,在比较 TSDF 方法的内存占用时,我们使用提取网格的大小而不是 TSDF 体积。对于一个面元surfel,我们需要表示面元的中心位置、法线和半径。因此,一个面元图的大小由给出,其中NS是面元的数量,csize是中心位置的大小,nsize是法向量的大小,rsize是半径的大小。对于点云图,地图的大小由 给出,其中 NP 是点的数量,psize 是一个点的大小。

图 4 显示了不同方法对 KITTI 里程计基准测试的两个不同序列随时间的内存消耗。我们看到我们的方法随着输入扫描的数量扩展得很好,而基于面元的地图或点云地图需要更多的内存,这使得在移动平台上运行不可行。基于 TSDF 的映射表现出类似的内存消耗,但是映射精度降低,如第 2 节 Ⅳ-B所示。

D. Odometry and Localization Accuracy

在这个实验中,我们说明我们的方法,非常适合 通过注册 LiDAR 扫描使用我们的地图表示 来估计车辆的姿态。我们在 KITTI 数据集 [11] 上评估我们的性能,我们通过增量注册 3D LiDAR 扫描估计姿态。我们将我们的方法与基于 ICP 的常用配准算法进行比较,即点对点 ICP [3]、点对平面 ICP [32] 和广义 ICP [33]。对于所有这三种方法,我们使用第 2 节中描述的相同优化框架 III-A,还包括一个 Huber 损失 [13] 函数来拒绝异常值。与我们的方法一样,我们还使用在时间 t-1 获得的最后一个增量估计来初始化 ICP。此外,我们考虑这三种方法的不同场景,而不是执行帧到帧 ICP,我们执行帧- to-model ICP,其中模型是最后 N 个聚合扫描。这在 Tab II 中表示为点云图。

通过这种方式,我们可以评估是否在此本地地图上运行重建算法的好处。为了在三个 ICP 变体上执行数据关联,我们采用最近邻搜索。最后,我们还考虑了一个不同的数据关联场景,即投影数据关联。为此,我们将我们的方法与帧到帧 SuMA [1] 进行了比较。 TSDF [20] 框架不提供姿态估计,因此在本实验中被省略。重要的是要注意,为了同等地比较所有方法,我们对所有方法使用相同的正常计算,如第III-A所述。这种法线计算通常会降低用于估计姿势的任何基于法线的度量的性能。

在估计性能方面,我们可以在表中看到 Tab II 当将我们系统提供的姿态与 KITTI 提供的真实姿态进行比较时,我们的方法提供了可靠的姿势估计性能。

E. Registration Algorithm

我们简要展示了 Sec 中描述的新颖注册方案。 III-A在精度速度方面更胜一筹。我们将我们的注册管道与标准的点到平面 ICP [32] 进行比较,其中两种情况下的源都是来自 LiDAR 传感器的传入扫描,目标设置为为我们的方法构建的三角形网格。

我们比较了两种不同的配准算法,一种对网格的所有顶点和法线进行采样以获得点云,第二种使用我们基于光线投射 (RC) 的新型数据关联算法,如第Ⅲ-A中所述。 .虽然传统的 ICP 使用最近邻搜索,但我们通过网格进行光线投射以获得目标对应关系和法线信息。通过在完整的 KITTI 训练序列中运行我们的注册算法来评估注册,使用不同的地图分辨率将所有 LiDAR 扫描注册到本地网格地图(第 III-C 节),即通过在泊松表面重建 [15]。为了研究配准方法的准确性,我们计算了数据集的整体训练序列的平均平移和旋转误差。我们看到,当输入网格的大小增加时,所提出的配准算法可以更好地扩展。该实验的结果显示在Tab III中。

F. Runtime

预处理和正常估计每次扫描平均需要 45 毫秒,而扫描匹配算法又需要额外的 500 毫秒。 然而,瓶颈是在 CPU 上执行时平均需要 5 秒的网格划分算法。 这使得我们的方法对于自动驾驶汽车的在线操作不可行。 在这项工作中,我们主要关注三角形网格在开发 SLAM 管道中的使用,并表明重建质量和姿态估计精度都是有希望的。 在未来的工作中,我们需要研究优化网格划分算法以实现在线性能的技术,例如,在 GPU 上运行重建算法,此外,GPU 启用的光线追踪引擎,如 NVIDIA OptiX™,可用于加速光线 -铸造 ray-casting 注册算法。

V. 总结

在这一文章中,我们提出了一种新的方法,使用3D激光雷达同时测量里程和建图。我们的方法执行了一种新的帧到网格配准,但与其他SLAM或测程和映射方法相比,我们将地图表示为一个三角形网格,使用滑动窗口中的泊松曲面重建在过去的扫描序列中进行估计。我们表明,我们获得了高质量的局部网格,显示更多的细节,与常见的替代方法相比,如最先进的TSDF或surfer表示。我们还表明,我们的地图表示非常适合于姿态估计的增量扫描配准。在未来的工作中,我们的系统可以通过结合闭环[38]和姿态图优化框架进行扩展,以实现高效的密集地图校正。

论文笔记_S2D.69_用于 LiDAR 里程计和建图的泊松曲面重建相关推荐

  1. ICRA 2021|用于LiDAR里程计和建图的Poisson表面重建

    Poisson Surface Reconstruction for LiDAR Odometry and Mapping 作者:Ignacio Vizzo, Xieyuanli Chen, Nive ...

  2. 论文笔记_S2D.77_2013_TOR_使用RGBD相机的3D建图(RGBD SLAM V2)

    目录 基本情况 摘要 介绍 系统流程 特征提取 运动估计 EMM:Environment Measurement Model 回环检测 图优化 建图OctoMap 参考 基本情况 出处:Endres ...

  3. 3D激光SLAM:LeGO-LOAM论文解读---激光雷达里程计与建图

    3D激光SLAM:LeGO-LOAM论文解读---激光雷达里程计与建图 激光雷达里程计 针对LOAM的改进 激光雷达建图 原文 激光雷达里程计 激光雷达里程计模块的功能就是:估计相邻帧之间的位姿变换. ...

  4. LIOM: 一种新的激光惯性里程计和建图方法

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者:robot L | 来源:知乎 https://zhuanlan.zhihu.com/p/137 ...

  5. 面向固态激光雷达和惯导的里程计和建图

    点云PCL免费知识星球,点云论文速读. 文章:Towards High-Performance Solid-State-LiDAR-Inertial Odometry and Mapping 作者:K ...

  6. F-LOAM:基于激光雷达的快速里程计和建图

    文章:F-LOAM : Fast LiDAR Odometry and Mapping 作者:Han Wang, Chen Wang, Chun-Lin Chen, and Lihua Xie git ...

  7. LiLi-OM: 走向高性能固态激光雷达惯性里程计和建图系统

    点击上方"计算机视觉工坊",选择"星标" 干货第一时间送达 编辑丨当SLAM遇见小王同学 声明: 本文只是个人学习记录,侵权可删.论文版权与著作权等全归原作者所 ...

  8. LOAM:实时的雷达里程计和建图

    之前对视觉SLAM主要的开源框架,ORB-SLAM2.SVO等进行了介绍,然后疫情期间对VINS-Mono进行了详细的源码解析,接下来考虑到工作原因需要用到激光雷达.GNSS.IMU等多传感器融合,所 ...

  9. 东北大学 | 一种适用于大规模公路环境的鲁棒激光惯性里程计和建图系统

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 标题: A Robust Laser-Inertial Odometry and Mapping Me ...

  10. RIKIBOT-FX4纯激光里程计的建图导航

    目录 简介 环境准备 纯激光里程计构建地图 纯激光里程计导航 关键参数配置 交流方式 简介 在大多数学习ROS人的理解中,常用的gmapping建图.导航一般都需要依赖电机的里程计,特别是导航时一定需 ...

最新文章

  1. 用JavaScript获取一个超链接的绝对URL地址
  2. 图像配准----SIFT
  3. [hiho1159] Poker
  4. 关于将struts2框架下,使自定义过滤器对部分的action(一个action或多个action)请求忽略的方法
  5. JQuery简介选择器
  6. recyclerview 分组_Android使用RecyclerView实现跨列分组
  7. Ubuntu安装VMware Workstation详解
  8. 数据结构与算法之树的遍历
  9. R语言访问mysql和posqlgresql
  10. CDH集群禁用kerberos的讲解
  11. GCC编译全过程解析
  12. VFP DownFileX下载异常问题
  13. midas显示代理服务器错误,midas运行后出错大神帮忙看看哪错了
  14. u盘插入计算机显示被写保护,u盘被写保护了怎么去掉保护,教您解除u盘被写保护...
  15. dubbo之Serialization
  16. 计算机可以计算出十的一百次方吗,世界上最大的数字单位 古戈尔(1古戈尔等于10的100次方)...
  17. 学会提问——批判性思维指南
  18. oracle常用SQL语句(汇总版)
  19. 一位微软技术大牛,工作8年的职业经验分享
  20. 快手2020校园招聘秋招笔试--工程B试卷 订正

热门文章

  1. h5带mysql数据库的留言板_【mysql】用PHP写留言板,有回复功能,要写入数据库。...
  2. css3中的@font-face的用法(定义多个规则)
  3. Java线程池 与Lambda
  4. 2010-10-08在浏览器中兼容+jQuery3
  5. JinlinOJ 通化邀请赛 E.GCD and LCM 最大公约数最小公倍数 关系
  6. 控制台或者dll中CreateWindow 出错
  7. 学习使用windows live write.
  8. 页面body元素#65279导致顶部空白一行解决方法
  9. 查看被系统或程序打开文件工具 OpenedFilesView
  10. 33. 对包含指针的容器使用remove这一类算法时要特别小心