LIO-PPF:通过增量平面预适应和骨架跟踪实现快速激光雷达惯性里程计

文章:LIO-PPF: Fast LiDAR-Inertial Odometry via Incremental Plane Pre-Fitting and Skeleton Tracking

作者:Xingyu Chen, Peixi Wu, Ge Li and Thomas H. Li

编辑:点云PCL

代码:https://github.com/xingyuuchen/LIO-PPF想·

欢迎各位加入知识星球,获取PDF论文,欢迎转发朋友圈。文章仅做学术分享,如有侵权联系删文。

公众号致力于点云处理,SLAM,三维视觉,高精地图等领域相关内容的干货分享,欢迎各位加入,有兴趣的可联系dianyunpcl@163.com。未经作者允许请勿转载,欢迎各位同学积极分享和交流。

摘要

作为智能移动机器人的重要基础设施,激光雷达惯性里程计(LiDAR-Inertial odometry,LIO)通过跟踪激光雷达扫描数据提供了状态估计的基本能力,高精度的跟踪通常涉及最小化点到平面距离的k最近邻搜索,然而,这样做的代价是维护大规模的局部地图,并且为每个点执行k最近邻平面拟合。在这项工作中通过节省这些不必要的开销来降低LIO的时间和空间复杂性,在技术上设计了一个平面预拟合(PPF)流程来跟踪3D场景的基本骨架。在PPF中,平面不是针对每个扫描帧单独拟合的,更不用说对每个点进行拟合了,而是在场景“流动”时进行增量更新,与k最近邻不同,PPF对噪声和非严格平面更具有鲁棒性,主要采用了迭代主成分分析(iPCA)进行优化。此外,我们引入了一个简单而有效的sandwich layer来消除虚假的点对平面匹配,我们的方法在5个公开数据集中的22个序列上进行了广泛测试,并在3个现有的最先进的LIO系统中进行了评估,与此相比,LIO-PPF只需消耗原始局部地图大小的36%即可实现高达4倍的更快残差计算和1.92倍的整体帧率,同时保持相同水平的准确性。我们完全开源了我们的代码,地址为https://github.com/xingyuuchen/LIO-PPF。

a5a9876f42d1bc957a3e09f5f95d1d9a.png

图1. (a) 重建的场景,(b) 在快速旋转下的两个连续扫描,(c) 跨越扫描的大型平面形成场景的基本骨架,并揭示其整体几何结构,(d) kNN需要大量本地地图,否则大多数点无法找到邻居以拟合平面,而我们使用基本骨架来表示场景进行点匹配,搜索区域被扩大到平面级别,无需进行kNN搜索。

主要贡献

总结来说,本研究做出了以下贡献: 

• 我们提出通过平面预拟合(PPF)跨越LiDAR扫描来表示场景的基本骨架,用于点匹配。我们展示了:

         (i) PPF能够自然地减小本地地图的规模,并消除大部分冗余的kNN搜索和平面拟合;

         (ii) kNN对噪声和非严格平面的非鲁棒性。 

• 在PPF中,我们不是为每个点/扫描拟合平面,而是利用IMU和LiDAR扫描的顺序性实现增量式平面更新;迭代PCA使得PPF对噪声和非严格平面比kNN更具鲁棒性;我们引入了一个简单而有效的夹层层,用于排除错误的点到平面匹配。 

• 工程上的贡献包括完全开源的LIO-PPF。在5个开放数据集中的22个序列上进行的实验显示,与原始方法相比,我们的PPF将本地地图大小最多减少了64%,计算残差速度提高了4倍,整体帧率提高了最多1.92倍,并且仍然保持了相同水平的精度。

主要内容

增量式平面预拟合与追踪 

这里将首先介绍我们高效的平面预拟合方法,然后描述基于PPF的相应骨架追踪算法,最后提出一个多层来在复杂场景中提高算法的鲁棒性。

b376831396c4a31538c85ed0505a457b.png

