第一章 视觉SLAM学习总结

1.1 书籍推荐

(1)机器人必读经典书籍:

Thrun S, Burgard W, Fox D. 《Probabilistic robotics》[M]. Cambridge, USA: MIT Press, 2005(概率机器人);

《Principles of Robot Motion Theory,Algorithms and Implementation》。

(2)会议论文文集:

《Robotics: Science and Systems》. Cambridge, USA: MIT Press

会议进展网站:http://www.roboticsproceedings.org/

(3)SLAM入门书籍:

《SLAM for Dummies》

(4)SLAM入门教材吐血推荐,对深入理解SLAM实质非常有帮助:

《STATE ESTIMATION FOR ROBOTICS》(状态估计)

(5)关于Graph-SLAM的教程,包含位姿变换、传感器模型、图优化以及SLAM中的稀疏性求解:

《Course on SLAM》

(6)加州伯克利的一本2D LIDAR SLAM小书

《Loop Closure Transformation Estimation and Verification Using 2D LiDAR Scanners》

(7)多视图几何官网课程和代码:

http://www.robots.ox.ac.uk/~vgg/hzbook/

1.2 公开课推荐

(1)内含大量SLAM公开课相关资料(PPT、音视频文件)

http://ais.informatik.uni-freiburg.de/teaching/ws15/mapping/

(2)YouTube的Cyrill Stachniss主页(课堂讲授SLAM的视频集)

https://www.youtube.com/channel/UCi1TC2fLRvgBQNe-T4dp8Eg

(3)内含Andrew Davison的SLAM公开课资料

http://www.doc.ic.ac.uk/~ajd/Robotics/index.html

(4)西工大实验室暑期培训

https://github.com/zdzhaoyong/SummerCamp2018

(5)ShuHui Bu主页,内含大量开源工具和AI资料。

http://www.adv-ci.com/blog/course/intelligent-igp/

(6)机器人学习

http://wiki.hfreetech.org/docs/Courses/Robotics-Learning.html

1.3 网站学习推荐

(1)大量优秀代码和框架,权威资料

http://www.openslam.org/

(2)MRPT库官方网站,有MRPT相关文档和最新下载

http://www.mrpt.org/

(3)中文SLAM技术交流网站,将最新进展和相关解决方案链接在里边,还有知名博客、公众号、实验室、数据集等资料,强烈推荐的一个网站

http://www.slamcn.org/index.php/

(4)维基百科的SLAM介绍,里边有SLAM的发展综述和大量参考文献

https://en.wikipedia.org/wiki/Simultaneous_localization_and_mapping#External_links

(5)ROS官网

http://www.ros.org/

1.4 博客

(1)半闲居士,高翔博士的博客,SLAMCN的创始人(以视觉SLAM为主)

http://www.cnblogs.com/gaoxiang12/

(2)一个国外的路径规划算法网站(包含一些可交互演示的小工具)

http://www.redblobgames.com/

对应这个网站中的寻路算法的中文翻译博文(12篇)

http://blog.jobbole.com/71044/

(3)泡泡机器人SLAM公众号(内含泡泡机器人公开课),专题讲解,有PPT和Video

(4)知行合一,内含Graph SLAM tutorial:从推导到应用、Mono SLAM理论基础等一些理论推导

http://blog.csdn.net/heyijia0327

(5)Sebastian Thrun领导的斯坦福大学机器人研究团队主页

http://robots.stanford.edu/

1.5 会议

(1)IEEE International Conference on Robotics and Automation(ICRA)

(2)IEEE/RSJ International Conference on Intelligent Robots and Systems(IROS)

(3)International Symposium on Robotics Research Robotics: Science and Systems Conference(RSS)

(4)IEEE Conference on Computer Vision and Pattern Recognition(CVPR)

1.6 期刊

(1)IEEE Robotics and Automation Magazine

(2)IEEE Transactions on Robotics

(3)International Journal of Robotics Research

(4)Robotics and Autonomous Systems

1.7 学者

(1)Sebastian Thrun(署名Thrun S,斯坦福大学)

(2)Andrew Davison(牛津大学)

(3)Tim Beily 及所在的 悉尼大学一些研究者

(4)Giorgio Grisetti、Cyrill Stachniss、Wolfram Burgard (GridMapping 算法及概率机器人一书作者)

(5)M. Montemerlo、Dirk Haehnel、Sebastian Thrun (FastSLAM创始者,理论水平和实际应用能力非常强)。参加过DARPA的智能车挑战赛,取得最好成绩。

(6)Austin Eliazar、Ronald Parr (DP-SLAM创始者,从文章到数据,程序都公开的牛人)

http://www.cs.duke.edu/~eliazar

http://www.cs.duke.edu/~parr

