LIO-PPF:通过增量平面预拟合和跟踪的快速激光雷达惯导里程计

Posted Being_young

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LIO-PPF:通过增量平面预拟合和跟踪的快速激光雷达惯导里程计相关的知识,希望对你有一定的参考价值。

点云PCL免费知识星球,点云论文速读。

文章: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.git

来源:arXiv2023

欢迎各位加入知识星球,获取PDF论文,欢迎转发朋友圈。文章仅做学术分享,如有侵权联系删文。未经博主同意请勿擅自转载。

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

摘要

激光惯导里程计(LIDAR-Inertial Odometry,LIO)通过跟踪激光扫描数据提供位姿估计是智能机器人的基本能力,高精度跟踪通常涉及最小化点到平面距离的k最近邻(kNN)搜索,然而,这样做的成本是维护大型局部地图并为每个点执行kNN平面拟合。在本文中,我们通过节省这些不必要的成本来减少LIO的时间和空间复杂度,在技术上设计了一个平面预拟合(PPF)方法来跟踪3D场景的基本框架。在PPF中,平面不是为每个扫描单独拟合的,更不用说为每个点拟合了,而是随着场景“流动”而逐步更新,与kNN不同,PPF对噪声和非严格平面更具有鲁棒性,而且我们采用迭代主成分分析(iPCA)进行优化。此外,还引入了一个简单但有效的夹层,以消除假的点对平面匹配,我们的方法在5个开放数据集中的22个序列上进行了广泛的测试,并在3个现有的最新LIO系统中进行了评估,相比之下,LIO-PPF仅消耗原始局部地图大小的36%,以实现高达4倍的残差计算速度和1.92倍的FPS,同时保持相同的精度水平,并且完全开源了代码,网址为:https://github.com/xingyuuchen/LIO-PPF。

主要贡献

与在搜索每个点的kNN之后懒惰地拟合平面相比,本文采用了更主动的平面预拟合方法。这个想法源于两个不必要的因素:

1)不必要的kNN。当前的LiDAR扫描跟踪对每个单独的点搜索kNN以拟合平面,假设空间上接近的点来自同一个平面,然而,这个条件过于严格,即空间上相距较远的点也可以属于同一个平面,例如长墙。这给了我们一个提示:如果搜索发生在高级特征平面空间中,昂贵的kNN成本自然可以节省下来。

2)不必要的大局部地图,如果仅保留少数扫描数据在局部地图中,NN可能很远,因此很可能属于其他物体,导致kNN不准确地拟合匹配平面。因此,局部地图被扩大以保证足够接近的点到kNN的对应关系,见图1d。

图1 (a) 重建的场景。(b) 快速旋转下(a)的两个连续扫描。(c) 扫描中的大平面形成了场景的基本骨架,揭示了其整体几何结构。(d) kNN需要一个大的局部地图,否则大多数点无法找到邻居来拟合平面,而我们使用基本骨架来表示点云匹配的场景,搜索范围被扩大到平面级别,不需要kNN搜索。

总之,做出了以下贡献:

  •  我们提出使用场景的基本骨架来表示点云匹配,通过 LiDAR 扫描间的平面预拟合(PPF)来实现。证明了 

       (i) PPF 可以自然地缩小局部地图并消除大部分冗余的 kNN 搜索和平面拟合; 

      (ii) kNN 对于噪声和非严格平面的不具有鲁棒。 

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

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

主要内容

增量式 iPCA 平面预拟合 :该方法可以从三个方面描述:预拟合、迭代主成分分析和增量式处理。

 1)预拟合:每次扫描的点云大概形成了 3D 场景的基本骨架,并显示其全局几何特征,将它们称为骨架平面,它们是独立维护的,而不是由 kNN 拟合,首先从提取的表面特征点或原始去畸变点云中获取输入,然后采用迭代拟合-移除-拟合的方式来提取 Pi 中的所有骨架平面,对于单个平面拟合,使用经典的 RANSAC 和 NAPSAC 方法,NAPSAC 假设同一类别内的样本彼此之间更接近于类别外的点,因此,同一超球内的样本更有可能适配最佳候选模型,但是这又需要昂贵的 kNN 保证,因此,在大多数情况下,仅通过增加 RANSAC 迭代次数可以达到相同的准确度水平, 一旦拟合出一个骨架平面,所有点根据其到平面的距离被分为严格的内点、半内点和外点,所有半内点直接被丢弃,而外点则再次进入此过程,由于骨架跟踪对于大平面非常有效,因此当无法提取更多合格的平面或剩余点过少时,将终止循环。

图3. 当跟踪具有小局部曲率的非严格平面时,kNN降级的示意图,kNN策略最小化点到局部平面的距离,然而,由4个最近邻确定的局部空间无法反映整体几何形态,相比之下,iPCA方法迭代地提取所有全局平面点的主骨架,导致更快的收敛。