图2. 平面预拟合和跟踪流程概览

增量式iPCA平面预拟合 

该方法的核心可以从三个方面描述:预拟合、迭代PCA和增量式。

1)预拟合:每个扫描帧中的大面积表面形成了3D场景的基本骨架,并揭示了其全局几何特征,我们称之为骨架平面,并且独立地维护它们而不是通过kNN进行拟合,首先从提取的表面特征点或原始的去畸变点云中获取输入。然后采用迭代的拟合-去除-拟合方式在Pi中提取所有的骨架平面。对于单个平面拟合,我们使用经典的RANSAC和NAPSAC,NAPSAC假设同一类中的样本比类外的点更接近彼此。

2) 迭代PCA优化:用户PCA确定是否有3个以上的点能够拟合一个平面,对于PPF,它可以更有用,由于LiDAR采样、IMU噪声、偏差及其随机游走的噪声,去畸变点云是有噪声的。即使在严格的实际平面(例如墙壁)中,点与相应平面之间仍然存在显著的偏移。另一方面,一些不是严格平面的平坦表面也可能具有较低的局部曲率(例如不平坦的地面,小角度的弧线)。图3展示了kNN在这些情况下的退化问题。kNN策略仅使用4∼5个最近邻点,意味着拟合的平面由一个较小的局部空间确定。当遇到大噪声或非严格的平面时,局部空间无法表征整体形式,从而误导了配准的优化目标(见图3左)

dce2e833d2e528f29e1bc39e61256468.png

图3. 描述了在追踪带有较小局部曲率的非严格平面时,kNN退化的情况,kNN策略最小化点到局部平面的距离,然而,由4个最近邻点确定的局部空间无法反映整体几何形态,相反,iPCA方法迭代地提取所有全局平面点的主要骨架,导致更快的收敛。

3)增量拟合:相邻的LiDAR扫描的几何结构并不会有很大的变化,而是通常相似的,受到这一特性的启发,我们可以增量更新骨架平面,从而节省不必要的RANSAC迭代。

基于骨架的跟踪

一种基于“Plane Pre-Fitting”(PPF)的轨迹跟踪方法。首先通过PPF方法来提取3D场景中的基本骨架,即由大的平面构成的全局几何结构。每个大平面都经过迭代的拟合和优化得到。在拟合的过程中,所有符合条件的点被分为三类:严格的内点、半内点和外点。严格的内点是完全符合当前平面的点,半内点是部分符合的点,而外点则是不符合当前平面的点。接下来,当PPF收敛后,剩余的点被认为是散乱的点,没有与任何大平面匹配。这些散乱的点被放入一个集合中,记为Θ。在这里,“Skeleton-based Tracking”指的是通过基本骨架来跟踪并匹配后续的LiDAR扫描数据。在跟踪过程中,对于大平面内的严格内点p~,可以在平面空间F中进行搜索它们的对应点。而对于散乱点Θ中的点p~,搜索仍然发生在点级别,即在局部地图中搜索k个最近邻点,然后计算这些散乱点p~与这些邻近点构成的懒惰拟合平面块fknn之间的距离。这样,通过将点集Ω和Θ分别与对应的平面空间F和局部地图中的邻近点关联,就可以实现高效的残差评估和跟踪过程。

夹层处理

当进入新的场景时,可能在平面空间F中没有与新拟合的基本骨架平面上的点匹配,而且,由于平面交叉,如果仅依赖点到平面的距离,可能会出现错误匹配。这在包含小夹角的平面上更为严重。例如,如图5a所示的复杂地形,地面高程由于斜坡缓慢上升,假设这是第一次拟合斜坡平面,因此它尚未放入平面空间F中,斜坡上的点可以轻易通过(10)中的检查,从而错误地匹配到地面平面。

3a26cf8bbc938b0b12c13268bb321740.png

图5.(a)一个包含不同高程地面的场景(b)(a)中斜坡地面的示意图和PPF中使用的夹层处理层,根据到中心平面的距离,点被分为三组:严格内点、半内点和外点。