(7)以Jose Neira和Jose luis Blanco为代表的一批西班牙学者.

(8)Andrew Davison 视觉SLAM领域的权威。

(9)John Leonard 侧重于应用。目前主要在做水下SLAM的项目。参加过DARPA的智能车挑战赛。

第二章 视觉SLAM研究方向

2.1 视觉SLAM国际上主流开源框架

2.1.1 MoNoSLAM

Davison教授是视觉SLAM研究领域的先驱,他在2007年提出的MonoSLAM是第一个实时的单目视觉SLAM系统,被认为是许多工作的发源地。MonoSLAM以扩展卡尔曼滤波为后端,追踪前端非常稀疏的特征点。由于EKF在早期SLAM中占据着明显主导地位,所以MonoSLAM亦是建立在EKF的基础之上,以相机的当前状态和所有路标点为状态量,更新其均值和协方差。

优点:在2007年,随着计算机性能的提升,以及该系统用稀疏的方式处理图像,使得该方案使得SLAM系统能够在线运行。(之前的SLAM系统是基本不能在线运行的,只能靠机器人携带相机采集的数据,再离线进行定位和建图。)

缺点:MoNoSLAM存在应用场景窄,路标数量有限,系数特征点非常容易丢失等缺点,现在已经停止了对其开发。

2.1.2 SVO( Semi-direct Visual Odoemtry )

SVO是Semi-direct Visual Odoemtry的缩写,它是由Forster等人于2014年提出的一种基于稀疏直接法的视觉里程计。基于稀疏直接法的视觉里程计,在实现中,使用了4x4的小块进行块匹配,估计相机资自身的运动。

优点:速度极快,在低端计算平台上也能达到实时性,适合计算平台受限的场合。

缺点:在平视相机中表现不佳;舍弃了后端优化和回环检测部分,SVO的位姿估计存在累计误差,并且丢失后不太容易进行重定位。

2.1.3 ORB-SLAM(继承并改进PTAM)

ORB-SLAM被提出于2015年,是现代SLAM系统中做得非常完善、非常易用的系统之一,代表着主流的特征点SLAM的一个高峰。

优点:泛用性:支持单目,双目,RGB-D三种模式。整个系统围绕ORB特征进行计算,在效率与精度之间做到了平衡,并围绕特征点进行了优化。其回环检测算法可以有效地防止误差的积累。使用三个线程完成SLAM,取得了较好的跟踪和建图效果,能够保证轨迹和地图的全局一致性。

缺点:对于每幅图像都需要计算ORB特征耗时大。三线程给CPU带来较大负担,在一直到嵌入式设备上有一定的困难,ORB-SLAM的建图为稀疏特征点,只能满足定位功能。

2.2 SLAM国内研究及现状

2.2.1 国内研究:

  1. 浙江大学CAD&CG国家重点实验室章国锋老师(商汤);
  2. 香港科技大学沈劭劼老师(大疆);
  3. 武汉大学的李明老师(环宇智行)。

2.2.2 研究难点:

计算机视觉发展到今天,其实还不存在性能和速度上很好满足 VSLAM 的特征提取和匹配算法。

常见的特征点提取算法,性能上大致可以认为 SIFT>SURF>ORB>FAST,效率上可以认为 FAST>ORB>SURF>SIFT。为了在性能和效率上取得折中,通常采用 FAST 或者 ORB,只能舍弃性能更好的 SIFT、SURF 等。

其次,匹配点的图像坐标与空间坐标之间的关系是非线性的,例如 2D-2D 点的对应满足对极几何、2D-3D 点的对应满足 PnP 约束。这些匹配数量较多,前后两帧图像中一般有几十至数百的匹配。这些匹配会引入众多约束关系,使得待估计变量的关系错综复杂。为了得到一个较优的估计,通常需要建立优化问题,整体优化多个变量。说起来这无非是一个非线性最小二乘优化问题,但实现起来并不简单,因为存在非线性约束、约束数量很多、存在误差和野值点,并且要将计算时间控制在允许范围。目前广泛采用关键帧技术,并且通过很多方法来控制问题规模、保持问题的稀疏性等。后端这边难点比较多,涉及到的数学知识也比较多,总的来说大家已经慢慢抛弃传统的滤波理论走向图优化去了。

2.3 研究思路

未来VSLAM研究方向主要有视觉-惯性导航融合,与深度学习技术结合是VSLAM的一个大方向,是一个很有前景的研究方向。

与深度学习结合SLAM的三个方向:

1)用深度学习方法替换传统SLAM中的一个或几个模块特征提取,特征匹配,提高特征点稳定性,提取点线面等不同层级的特征点。

2)在传统SLAM之上加入语义信息图像语义分割和语义地图构建。

3)端到端的SLAM机器人自主导航(深度强化学习)等。