2.)迭代PCA优化: 将PCA应用于kNN唯一目的是确定是否有多于3个点适合拟合平面,对于PPF而言,这可能更有用。由于LiDAR采样噪声、IMU噪声、偏差以及其随机噪声,去畸变点云是存在噪声的。即使在严格的现实平面(例如墙壁)上,点与相应平面之间的非零偏差仍然存在。另一方面,一些平面表面虽然不是严格的平面,但也可能具有较低的局部曲率(例如不平坦的地面,小角度的弧线)。图3演示了这些情况下kNN退化的问题。kNN策略仅使用4~5个最近邻点,这意味着拟合的平面由一个小的局部空间决定,当遇到大噪声或不严格的平面时,局部空间无法表征整体形态,从而误导了配准的优化目标,相反,预拟合方式可以利用所有平面点的空间信息来生成其全局骨架平面,特别地,基于当前拟合的平面,对其所有严格内点的协方差矩阵进行特征分解,与最小特征值相关联的特征向量对应于精化的平面,可以理解为所有严格支持旧平面的点的新投票,新的内点相应地计算,并重复该过程3次。我们得出结论,这种迭代优化带来了PPF比kNN更快的收敛(参见图3)。

3.)增量拟合:相邻 LiDAR 扫描的几何结构变化不大,通常是相似的,受此属性启发,骨架平面可以进行增量更新,以节省不必要的 RANSAC 迭代,我们首先通过迭代来积分两个相邻 LiDAR 扫描之间的 IMU 测量:

有兴趣的小伙伴请参考原文。

实验

如图7所示。首先在(a)中绘制了两个平面之间距离随迭代次数变化的曲线,对于PPF策略,无论高斯噪声的标准差为多少,仅经过第一次迭代就几乎完成了配准。而对于kNN策略,随着噪声的增加,前几次迭代的配准表现不佳。这是因为随着噪声标准差的增加,4-5个最近邻变得不稳定,因此拟合的平面逐渐偏离中心平面,从而误导优化目标。在(b)中显示噪声标准差与收敛所需迭代次数之间的关系,通常情况下,PPF对噪声更加鲁棒,所需迭代次数增加得更慢。我们进一步比较了两种方法的配准效果,如(c)所示。可以看出,PPF方法的配准误差始终低于kNN方法,并且当噪声水平较高时,PPF的效果更为显著。

图7. 模拟实验结果。(c) 左柱状图:kNN;右柱状图:PPF。所有实验都在单线程中运行。

图8. 使用LIOSAM-3序列进行的麻省理工学院校园的建图结果。

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

本文中所使用的算法的准确性通过绝对位姿误差(APE)和相对位姿误差(RPE)的均方根误差(RMSE)进行度量,在实验中,我们使用 evo 计算了这些误差。将我们的算法与 LIO-SAM 进行比较,结果如表 II 所示。

图9. 在与Google Earth对齐的密歇根大学北校区大规模场景的估计轨迹和重建地图。

还展示了将PPF集成到其他最先进的LIO系统中的准确性结果,例如FasterLIO。在表III中,比较了4个系统在9个序列中的准确性。

估计轨迹的可视化结果在图10中进行了比较,也显示出使用PPF的结果在大多数序列中保持相同的准确性水平(有时甚至更具视觉准确性)。

总结

研究了激光雷达-惯导测量单元组合导航系统的计算,揭示了大多数kNN搜索、平面拟合的冗余性以及大型局部地图的维护非必要性,为了实现更高效的激光雷达扫描点云的跟踪,我们设计了一个平面预拟合方案以实现基本骨架跟踪,展示了kNN对嘈杂和非严格平面的不鲁棒性,并介绍了iPCA到PPF以处理这个问题。此外,通过利用IMU测量和激光雷达扫描的顺序特性,可以增量地更新骨架平面,以进一步加速PPF,对于具有小夹角平面的复杂场景,引入了一个简单而有效的夹心层来消除虚假的点到平面匹配,在5个开放数据集的22个序列上的实验证明,相比之下,我们的骨架跟踪仅消耗原始本地地图大小的最小值,残差计算速度快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方法介绍

更多详细内容后台发送“知识星球”扫码加入知识星球查看原文。

智驾全栈与3D视觉学习星球:主要针对智能驾驶全栈相关技术,3D/2D视觉技术学习分享的知识星球,将持续进行干货技术分享,知识点总结,代码解惑,最新paper分享,解疑答惑等等。星球邀请各个领域有持续分享能力的大佬加入我们,对入门者进行技术指导,对提问者知无不答。同时,星球将联合各知名企业发布自动驾驶,机器视觉等相关招聘信息和内推机会,创造一个在学习和就业上能够相互分享,互帮互助的技术人才聚集群。

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

扫描二维码

                   关注我们

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

分享及合作方式:微信“920177957”(需要按要求备注) 联系邮箱:dianyunpcl@163.com,欢迎企业来联系公众号展开合作。

点一下“在看”你会更好看耶

以上是关于LIO-PPF:通过增量平面预拟合和跟踪的快速激光雷达惯导里程计的主要内容,如果未能解决你的问题,请参考以下文章

scikit-learn 中的 minibatch kmeans 是不是通过使用部分拟合进行增量学习?

工业控制OmniCal软件安装和使用详解

HD6-20W高精度激光焊缝跟踪传感器 可检测0.1mm细缝,水平误差<0.04mm,高度误差<0.018mm,适合精密焊接

PCL最小二乘法进行平面拟合原理

3d激光雷达开发(平面映射)

工业控制激光跟踪仪概述