为了处理这个问题引入了一个额外的半内点处理层(图5b),在进行扫描匹配之前,我们简单地丢弃所有的半内点,这可能导致潜在的错误匹配。半内点层的厚度被设置为,以使异常点几乎不可能产生错误匹配。另一方面,这也有助于防止嘈杂的“厚”平面点产生多个基本骨架平面-我们仅使用严格符合中心平面的点作为基本骨架。这种移除方法非常简单,因为这些模糊的点的比例很小,它们的负面影响远大于它们对跟踪的贡献。

实验

数据集和实验设置 

所有实验均在一台配置现代的台式计算机上进行,该计算机运行Ubuntu 18.04 LTS操作系统,使用一颗英特尔Core i7-9700K处理器(3.60GHz × 8核心)和16 GiB内存,没有使用GPU,我们采用OpenMP 库进行并行计算,为了与之前的方法进行公平比较,在所有实验中启动与待比较方法相同数量的线程进行并行计算,我们首先进行了对比实验,以分析PPF配准策略和基于kNN的配准策略。然后,我们在真实场景中广泛评估了基于PPF的LIO的精度和效率。我们在5个公开数据集上进行了测试,包括UTBM robocar数据集、KITTI 、LIOSAM 、ULHK 和NCLT,共计22个序列。

9b09a93c7e2a8f88ccefa67f30408520.png

图6. 模拟实验设置,我们生成具有不同标准差的高斯白噪声的平面,使用Levenberg-Marquardt算法,采用不同的点匹配策略进行配准。

PPF与kNN的比较研究 

验证了图3中得出的结论:PPF收敛所需的迭代次数比kNN少,并且每次迭代所需的时间至少少一个数量级。使用带有高斯白噪声的平面进行实验,这些噪声在现实世界中可能来自LiDAR采样、带有噪声IMU测量的点云去畸变等。为了模拟机器人的自我运动,我们设定两个平面之间的距离,目标是通过配准这两个扫描,使得同一物体的不同扫描能够在地图中重叠,结果如图7所示。

3e54dfdec1e66d8fe162191b5b9bbb1c.png

图7. 模拟实验结果,(c) 左侧柱状图:kNN;右侧柱状图:PPF,所有实验在单一计算机上运行。

8b789a78d68a8d2e6d7cd31df582c532.png

图8 使用LIOSAM-3序列绘制麻省理工学院校园地图的结果

效率评估

我们通过分析每个步骤的运行时间来评估LIO系统的效率,为了研究PPF对LIO系统的效益,我们首先重新开发了LIO-SAM,并比较了使用kNN和PPF的效率。我们在表格I中列出了每个步骤的详细时间成本。

27d9bd4f7fd68b84cece70722be35ab4.png

a18301ec83c0748996bc3e000a4a3e90.png

准确性评估 

准确性通过绝对姿态误差(APE)和相对姿态误差(RPE)的均方根误差(RMSE)指标来衡量,在我们的实验中由evo计算,我们首先将我们的算法与LIO-SAM的准确性进行比较,如表II所示。

1d813e2c9f7daa426aee7247c98ef10f.png

表III中比较了4个系统在9个序列中的准确性。由于LIO-SAM需要9轴IMU,而这在UTBM数据集中不可用,因此没有显示结果。

39ec81201308216e51bc95419ad860c0.png

1c4946ca8a782bddece6cebe6f09a8d5.png

图9. 位于密歇根大学北校区的大规模场景的估计轨迹和重建地图,与谷歌地图对齐。

图10中比较了估计的轨迹可视化结果,也显示了使用PPF的轨迹在大多数序列中保持相同的准确性(有时甚至更加准确,例如KITTI-7序列)。

c8a4f2aa896de143af0e5ba3b71dfc08.png

