/*
截止今日终于粗略地读完了高翔的《视觉SLAM十四讲》(入门第一步!),其中一些方法、优化、以及编程实践都还没有学习。不过对SLAM也算大体有了一些认知,对学习路径也有了一定的规划,在这里通过经典视觉SLAM框架,和大家分享一些经典入门书籍与个人认为比较好的课程。
以下规划了11个需要学习的知识体系,并给出入门书籍或课程。其他还有许多小点没有列举出来,只有大内容被罗列了出来,每一项都需要花时间去了解。
*/
经典SLAM框架:
传感器数据:
(1)多传感器融合、传感器选型
VINS-Mono
前端 视觉里程计:
(2)图像处理、特征描述子、特征匹配
《数字图像处理》冈萨雷斯
(3)几何方法
《计算机视觉中的多视图几何》
后端 (非线性)优化:
(4)概率滤波
《概率机器人》
(5)非线性优化
最优化、非线性优化方法
《机器人感知 因子图在SLAM中的应用》
建图:
点云PCL库、三维重建
回环检测:
词袋模型
(6)机器学习
机器学习课程 吴恩达
清华大学-数据挖掘:理论与算法 袁博
这门课讲的超级好!清晰简单,十大机器学习算法都可以学到。
《机器学习》(西瓜书)周志华
SLAM归属范畴
计算机视觉:
(7)深度学习
计算机视觉与深度学习 北京邮电大学 鲁鹏
很全面很基础,学完后 对CV研究方向和经典网络架构都会有了解
机器人:
(8)导航和路径规划
打算自己看看论文,公开课和综述
(9)ROS
涉及编程方面应该有很多教程
工程
(10)C/C++、Linux、工程技巧
C++各种库
ORB-SLAM2复现
科研
(11)论文追踪、阅读、撰写
多传感器融合SLAM 偏工程
语义SLAM 偏学术研究
导航与路径规划 偏移动机器人
总结
(1)机器学习、深度学习
在b站看个三四门课,稍微读读书,各个算法不懂再分别研究研究就差不多了
有个大框架简单了解大概一个月就可以
(2)图像处理、几何方法、概率滤波
《数字图像处理》《概率机器人》《计算机视觉中的多视图几何》
三本硬书,每本要真的从头到尾肯下来都各要一个月!
不读博士其实不建议硬啃,虽然读完真的会收获一个完整基础知识框架,对之后SLAM学习帮助很大,但是很浪费时间,可以先跳过,有时间和有心情再学,不然就用到啥学啥就好了
(3)非线性优化
我觉得非线性优化还是挺重要的,但是了解简单方法和图优化就好了,应该一周就能入门,知道怎么用库就好了。因为我个人不太擅长优化,所以之后打算去听听最优化理论的网课,大概一个月听完。
(4)多传感器融合
重点技术,找工作必需,打算先好好学学VINS-Mono。也有和语义信息结合的研究之后可能会把这个作为自己的研究方向,就是不知道设备好不好卖...学习时间应该会排在实现 ORB-SLAM2之后,应该会挺久的
(5)导航和路径规划
因为个人想把SLAM研究范围定在移动机器人领域,所以导航和路径规划应该会了解一下,但是不会太深入,常见算法还是要实现一下的,基于SLAM的导航也很有学习的价值。读文献之类的大概一周到两周就能了解理论。
(6)C/C++、Linux、ROS
SLAM说到底是工程技术,同时为了未来更好找工作,编程能力必不可少,在整个学习过程中,在学习理论的同时都应该有计划地学习编程,同步进行,实践和理论相辅相成。首先目标是读懂并复现ORB-SLAM2、VINS-Mono源码,预计给自己半年到一年的时间实现
(7)科研
硕士侧重工程,博士侧重理论
科研三条线路(参考知乎用户 hitcm 哈工大大佬的回答):
1.修补已有的坑 多种方法结合,优势互补
2.深挖已有的坑 横向工程进行补充,深挖一个点
3.挖自己的坑 开辟新方向
总结就是三条线:
(1)相关理论学习
其实相关理论和技术学习一个月学一块有个半年基本就搞定了。
(2)编程学习
最最最主要的就是实践和工程能力,这个花费的时间永远不嫌多。
(3)科研实习
最后就是要多阅读文献,了解前沿研究,根据研究内容驱动前两条线的学习