点击上方“3D视觉车间,选择星标
第一时间送达干货
作者菠萝包包@知乎
来源丨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视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、可答疑解惑、助你高效解决问题