点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

作者丨paopaoslam

来源丨 泡泡机器人SLAM

标题:F-LOAM : Fast LiDAR Odometry and Mapping

作者:Han Wang, Chen Wang, Chun-Lin Chen, Lihua Xie

来源:IROS 2021

编译:李相江

审核:   刘国庆

摘要

大家好,今天为大家带来的文章是F-LOAM : Fast LiDAR Odometry and Mapping。

SLAM在自动驾驶和无人机等机器人领域有着广泛的应用,对于一个好的SLAM系统而言,计算效率和定位精度至关重要。现有的基于激光雷达的SLAM研究工作通常将SLAM问题归纳为两种模式:scan-to-scan和scan-to-map,这两种模式都采用计算量极大的迭代方式计算。在本文中提出了一个通用的解决方案,旨在为基于激光雷达的SLAM提供一个高计算效率和高精度的系统框架。本文采用非迭代的两级失真补偿方法来降低计算成本。对于每个扫描输入,提取到的线特征和平面特征分别与局部线地图和局部平面地图进行匹配,同时使用迭代位姿优化进行局部平滑度处理。为了评估算法在高挑战性场景下的性能,进行了全面的实验,包括AGV的定位和自动驾驶公共数据集。在公共数据集评估中,该算法具有较好的定位精度,处理速度超过10 Hz,为实际应用提供了性能和计算成本之间的良好权衡。它是KITTI数据集排名中最准确、最快的开源SLAM系统之一。

主要工作与贡献

本文工作的主要贡献如下:

1、提出了一种计算资源需求较低的SLAM系统。

2、使用非迭代的两级失真补偿方法来降低计算成本,提高系统运行实时性。

3、开源了代码:https://github.com/wh200720041/floam。

算法流程

本文算法主要包括传感器模型与特征提取、运动估计与失真补偿、姿态估计、建图与失真补偿四部分。

1.传感器模型与特征提取

机械式3D激光雷达通过旋转线数为 M 的垂直激光束来感知周围环境。我们将第 k 个雷达扫描帧表示为 Pk,帧中的每个点表示为 pk(m,n),其中 m ∈ [1, M] 和 n ∈ [1, N]。激光雷达扫描包含数万个点,这使得 ICP 计算效率低下,而特征点匹配在实践中更加鲁棒和高效。

3D 机械激光雷达返回的点云在垂直方向上是稀疏的,在水平方向上是密集的。因此,水平特征更加鲜明,在水平面上出现错误特征检测的可能性较小。

对于每帧点云,使用下式进行平滑度计算

式中,Sk(m,n)是pk(m,n)在水平方向上的最近点,|Sk(m,n)|是点云的数量,Sk(m,n)可以根据点云的ID数量进行统计,与局部搜索相比提高计算效率。选择σ较大的作为边缘点Ek,选择σ较小的作为平面点Sk

2.运动估计与失真补偿

在 LOAM和 LeGO-LOAM中,失真是通过scan-to-scan匹配来校正的,但是迭代的计算效率低。在本文中,使用两级失真补偿来降低计算成本。大多数 3D LiDAR 能够以超过 10 Hz 的频率运行,并且两次连续 LiDAR 扫描之间经过的时间通常非常短,因此可以首先假设在短时间内恒定的角速度和线速度来预测运动并纠正失真。在第二阶段,在位姿估计过程之后将重新计算失真,重新计算的特征将更新为最终地图。在实验中,发现两级失真补偿可以达到相似的定位精度,但计算成本要低得多。

将机器人在第 k 次扫描时的姿态表示为 4x4 齐次变换矩阵 Tk,两个连续帧 k-1 和 k 之间的 6-DoF 变换可以通过以下方式估计:

其中ξ ∈ SE(3),短间隔的位姿可以使用下式的线性插值进行估计:

3.姿态估计

姿态估计将当前未失真的边缘特征Ek 和平面特征Sk 与全局特征图对齐。全局特征图由边缘特征图和平面特征图组成。为了降低搜索计算成本,边缘特征图和平面特征图都存储在 3D KD树中,通过从边缘和平面特征图中收集附近的点来估计全局线和平面。对于每个边缘特征点 PE ∈ Ek,我们从全局边缘特征图中计算其附近点的协方差矩阵。当点分布在一条线上时,协方差矩阵包含一个更大的特征值。与最大特征值相关的特征向量被认为是线的方向,向量的位置被认为是附近点的几何中心。类似地,对于每个平面特征点 PS ∈ Sk,我们可以得到一个全局平面。

边缘特征点与全图特征图中的边缘特征图的距离如下式

其中Pn等于

边缘特征点与全图特征图中的边缘特征图的距离如下式

4.建图与失真补偿

全局地图由全局边缘图和全局平面图组成,并根据关键帧进行更新。当平移变化大于预设的平移阈值或旋转变化大于旋转阈值时,选择关键帧。与逐帧更新相比,基于关键帧的地图更新可以降低计算成本。为了降低计算成本,失真补偿是基于恒速模型而不是迭代运动估计来执行的,所以不如 LOAM 中的迭代失真补偿准确。因此,在第二阶段,根据上一步的优化结果 T∗k 重新计算失真:

实验结果

图1 在KITTI数据集05序列进行的测试

(a) 建图结果 (b)整合摄像机画面的3D地图

(c) F-LOAM轨迹与真值比较

图2 F-LOAM与KITTI数据集不同序列的结果

绿色为F-LOAM结果,红色为KITTI数据集地面真值

(a)-(e) 序列 00-04 (f)-(j):序列 06-10。

图3 KITTI 数据集上不同定位方法的计算时间

