作者丨半闲居士@知乎

来源丨https://zhuanlan.zhihu.com/p/468628910

编辑丨点云PCL

文章:Faster-LIO: Lightweight Tightly Coupled Lidar-inertial Odometry using Parallel Sparse Incremental Voxels

作者:Chunge Bai1,2, Tao Xiao2, Yajie Chen2, Haoqian Wang1 , Fang Zhang2and Xiang Gao

代码:https://github.com/gaoxiang12/faster-lio.git

摘要

本文提出了一种基于增量体素的激光雷达惯导里程计(LIO)方法,用于快速跟踪旋转和固态激光雷达扫描点云,为了获得较高的跟踪速度,我们既不使用复杂的基于树的结构来划分空间点云,也不使用严格的k近邻(k-NN)查询来计算点匹配。相反,我们使用增量体素(iVox)作为我们的点云空间数据结构,它是从传统体素修改而来的,支持增量插入和并行近似k-NN查询,我们在算法中提出了线性iVox和PHC(伪希尔伯特曲线)iVox作为两种可选的底层结构,实验表明,在固态激光雷达中,iVox的每次扫描速度达到1000-2000HZ,而在32线旋转激光雷达中,iVox的速度超过200赫兹(仅使用现代CPU),同时仍保持相同的精度水平!

总体介绍

大体来讲,LIO系统的整个计算流程是比较固定的:它们从IMU中得到一个粗略的估计,然后把雷达的数据与一些历史数据做配准,最后用某种状态估计算法进行滤波或者优化。IMU部分的处理差别不大,所以LIO系统的计算效率主要与点云算法和后端算法相关,我们大致分三个方面:

点云最近邻的数据结构。点云配准的基本问题是计算给定点与历史点云的最近邻,通常需要依赖一些最近邻的数据结构。这些数据结构又大体分为树类的(tree like)和体素类(voxel like)的。广义的,高维的最近邻问题是一个比较复杂的问题,但LIO里的最近邻则是低维的、增量式的问题。于是,像R*树、B* 树等静态的数据结构并不是非常适合LIO。FastLIO2里提出使用增量式的kdtree来处理最近邻,我们则认为增量的体素更适合LIO系统。

点云残差的计算方式。自动驾驶里普遍偏向不直接使用点到点的残差,而是使用点到线或点到面的残差。点到点的残差形式虽然简单,但雷达点云和RGBD点云相比,更加稀疏,在车辆运动过程中不见得都能打到同一个点,而且点云也往往会被降采样后再进行处理,所以并不太适合在自动驾驶中使用。LOAM系列会计算点云特征,实际当中特征提取要花的时间是不可忽略的,甚至是主要计算部分。

状态估计算法的选型。LIO和VIO中普遍会使用介于单帧EKF和批量优化之间的方案,例如IEKF、MSCKF、Sliding Window Filter等等。这其中又以IEKF算是最简单有效的一类,既有迭代来保证精度,又不需要像预积分系统那样算一堆雅可比矩阵。

实验

仿真实验是在一个随机生成的点云里进行K近邻查找以及新增地图点的实验。我们对比了Kdtree flann, ikd-tree, nanoflann R-tree, faiss-IVF, nmslib几个库。耗时与地图点数的关系图如下:

插入、K近邻查询时间与点数的关系

各算法的召回率与时间曲线如下:

数据集实验

数据集实验主要比较整个LIO系统的耗时和计算精度。由于Faster-LIO框架与FastLIO2基本相同,我们时间上对标的也主要是FastLIO2,其他系统主要是用来做个参考。32线雷达的详细步骤算法耗时如下图所示:

在精度方面,考虑到LIO默认不带回环检测,所以我们主要评价每百米的漂移误差指标(百分比形式),见下表

与LeGO-LOAM对比

总结

本文提出了一种更快速的LIO方法,使用iVox作为最近邻方案,在同等精度指标下可以明显提升LIO计算速度。

内容摘自半闲居士的知乎文章,点击“原文阅读”可查看知乎原文:https://zhuanlan.zhihu.com/p/468628910

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

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从入门到精通:理论与实战

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

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

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

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

▲长按加微信群或投稿

▲长按关注公众号

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

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

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

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

