资讯详情

SLAM相关学习资料:综述/激光/视觉/数据集/常用库

点击上方“3D视觉车间,选择星标

第一时间送达干货

5e9b9f1914ef89e07ca20eaf0655279b.png

作者菠萝包包@知乎

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

编辑丨3D视觉工坊

1.1.[2020]A Survey of Simultaneous Localization and Mapping with an Envision in 6G Wireless Networks

https://zhuanlan.zhihu.com/p/368946786

比较新,激光及视觉均有涉及,介绍了SLAM相关传感器和一些著名的开源项目。

1.2.[2017]Simultaneous Localization And Mapping: A Survey of Current Trends in Autonomous Driving

https://zhuanlan.zhihu.com/p/26075315

通过分析KITTI顶级算法介绍了顶级算法SLAM自动驾驶方法的局限性,然后讨论如何减少这些局限性。

除了列出的部分,还有很多优秀的开源项目,会在提到的论文中引用,感兴趣的话可以一起理解。

https://www.ri.cmu.edu/pub_files/2014/7/Ji_LidarMapping_RSS2014_v8.pdf

https://zhuanlan.zhihu.com/p/259662645

经典开源项目,KITTI常年霸榜。基于其框架的二次开发作品很多,相关资料也很多。

YouTube - LOAM: Lidar Odometry and Mapping in Real-time

