LeGO-LOAM算法详解

简介: LeGO-LOAM算法详解

LeGO-LOAM算法详解

整体框架

LeGO-LOAM算法的总体框架如下图所示:

图中新增加了绿框中的Segmentation环节,同时对后续的特征提取、Odometry以及Mapping部分均有一定的修改,主要包括:


增加Segmentation操作,把点云投影为距离图像,分离出地面点与非地面点(分割点,segmented point)。

平滑度计算公式不同,原始LOAM中为使用点集中的坐标相减,而LeGO-LOAM中为使用点集中的欧式距离作差。

特征点选取中原始LOAM为按照平滑度的值及已有特征点数量分为平面点/边缘点两类,而LeGO -LOAM中不仅考虑到平滑度的值还同时考虑到点的类型为“地面点/分割点”,分别进行提取不同的特征点集。

Lidar Odometry模块相邻帧之间特征点的对应关系也分别按照“地面点/分割点” 进行寻找,使得寻找匹配特征点的效率、精度更高。

Lidar Mapping模块中LeGO-LOAM提供了基于传感器视野范围与基于图优化获取的两种获取特征对应点方法。此外,还加入了iSAM2进行后端优化(闭环检测)。

综上,LeGO-LOAM的总体思路与LOAM基本相同,1)把原始点云投影为距离图像,并在进行特征提取之前区分为“地面点/分割点”。2)对具有相同类别的特征点进行匹配。3)加入iSAM2进行闭环检测。这三点是其主要创新。

1 Segmentation模块

文章中采用Velodyne VLP-16激光雷达采集的数据进行实验,首先把原始点云重投影为一个距离图像,分辨率为1800*16(因为VLP-16水平分辨率为0.2°,360/0.2 = 1800,同时垂直方向上位16线数据)。重投影之后,三维点云变为二维图像,以像素点到传感器之间的距离作为像素值。


以VLP-16竖直维度的特性来进行标记地面点和非地面点,其在垂直方向的扫描范围为[-15°, 15°],认为地面点出现在[-15°, -1°]之间的扫描线上,而被标记的地面点可以不用进行后续的分割。


随后,将距离图像分割为很多个聚类,同一个聚类的点被标记上唯一的标识。点数较少的聚类(少于30点)被作为噪声去除,这一步可以减少室外环境噪音点的干扰,如随风飘动的树叶,地面上的杂草等不稳定的特征,这样的处理就可以保留原始的地面点和相对较大的静态物体(树干,楼房等)来进行后续的特征提取工作了。如下图中 (a)为原始点云,(b)为进行分割处理后的点云。

2 Feature Extraction模块

这一模块在计算平滑度时与经典的LOAM相似,考虑到特征点在各个方向分布均匀,把距离图像水平均分为若干个子图像(360°划分为六等分)。随后对t时刻点云 P t中的每一个点 P i左右各选取5个点组合成点集 S,通过下式计算平滑度。

这里采用了距离图像中激光点到传感器之间的距离,与原始LOAM中直接使用两点坐标不同。

A

随后,从子图像中的地面点中选取image.png个平面点 F p,从分割点中选取image.png个边缘点 F e。

此外,从子图像中的地面点与分割点中选取 n F p 个平面点 F p, 从子图像中的非地面点中选取 n F e

个边缘点image.png,即存在以下关系,image.png以及image.png

如下图中所示,( c ) 中为有类别约束的平面点 F p及边缘点 F e ,(d) 中为子图像中所有的平面点 F p与边缘点 F e。

3 LiDAR Odometry

特征提取时,我们得到了四种特征点集image.png 。为了更好的寻找相邻两帧点云数据之间的对应特征点对,采用如下图所示的思路进行优化:

上图中的流程可以总结为:


对于平面点:在image.png中具有分割点标签的点云中寻找image.png的对应的关联点


对于边缘点:在image.png中具有分割点标签的点云中寻找image.png的对应的关联点


这可以使缩小对应点的候选范围,同时提高匹配的精度和效率。有了对应的特征点对之后,需要对其进行优化求解六个姿态变换参数,LeGO-LOAM使用两步LM优化方法进行处理。

首先,采用平面点Fp(t1)F p t 对应的约束,优化计算得到了{tz,troll, tpitch}随后,基image.pngimage.png对应的约束,以及之前优化得到的{tz,troll, tpitch},进行优化得到{ t x, t y, tyaw}。最终,两次优化结果融合,得到最终的变换参数image.png

4 LiDAR Mapping

作者在这里介绍了两种方法:1)基于传感器视域。 2)基于图优化。分别来把上一步输出的点云与局部位姿变换到全局地图中。


其中,第一种方法将全局点云地图分割为很多cube,然后根据传感器的有效探测距离(VLP-16为100m)选取一定数量的cube,组合成前 t − 1 时刻获取的点云地图 Q ( t − 1 ),然后对当前帧 Q t与其相交的部分进行匹配,与经典的LOAM算法基本相同。


