同时定位和建图(SLAM)基础知识

前言

本文的写作目的有二,一是为了将自己已有的SLAM相关知识总结成体系;二是为了给已有相关基础的朋友一个知识总结的参考案例。建议阅读对象是对SLAM基础知识有一定了解的朋友。

从2015年12月7日开始第一篇工作报告开始,接触vSLAM(视觉SLAM)已有一年半的时间,截止目前为止总共写了347篇学习日志。从阅读《基于序列图像的三维重建算法研究》(彭科举-博士论文)开始,学习路径大致可以归纳如下:

  1. 安装了LSD-SLAM、PTAM;
  2. 开始阅读神书《多视几何》补充基础知识;
  3. 阅读PTAM代码(总结了代码类图和相关文档);
  4. 安装DTAM、SVO,阅读SVO代码(总结代码类图和相关文档),同时开始接触李群、李代数等的基础数学知识(主要是通过Daniel Cremers教授的相关视频进行学习);
  5. 对闭环检测部分开始学习,阅读DloopDetector的相关论文进行阅读;
  6. 确定使用线特征和IMU对现有SLAM进行改进,阅读了MFG和LineSLAM等有开源代码的线特征SLAM系统,并开始基于ORB-SLAM搭建线特征SLAM系统;
  7. 开始准备开题报告《基于视觉和惯性传感器的SLAM算法研究》;
  8. 继续搭建线特征+IMU的SLAM系统至今。

虽已历经一年半,但目前拿得出手的成果还是太少,只有一个尚在继续调优的线特征SLAM系统,之前在上海大学从2015年8月到2016年7月未到一年时间就已做了一个电商平台、发了一篇中文核心(《基于三值光学计算机的并行快速Fourier算法实现》),对比起来差距很大,但是仔细想想已经获得的关于SLAM系统的知识和对不少开源系统的了解,也并非在浪费光阴一无所获。

关于实验室:小导师并不是SLAM方向,而且实验室也只有我一个人进行这个方向的工作,上无师哥师姐,下无师弟师妹,有时感觉整个学习过程并不顺畅,但是好在小导师为人随和,而且对我尽力帮助:需要设备时买了$695的DUO MLX(跑过几次,后来因为短期内不再需要双目数据,给它打印了个3D盒子之后就一直在抽屉里:( );需要指导时带我与联想上海研究院的项目leader见面让我咨询;同时带着我们去了不少AR/VR方向的公司参观(对实验室的强大慢慢有了了解),了解商业领域的发展情况;实验室的杂活儿(项目申请,报账等等)从未让我们做过,发钱让学生安心看论文准备项目的导师越来越珍贵了~ SLAM方向已有数十年发展历史,网上也有很多资料和开源代码(清华的高翔博士等人创立的SLAM学习群和微信公众号对自己的学习帮助良多),自己也腆着脸贡献了一点点东西:PTAM类图SVO类图

牢骚发过了,但是该做的工作还是需要继续。最近发现对SLAM的很多基础知识已经比较模糊,知识尚未形成系统化的结构,因此想把已有的SLAM基础知识进行整理,供自己回顾同时分享给其他同在一坑的朋友。

资源

  • SLAMCN:国内一群SLAM爱好者和研究者共同维护的SLAMwiki页面,一些主流的slam方法和相关学习资料都可以在这里找到,包括一些国内大牛的博客、经典SLAM文献及翻译等,主要内容是与VSLAM相关的。适合入门了解大致方向;
  • OpenSLAM:提供多种SLAM方法的开源代码及介绍,主流的SLAM算法在这一般都有源码;
  • MultipleViewGeometry-Prof. D. Cremers:慕尼黑工业大学教授Daniel Cremers的多视几何课程(YouTube源,其他源可在SLAMCN中找到,也可发邮件我传给你);

历史

SLAM

基本概念

卡尔曼滤波 粒子滤波 图优化 光束法平差 对极几何 变换 尺度漂移

卡尔曼滤波

粒子滤波

图优化

光束法平差

对极几何

变换

尺度漂移

####


转载请注明原地址,魏鑫燏的博客:http://slowlythinking.github.io 谢谢!

打赏

关闭

感谢您的支持,我会继续努力!

扫码支持
扫码支持

打扫码打赏,请量力而行