(https://www.youtube.com/watch?v=8ezyhTAEyHs)

:一旦开源,后来取消,源代码比较复杂,有HKUST实现简化版

中文注释源码:https://github.com/cuitaixiang/LOAM_NOTED

简化实现版:https://link.zhihu.com/?target=https://github.com/HKUST-Aerial-Robotics/A-LOAM

https://ieeexplore.ieee.org/document/8594299

https://zhuanlan.zhihu.com/p/115986186

LOAM衍生作品,改变了特征点的提取形式,增加了后端优化,相关资料也很多,github内有论文。

YouTube - LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain(https://www.youtube.com/watch?v=O3tz_ftHV48)

https://github.com/RobustFieldAutonomyLab/LeGO-LOAM

https://arxiv.org/abs/2007.00258

翻译版本:https://zhuanlan.zhihu.com/p/381739765

LeGO-LOAM作者的后续作品在LeGO-LOAM添加到基础上IMU传感器简化了特征提取。代码相对简单,但实现与论文表达不同,框架不完善。

视频演示:YouTube - LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping(https://www.youtube.com/watch?v=A0H8CoORZJU)

代码:https://github.com/TixiaoShan/LIO-SAM

https://arxiv.org/abs/2104.10831

:知乎 - LVI-SAM:激光视觉习惯于紧密耦合SLAM系统(Tixiao Shan新作,已开源)(https://zhuanlan.zhihu.com/p/370948341)

LeGO-LOAM和LIO-SAM作者的后续作品在LIO—SAM视觉融合在基础上SLAM(VINS-Mono),也许作者对水论文上瘾了,每年加一点发一篇。框架有一些问题,鲁棒性可能不如LIO-SAM和LeGO-LOAM。

:YouTube - LVI sam in Hongkong Urban scenario(https://www.youtube.com/watch?v=d5fg4JVvwyM)

:https://github.com/TixiaoShan/LVI-SAM

https://arxiv.org/abs/2010.08196

非LOAM衍生作,HKU-mars轻量化激光雷达 IMU集成里程计框架加速了对卡尔曼增益的解决。该系统是基于Livox开发了固态激光雷达,但也提供了普通机械激光雷达的适应性。

:YouTube - FAST-LIO: A Fast, Robust LiDAR-inertial Odometry Package by Tightly-Coupled Iterated Kalman Filter(https://www.youtube.com/watch?v=iYCY6T79oNU)

:https://github.com/hku-mars/FAST_LIO

:知乎 - SLAM经典文献:R2LIVE(激光-IMU-相机紧耦合)(https://zhuanlan.zhihu.com/p/363383641)

FAST-LIO后续作品,新加入了视觉,框架比LVI-SAM合理,但LIO和VIO部分融合度有限。视频演示来看鲁棒性和精度都很好,可以应付激光/视觉单一子系统失效的情景。

:BiliBili - R2LIVE:稳健,实时,LiDar、惯性、相机的多传感器SLAM框架(代码开源)(https://www.bilibili.com/video/BV1xp4y187uz)

:https://link.zhihu.com/?target=https%3A//github.com/hku-mars/r2live

:知乎 - 开源 | 港大MARS实验室 R3LIVE (R2LIVE升级) 鲁棒实时RGB雷达视觉惯导紧耦合状态估计(https://zhuanlan.zhihu.com/p/409447180)

R2LIVE后续作品(真够高产,一年内迭代三次),加入了RGB信息,框架有较大改动,LIO和VIO部分融合为一个global map了。视频演示来看效果非常好,github已经创建了仓库,但代码还没放出来。

:BiliBili - R3LIVE A Robust, Real-time, RGB-colored, LiDAR-Inertial-Visual state estimator(https://www.bilibili.com/video/BV1d341117d6)

:github - r3live

:https://zhuanlan.zhihu.com/p/122373061

基于语义分割的激光雷达SLAM,语义分割由RangeNet++完成。利用语义信息进行了动态物体剔除和ICP匹配,效果很好。

:YouTube - IROS'19: SuMa++: Efficient LiDAR-based Semantic SLAM by Chen et al.(https://www.youtube.com/watch?v=uo3ZuLuFAzk)

:https://github.com/PRBonn/semantic_suma

除列出的部分之外也有许多优秀的开源项目,提及的论文中会有引述,感兴趣也可以一并了解。

:知乎 - ORB-SLAM1 论文翻译(https://zhuanlan.zhihu.com/p/424201739)、博客园 - ORB-SLAM2 论文全文翻译(https://www.cnblogs.com/MingruiYu/p/12991119.html)、知乎 - 一文详解ORB-SLAM3(https://zhuanlan.zhihu.com/p/206952146)

经典的稀疏特征点法视觉SLAM,建议搭配高博的《十四讲》食用,《十四讲》基本是按照ORB-SLAM的框架进行讲解的,相关资料也非常多。框架清晰合理,但做了比较多的工程性工作,导致代码比较复杂,鲁棒性和精度都非常好。ORB-SLAM2增加了对双目和RGB-D相机的支持,ORB-SLAM3中融合了IMU,并且新增了SubMap,利用回环检测的机制进行多地图的拼接。

视频演示:YouTube - ORB-SLAM3: a Visual, Visual-Inertial and Multi-Map SLAM with monocular, stereo and RGB-D cameras(https://www.youtube.com/watch?v=UVb3AFgabu8)

代码:

https://github.com/raulmur/ORB_SLAM

https://github.com/raulmur/ORB_SLAM2

https://github.com/UZ-SLAMLab/ORB_SLAM3

翻译版本:CSDN - [论文学习]Online Temporal Calibration for Monocular Visual-Inertial Systems(https://blog.csdn.net/unlimitedai/article/details/97612397)

知乎 - 【论文阅读】VINS-Mono:A Robust and Versatile Monocular Visual-Inertial State Estimator(https://zhuanlan.zhihu.com/p/386659861)

HKUST出品,非常著名的稀疏特征点法视觉惯性里程计。VINS-Mono是一个单目+IMU的视觉-惯性里程计系统,VINS-Fusion在其基础上扩展了双目相机和GPS的支持。代码较ORB-SLAM简单很多,很多在其基础上的二次开发,包括一些激光-视觉融合SLAM也选择了VINS作为视觉里程计部分的实现,相关资料丰富。

视频演示:YouTube - [Open Source] VINS-Mono: Monocular Visual-Inertial System Indoor and Outdoor Performance、

代码:

https://github.com/HKUST-Aerial-Robotics/VINS-Mono

https://github.com/HKUST-Aerial-Robotics/VINS-Fusion

翻译版本:知乎 - SLAM经典文献之:GVINS: Tightly Coupled GNSS-Visual-Inertial Fusion(GNSS-视觉-惯性紧组合)(https://zhuanlan.zhihu.com/p/380792573)

依旧是HKUST出品(此时VINS-Mono作者秦通应该是毕业离开了),VINS系列续作。真正意义上紧耦合了GNSS定位,不使用解算后的经纬度定位,而是使用原始卫星测量报文,将GNSS误差也加入了状态估计之中。根据论文表述精度和应对GNSS失效情况的鲁棒性都很好。

视频演示:YouTube - GVINS: tightly coupled GNSS-visual-inertial fusion for smooth and consistent state estimation

代码:https://github.com/HKUST-Aerial-Robotics/GVINS

翻译版本:https://zhuanlan.zhihu.com/p/81338529

半直接法(Semi-Direct)视觉里程计,速度快,pro在其基础上扩展了多种相机模型的支持,添加了回环检测功能形成了完整的SLAM系统。开源比较晚,pro17年发表21年才开源并且github上的issue没人回复。

视频演示:YouTube - SVO: Fast Semi-Direct Monocular Visual Odometry

代码:

https://github.com/uzh-rpg/rpg_svo

https://github.com/uzh-rpg/rpg_svo_pro_open

翻译版本:https://zhuanlan.zhihu.com/p/29177540

 全直接法(Full-Direct)视觉里程计,依赖最小化光度误差,而不是重投影误差进行位姿优化,与ORB-SLAM等特征点法框架有很大不同,比较独树一帜,优点是速度快。

视频演示:YouTube - DSO: Direct Sparse Odometry

代码:https://github.com/JakobEngel/dso

3.6. DROID-SLAM

翻译版本:https://zhuanlan.zhihu.com/p/434471738

使用神经网络,直接端到端的实现了视觉SLAM。使用单目视频训练,但支持双目/RGBD作为输入,论文中表述其精度已经达到了SOTA,但在未知场景数据集(KITTI,不再其训练集范围内)下测试尺度漂移严重,效果不理想。

代码:https://github.com/princeton-vl/droid-slam

4.1. KITTI & KITTI360

地址:KITTI Vision Benchmark Suite、KITTI-360

传感器:Lidar、双目相机、IMU、GNSS等

著名室外车载场景下的开源数据集,由于有Benchmark,很多论文都会使用此数据集以和其他方法进行对比评价。传感器间均经过了标定。提供包括光流、深度、位姿、语义分割、目标检测等多种ground truth,也提供原始数据,有写好的数据读取/转存ROSbag工具。KITTI-360提供了全景图像,并和点云数据进行了融合。

4.2. nuScenes

地址:NUSCENES(https://www.nuscenes.org/)

传感器:6x相机、Lidar、5xRadar、IMU

户外车载场景数据集,所有传感器的内外参均进行了标定,提供目标检测和语义分割的ground truth,提供了开发工具和说明文档且官网有较详细的教程。

4.3. Mulran

地址:Mulan(https://sites.google.com/view/mulran-pr/dataset)

传感器:Lidar、IMU、GNSS、Radar 户外车载场景数据集,偏向于场景识别,未提供图像,IMU等标定信息不全。数据质量很高,但激光雷达由于其他传感器遮挡,缺失后向60度左右范围的点云。提供了Radar产生的polar image用于场景识别,官方提供了脚本工具用于发布ROS话题。

地址:EU Long-term Dataset with Multiple Sensors for Autonomous Driving 传感器:2x双目相机+2x工业相机+鱼眼相机、Lidar、IMU、RTK-GNSS等 户外车载场景数据集,传感器齐全。只提供了ROSbag格式数据,传感器外参未知。

备注:感谢微信公众号「」整理。

5.1. OpenCV

图像处理库

官方教程:

https://docs.opencv.org/4.x/d9/df8/tutorial_root.html

5.2. PCL(Point Cloud Library)

点云处理库

官方教程:

https://pcl.readthedocs.io/projects/tutorials/en/master/

5.3. Eigen

矩阵运算/线性代数库

官方教程:

https://eigen.tuxfamily.org/dox/GettingStarted.html

5.4. Ceres Solver

Google的非线性优化库

官方教程:

http://ceres-solver.org/tutorial.html

图优化库,本质上等价于ceres。通过将待优化状态定义为图顶点(Vertex),约束定义为图边(Edge)的形式,将非线性优化的过程转为了图结构,采用稀疏矩阵的方式求解非线性优化问题。资料比较少,建议直接看论文和github上的官方示例。

论文:g 2o: A General Framework for Graph Optimization

源码:https://github.com/RainerKuemmerle/g2o

另一个图优化库。不同的是,它通过贝叶斯网络对状态量进行最大似然估计进行优化。官方资料比g2o好很多,github上也提供了示例供参考。图的定义与g2o不同,其称之为“因子图(factor graph)”,上手难度比g2o小。

官方教程:

https://gtsam.org/tutorials/intro.html

论文:

iSAM: Incremental Smoothing and Mapping

iSAM2: Incremental Smoothing and Mapping Using the Bayes Tree

源码:https://github.com/borglab/gtsam

此处只列出了一些比较简略的相关原理说明/公式推导资料,深挖下去坑比较深,有需要的话还是建议寻找专门书籍学习。

https://www.youtube.com/watch?v=mH0oCDa74tE

3Blue1Brown的群论相关视频。

论文:A micro Lie theory for state estimation in robotics

一篇讲的很详细的状态预测中有关流形、李群、李代数理论的论文。从最基础的概念开始讲起,到介绍流形及其上微分规则。最后总结了机器人状态估计中常用的公式及其推导,保姆级教程。

两篇以视觉SLAM融合IMU为背景,讲解IMU预积分模型的经典论文。

简明预积分推导:https://zhuanlan.zhihu.com/p/388859808

《十四讲》作者高翔的IMU预积分模型讲解,依旧是《十四讲》的风格,清晰明白。

https://www.bilibili.com/video/BV1eE41147wK

一位自动驾驶相关算法UP主的系列课程,跟随UP自己的笔记进行授课,推导严谨讲解通俗而细致。强烈推荐。

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

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.相机模型与标定(单目+双目+鱼眼)

扫码添加小助手微信,可

也可申请加入我们的细分方向交流群,目前主要有等微信群。

一定要备注:,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。也请联系。

▲长按加微信群或投稿

▲长按关注公众号

:针对3D视觉领域的五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:

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

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

标签: 3055d5t加速度传感器h8a传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台