第二种方法加入了位姿图和回环检测 (iSAM2),提高了建图效率与精度,但是目前还不太理解,这里就先不做详细的介绍了。

目录
相关文章
|
6月前
|
传感器 编解码 人工智能
GEE数据集——MOD13A1.006Terra星搭载的中分辨率成像光谱仪获取的L3级植被指数产品
GEE数据集——MOD13A1.006Terra星搭载的中分辨率成像光谱仪获取的L3级植被指数产品
105 2
|
存储 传感器 编解码
3D激光SLAM:LeGO-LOAM论文解读---完整篇
![在这里插入图片描述](https://img-blog.csdnimg.cn/348d0b4467a24296a22413207566c67e.png) 论文的标题是:**LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain** - 标题给出的应用场景是 **可变地形** - 重点是 **轻量级** 并 利用 **地面优化** - 本质依然是一个 **激光雷达里程计和建图**
3D激光SLAM:LeGO-LOAM论文解读---完整篇
|
存储 前端开发 数据可视化
3D激光SLAM:LeGO-LOAM---两步优化的帧间里程计及代码分析
**LeGO-LOAM**的全称是 Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain 其中LeGO就是轻量级和利用地面优化,轻量级的实现就是通过两步的优化方式,利用地面优化的部分也在两步优化的第一步中。 和原始LOAM一样,通过前后两帧点云来估计两帧之间的运动,从而累加得到前端里程计的输出,和上述方法使用线面约束同时优化六自由度帧间位姿不同,LeGO-LOAM的前端分成两个步骤,每个步骤估计三自由度的变量。 通过这种方式进行帧间里程计的运算,可以提供运算效率,使得可以在嵌入式平台
3D激光SLAM:LeGO-LOAM---两步优化的帧间里程计及代码分析
|
3月前
|
机器学习/深度学习 自然语言处理 计算机视觉
反转了?在一场新较量中,号称替代MLP的KAN只赢一局
【8月更文挑战第18天】近期研究重新评估了KAN(Kolmogorov-Arnold Networks)与MLP(Multi-Layer Perceptrons)在网络性能上的差异。通过对多种任务领域的全面比较,包括机器学习、视觉、音频及NLP等,研究显示MLP在多数场景下性能更佳,仅在符号公式表示上KAN略胜一筹,而这优势源于其B-spline激活函数。有趣的是,KAN在连续学习中表现出更严重的遗忘问题。尽管研究提供了有价值的观点,但也指出了其实验局限性,强调了模型选择时需综合考量的重要性。[论文链接](https://arxiv.org/pdf/2407.16674)
62 5
|
6月前
|
vr&ar 图形学 网络架构
看透物体的3D表示和生成模型:NUS团队提出X-Ray
【5月更文挑战第13天】NUS团队提出了X-Ray,一种新型3D表示方法,通过模拟X射线扫描细致捕捉物体内外特征,解决了现有方法对内部结构和纹理细节处理的局限。利用射线追踪技术,X-Ray将物体浓缩为多帧格式,提高表示效率和准确性。在3D物体合成任务中,X-Ray显示了优于传统方法的优势,尤其适用于高保真3D模型需求的领域,如虚拟现实和游戏。其效率提升也使实时3D生成更具潜力,但面对复杂场景和优化问题仍有挑战。[论文链接](https://arxiv.org/abs/2404.14329)
62 4
|
6月前
|
传感器 编解码 自动驾驶
即插即用 | Lite-FPN让CenterNet系列再涨4个点(3D检测也适用)
即插即用 | Lite-FPN让CenterNet系列再涨4个点(3D检测也适用)
224 0
|
6月前
|
机器学习/深度学习 固态存储 算法
目标检测的福音 | 如果特征融合还用FPN/PAFPN?YOLOX+GFPN融合直接起飞,再涨2个点
目标检测的福音 | 如果特征融合还用FPN/PAFPN?YOLOX+GFPN融合直接起飞,再涨2个点
299 0
|
6月前
|
机器学习/深度学习 Shell 计算机视觉
【论文精读】CVPR2021 - ReDet:一种用于航空目标检测的旋转等变检测器
【论文精读】CVPR2021 - ReDet:一种用于航空目标检测的旋转等变检测器
|
机器学习/深度学习 传感器 人工智能
Light-YOLOv5 | SepViT + BiFPN + SIoU成就更轻更快更优秀的 YOLOv5 改进算法
Light-YOLOv5 | SepViT + BiFPN + SIoU成就更轻更快更优秀的 YOLOv5 改进算法
261 0
|
数据挖掘 测试技术 计算机视觉
【论文速递】CVPR2022 - 用于密集物体检测的定位蒸馏
【论文速递】CVPR2022 - 用于密集物体检测的定位蒸馏
157 0
【论文速递】CVPR2022 - 用于密集物体检测的定位蒸馏