最新开源Faster-LIO:快速激光IMU里程计相关推荐

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

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

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

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

  3. Point-LIO:鲁棒高带宽激光惯性里程计

    点击进入->3D视觉工坊学习交流群 标题:Point-LIO: Robust High-Bandwidth LiDAR-Inertial Odometry 作者:He et al., HKU M ...

  4. imu 里程计融合_地图影像与IMU及里程计集成的探测车定位

    1.序列影像与IMU及里程计集成定位 行星表面巡视探测中,探测车依靠IMU和里程计组合的航迹推算能够获取连续稳定的定位结果,然后行驶过程中的车轮打滑以及IMU长时间工作带来的偏移严重影响了定位精度.基 ...

  5. imu 里程计融合_轮式里程计(Wheel Odometry)以及惯性导航(IMU)数据

    对于众多机器人应用来说,自定位以及基于航位推测(Dead-reckoning, DR)估计的里程计信息是非常重要的.一般来说,要设计一个有效的里程计系统是十分困难的. 一.惯性导航单元(Inertia ...

  6. 激光SLAM里程计标定 —— 直接线性方法

    // 构建超定方程组 // 此时A和b是已经分配好大小,A的维度为3n*9,b的维度为3n*1A.middleRows(now_len*3,3)<< Odom(0),Odom(1),Odo ...

  7. 一:Tixiao Shan最新力作LVI-SAM(Lio-SAM+Vins-Mono),基于视觉-激光-惯导里程计的SLAM框架,环境搭建和跑通过程

    一:前言介绍 LVI-SAM是Tixiao Shan的最新力作,Tixiao Shan是Lego-loam(基于激光雷达里程计的SLAM框架)和Lio-sam(基于惯性-雷达紧耦合的SLAM框架)的作 ...

  8. 激光IMU融合——LIO-Mapping / LIOM / LINS / LIO-SAM算法解析

    激光IMU融合--LIO-Mapping / LIOM / LINS / LIO-SAM算法解析 激光IMU融合--LIO-Mapping / LIOM / LINS / LIO-SAM算法解析 1. ...

  9. LIRO:紧耦合激光-惯性-测距里程计

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 LIRO: Tightly Coupled Lidar-Inertia-Ranging Odometr ...

最新文章

  1. windows7升级安装之初体验
  2. 【更新链接】U盘启动制作工具(UDTOOL) v3.0.2014.0427
  3. 【Qt】Visual Studio编译Qt项目报Qt Version错误
  4. 树莓派安装Ubuntu MATE及ROS系统
  5. HDU1856More is better(并查集)
  6. 如何检查手机上的 App 是不是正版?
  7. 【转载】ESFramework介绍之(20)―― 插件自动升级
  8. 5000并发的qps是多少_高并发和高性能系统中进程、线程、协程、队列(如何调度的)...
  9. 利用arcgis基本比例尺标准分幅编号流程
  10. 万能地图下载器下载谷歌卫星地图在ArcGIS中套合
  11. Error: invalid operands (*UND* and *UND* sections) for `*‘
  12. html 设计尺寸,多少像素才合适 网页设计标准尺寸大讲解
  13. 龙族路明非和零h_第一章 海芒
  14. 制作Linux内存镜像+制作对应的volatility profile
  15. 经验分布函数无偏性的证明和方差的推导
  16. 怎么恢复计算机误删的用户组,如何恢复误删的用户组
  17. KaTex各种语法汇总
  18. 魅族Android10内测招募答案,魅族flyme9内测招募答案
  19. Python 利用数据分布直方图来确定合适的阈值
  20. 360linux面试题,奇虎360运维工程师面试题

热门文章

  1. instanceOf,isInstance,Class,isAssignableFrom区别比较
  2. 一行代码实现Okhttp,Retrofit,Glide下载上传进度监听
  3. 多线程中的使用共享变量的问题
  4. 解决dell poweredge 2850 服务器系统内存限制
  5. libsndfile动态库在VS2010下面的调用
  6. DataRow判断列名是否存在
  7. NetBeans 时事通讯(刊号 # 106 - Jun 17, 2010)
  8. 一行代码,揭开CPU执行原理!
  9. 这本书,让我秒懂了微服务架构
  10. 对于注册中心,ZooKeeper、Eureka 哪个更合适?