图10. 估计轨迹和GT(Ground Truth)轨迹,从左上角到右下角依次是:NCLT-1,NCLT-2,LIOSAM-5,KITTI-7,LIOSAM-1和UTBM-5。

总结

本文研究了激光雷达-惯性里程计系统的计算,并揭示了大部分kNN搜索、平面拟合和大型局部地图的冗余性,为了实现更高效的激光雷达扫描跟踪,我们设计了一个平面预拟合流程来实现基本的骨架跟踪。展示了kNN对噪声和非严格平面的不稳健性,并引入了iPCA来处理这些问题。此外,利用惯性测量和激光雷达扫描帧的时序性,骨架平面可以逐步更新,进一步加快了PPF的速度。对于平面包含小角度的复杂场景,引入了一个简单而有效的夹层层来消除虚假的点到平面匹配,在5个开放数据集中的22个序列上进行的实验表明,相比之下,我们的骨架跟踪只消耗原始局部地图大小的最低36%,在残差计算方面提高了4倍,并在总体帧率上提高了1.92倍,同时保持了相同的精度水平,为了为SLAM社区做出贡献发布了完整C++实现。

资源

自动驾驶及定位相关分享

【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法

自动驾驶中基于光流的运动物体检测

基于语义分割的相机外参标定

综述:用于自动驾驶的全景鱼眼相机的理论模型和感知介绍

高速场景下自动驾驶车辆定位方法综述

Patchwork++:基于点云的快速、稳健的地面分割方法

PaGO-LOAM:基于地面优化的激光雷达里程计

多模态路沿检测与滤波方法

多个激光雷达同时校准、定位和建图的框架

动态的城市环境中杆状物的提取建图与长期定位

非重复型扫描激光雷达的运动畸变矫正

快速紧耦合的稀疏直接雷达-惯性-视觉里程计

基于相机和低分辨率激光雷达的三维车辆检测

用于三维点云语义分割的标注工具和城市数据集

ROS2入门之基本介绍

固态激光雷达和相机系统的自动标定

激光雷达+GPS+IMU+轮速计的传感器融合定位方案

基于稀疏语义视觉特征的道路场景的建图与定位

自动驾驶中基于激光雷达的车辆道路和人行道实时检测(代码开源)

用于三维点云语义分割的标注工具和城市数据集

更多文章可查看:点云学习历史文章大汇总

SLAM及AR相关分享

TOF相机原理介绍

TOF飞行时间深度相机介绍

结构化PLP-SLAM:单目、RGB-D和双目相机使用点线面的高效稀疏建图与定位方案

开源又优化的F-LOAM方案:基于优化的SC-F-LOAM

【开源方案共享】ORB-SLAM3开源啦!

【论文速读】AVP-SLAM:自动泊车系统中的语义SLAM

【点云论文速读】StructSLAM:结构化线特征SLAM

SLAM和AR综述

常用的3D深度相机

AR设备单目视觉惯导SLAM算法综述与评价

SLAM综述(4)激光与视觉融合SLAM

Kimera实时重建的语义SLAM系统

SLAM综述(3)-视觉与惯导,视觉与深度学习SLAM

易扩展的SLAM框架-OpenVSLAM

高翔:非结构化道路激光SLAM中的挑战

基于鱼眼相机的SLAM方法介绍

以上内容如有错误请留言评论,欢迎指正交流。如有侵权,请联系删除

98a6c25f33dc14ce798326c676c0904b.png

扫描二维码

                   关注我们

让我们一起分享一起学习吧!期待有想法,乐于分享的小伙伴加入知识星球注入爱分享的新鲜活力。分享的主题包含但不限于三维视觉,点云,高精地图,自动驾驶,以及机器人等相关的领域。

分享与合作方式:微信“cloudpoint9527”(备注:姓名+学校/公司+研究方向) 联系邮箱:dianyunpcl@163.com。

为分享的伙伴们点赞吧!

ed32f83193d2e363fb4adf2094efb264.gif

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

点云PCL公众号博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值