2.4 与电网巡检机器人项目结合

视觉slam后期研究方向主要与深度学习结合起来,在机器人项目应用主要有下面几个思路。

1)用视觉SLAM位姿提高机器人定位精度。

2)与激光SLAM结合构建地图。

3)自动充电桩道路识别。

4)深度学习语义地图,主要偏前端。

注:本文章参考了网络资料,如有侵权请联系删除,未授权者请勿随意转载。

史上最全视觉SLAM资料及研究方向思路汇总相关推荐

  1. 史上最全数据分析师资料免费下载[Python]

    史上最全数据分析师资料免费下载[Python]!整理不易! 以下资料仅供自我学习使用,禁商用,侵删 这几年数据分心被炒得热火朝天,其原因之一是上手容易,之二数据暴增,提取有用信息,分析,预测用户行为, ...

  2. 87期:史上最全的物联网资料

    本期头条   [直播预告]最牛开源数据库PostgreSQL:FDW功能及金融物联网案例详解 PostgreSQL是有着40年历史以核心交易型事务处理为发展重心的关系型数据库.在NewSQL时代,它除 ...

  3. 标星 2.7w+ 堪称史上最全的微信小程序开发资源汇总

    [公众号回复 "1024",免费领取程序员赚钱实操经验] 2017 年 1 月,微信小程序一夜成名. 微信小程序成名后,各大厂开始效仿,相继出现了支付宝.百度.今日头条.QQ.抖音 ...

  4. 史上最全的机器学习资料(下)

    机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论.统计学.逼近论.凸分析.算法复杂度理论等多门学科.专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能 ...

  5. 史上最全DSO学习资料

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 DSO(Direct Sparse Odometry)是一种视觉里程计方法.在SLAM领域,DSO属于 ...

  6. 史上最全的机器学习资料(上)

    摘要: 机器学习牵涉的编程语言十分之广,包括了MATLAB.Python.Clojure.Ruby等等.为了让开发者更加广泛.深入地了解机器学习,云栖社区组织翻译了GitHub Awesome Mac ...

  7. 史上最全的机器学习资料

    摘要: 机器学习牵涉的编程语言十分之广,包括了MATLAB.Python.Clojure.Ruby等等.为了让开发者更加广泛.深入地了解机器学习,云栖社区组织翻译了GitHub Awesome Mac ...

  8. 史上最全算法学习资料整理

    高质量文章收藏 (1.8w字)负重前行,前端工程师如何系统练习数据结构和算法?[上] 算法与面试之-如何准备算法面试 我接触过的前端数据结构与算法 - 掘金 前端该如何准备数据结构和算法? - 掘金 ...

  9. python源代码最多的学习网站_史上最全Python学习资料大合集分享

    Python有多火就不用说了,之前也零散地分享过一些Python学习开发资料. 本次将分享Python学习资料合集.合集哦,你品,你细品! 在分享之前,还是要啰嗦一下,不然文章字数太少,不太好看. P ...

最新文章

  1. 实践操作:六步教你如何用开源框架Tensorflow对象检测API构建一个玩具检测器
  2. skyline三维模型规格
  3. 9个 Python 实用案例分享
  4. Trie 树——搜索关键词提示 1
  5. goland go test_Go单元测试实践一,快速上手
  6. ITK:在图像中找到最大和最小
  7. Maven 项目创建 找不到web.xml
  8. 明明知道银行存款会贬值,为什么还有那么多人把钱放在银行?
  9. 日常生活中女性的弱点是什么?
  10. 【数据结构之旅】循环队列
  11. [猫扑贴贴论坛]2010暴强年终总结篇:有种美叫凤姐,有种帅哥叫犀利哥
  12. MATLAB GUI中显示数学公式
  13. 点云配准ICP算法推导,SVD分解
  14. 光纤与PON基础概念整理
  15. 2021.11.06总结
  16. 数据中心网络设备管理(二)
  17. 李弘毅老师GAN笔记(一),对抗生成网络(GAN)简单介绍
  18. Arduino蓝牙模块实验(HC-42)
  19. 卡巴斯基起诉江民杀毒软件侵权
  20. 基础设施与应用监控之指标、监控和报警简介

热门文章

  1. 6.数字图像处理及MATLAB实现-马赛克
  2. 装配一台计算机有哪些安全注意事项,挤出机注意事项
  3. C++PrimerPlus 学习笔记 | 第八章 函数探幽 | 2.引用参数
  4. 【Python爬虫】Scrapy 下载安装
  5. 家用NAS上安装Domino
  6. 解决Windows10系统ping外网不通的问题
  7. Ubuntu打造家用NAS二——服务器管理
  8. LeetCode 1646. 获取生成数组中的最大值 Python
  9. Quartz - Java 任务调度
  10. StringUtils的使用