实验对比了IMLS-SLAM,F-LOAM,A-LOAM,LOAM,LEGO-LOAM,VINS-MONO,HDL-SLAM七种算法,评估指标为平均位移误差(ATE)、平均旋转误差(ARE)和平均计算时间。通过对比实验结果,本文算法具有较高的稳定性和精准性,在室内测试中实现了 2 厘米的平均定位精度,是 KITTI 数据集中最准确和最快的开源方法之一。

点击阅读原文, 即可获取本文下载链接。

本文仅做学术分享,如有侵权,请联系删文。

干货下载与学习

后台回复:巴塞罗自治大学课件,即可下载国外大学沉淀数年3D Vison精品课件

后台回复:计算机视觉书籍,即可下载3D视觉领域经典书籍pdf

后台回复:3D视觉课程,即可学习3D视觉领域精品课程

3D视觉精品课程推荐:

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

11.自动驾驶中的深度学习模型部署实战

12.相机模型与标定(单目+双目+鱼眼)

13.重磅!四旋翼飞行器:算法与实战

14.ROS2从入门到精通:理论与实战

15.国内首个3D缺陷检测教程:理论、源码与实战

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列三维点云系列结构光系列手眼标定相机标定、激光/视觉SLAM、自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近5000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

圈里有高质量教程资料、答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

IROS 2021 | F-LOAM:快速激光雷达里程计建图算法相关推荐

  1. 用于自动驾驶的激光雷达里程计方法综述

    文章:LiDAR Odometry Methodologies for Autonomous Driving: A Survey 作者:Nikhil Jonnavithula1 , Yecheng L ...

  2. 直接激光雷达里程计:基于稠密点云的快速定位

    点云PCL免费知识星球,点云论文速读. 文章:Direct LiDAR Odometry:Fast Localization with Dense Point Clouds 作者:Kenny Chen ...

  3. 自动驾驶中高效的激光雷达里程计

    标题:Efficient LiDAR Odometry for Autonomous Driving 作者:Xin Zheng, Jianke Zhu, Senior Member, IEEE 排版: ...

  4. 毕业论文设计:第二部分—激光雷达里程计研究

    激光雷达里程计 1. LOAM 1.1 符号定义 1.2 系统结构 1.3 激光里程计 1.3.1 特征提取 1.3.2 寻找特征点对应关系 1.3.3 运动估计 1.3.4 激光里程计算法 1.4 ...

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

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

  6. ros移动机器人,激光雷达里程计rf2o_laser_odometry的使用与分析

    目录 1.问题分析 2.激光雷达里程计 2.1 代码下载 2.2 使用方法 (1) ERRO:"base_link" passed to lookupTransform argum ...

  7. 2D激光SLAM-基于PL-ICP的激光雷达里程计

    原文链接:从零开始搭二维激光SLAM - 基于PL-ICP的激光雷达里程计 如何跑通自己的雷达数据?需要调整哪些参数? 1.录制自己的数据包 #终端1 roscore #终端2 rosbag paly ...

  8. 3、速腾16线激光雷达RS-16 ----- 3D建图算法LeGO-LOAM的使用(Ubuntu18.04 + ROS Melodic)

    Ubuntu18.04使用速腾16线激光雷达RS-16测试3D建图算法 LeGO-LOAM 的使用 1. 安装gtsam因子图库 2. 新建ROS工程目录文件夹,下载源码进行编译 3. 下载相关数据集 ...

  9. ICRA 2021 | π-LSAM:基于平面优化的激光雷达平滑与建图算法

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨泡泡机器人 来源丨 泡泡机器人SLAM 标题:π-LSAM: LiDAR Smoothing a ...

最新文章

  1. 今晚直播 | 一次性掌握机器学习基础知识脉络
  2. 手机将被小型机器人取代?工程院院士:人工智能技术突破是关键
  3. 页面中的多选框的非空判断
  4. 2017 [六省联考] T5 分手是祝愿
  5. SpringBoot 2.6.0发布:禁止循环依赖,还有哪些实用的更新?
  6. 如何高效学习Java?本文给你一些建议!
  7. 三本新书(包含新系列)隆重上市
  8. 大话ion系列(五)
  9. This file can not be opened as a file descriptor; it is probably compressed
  10. 【数据结构】——排序算法系列总结
  11. 黑客攻防技术宝典Web实战篇第2版—第1章Web应用程序安全与风险
  12. mybatis入门基础(四)----输入映射和输出映射
  13. 无源波分和彩光模块_【光电通信】无源波分在 5G 场景中 的应用分析
  14. EFM (Explicit Factor Models)显因子模型
  15. 讨论:寺庙和尚义工不宜说感谢,可以祝福
  16. 关于在控制面板上软件卸载失败的问题
  17. Dev-cpp 配置新编译器
  18. 软路由自建iptv服务器,LEDE软路由 iPTV 实现任意端口看电视的方法
  19. 阿里云数据库与传统数据库有何区别?
  20. 2014ACM/ICPC亚洲区域赛牡丹江现场赛总结

热门文章

  1. 带你一步一步实现验证码登录和自动登录
  2. SpringBoot随手笔记
  3. 史上最通俗易懂的CPU知识!一分钟秒懂主频、核心、线程、架构!
  4. 『NLP学习笔记』TextCNN文本分类原理及Pytorch实现
  5. 工程造价步骤_工程结算六大步骤及体会
  6. linux设置防火墙,自启动以及关闭禁止防火墙
  7. VC2010 Working Directory
  8. 火箭工作室c++小游戏——打飞机
  9. 多客技巧分享|Tik Tok,不会选品,没有数据分析,你将失去竞争力
  10. Android Studio Gradle构建报错,Error:Execution failed for task ':app:mergeDebugResources'.