注释:本文非原创,初学搜集了很多资料附上链接,方便初学者学习,避免盲目搜索浪费时间。
目录
官方代码链接
代码框架思维导图
数学部分解析:
参考解读
链接:ORB-SLAM2 程序解读_zxcqlf的博客-CSDN博客 分析orb-slam源码框架的博客,参考了下列博客
sylvester的博客_sylvester0510_CSDN博客 对视觉slam框架 以及 ORB-SLAM分析比较透彻的博客内容,较细
那些珍贵的「视觉SLAM」课程资料总结(补充版/完整版) 各种解读视频、代码等资料的网盘和提取密码
参考链接- -一步步带你看懂orbslam2源码
一步步带你看懂orbslam2源码--总体框架(一)_Mr.Sliver的博客-CSDN博客
一步步带你看懂orbslam2源码--orb特征点提取(二)_Mr.Sliver的博客-CSDN博客
一步步带你看懂orbslam2源码--单目初始化(三)_Mr.Sliver的博客-CSDN博客
一步步带你看懂orbslam2源码--单应矩阵/基础矩阵,求解R,t(四)_Mr.Sliver的博客-CSDN博客
一步步带你看懂orbslam2源码--单目初始化(五)_Mr.Sliver的博客-CSDN博客
ORB-SLAM2从理论到代码实现系列(推荐)
ORB-SLAM2代码阅读笔记系列(推荐)
博客园部分解读
参考链接--多种slam内容汇总、解读和说明
https://wym.netlify.app/categories/orb-slam2
system.cc文件代码
// Output welcome message
//Check settings file
//Load ORB Vocabulary
参考 创建DBow离线词典用于ORB SLAM2 - 简书 ORBSLAM2学习(四):DBoW2源码分析(OrbVocabulary部分)_On my way-CSDN博客
对极几何和三角测量
SLAM前端:对极几何、三角测量_LittleEmperor的博客-CSDN博客
单目初始化问题相关:
单目相机纯旋转时无法三角测量进行初始化
目前有什么算法可以有效地解决SLAM中的纯旋转问题? - 知乎
作者:余世杰
链接:https://www.zhihu.com/question/387340614/answer/1158084919
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
SLAM问题无非两点,两帧之间的R,t,以及求取点深度。
纯旋转就是t非常接近(0,0,0),这个时候R还是可以估计的,通过IMU或者视觉特征点的匹配。但是点深度就无法获得了。点深度的获取要依靠三角测量。三角测量在t很小的时候会失效或误差很大。理论上无法解决的哦。在加入IMU或其他传感器后,会在后续优化中尽量拉回尺度,但仍无法彻底解决问题。
参考【泡泡机器人原创专栏-深度滤波器】(一)三角化得到深度值_泡泡机器人SLAM的专栏文章_微信文章_今天看啥。
目标是求取点P。若t接近(0,0,0),则O1和O2为同一个点,下面公式中,s1和s2无法求得,因为s1和s2同时扩大或者缩小n倍都成立。
数学/多视几何部分内容--单应矩阵
SLAM入门之视觉里程计(5):单应矩阵 - Brook_icv - 博客园
算法编程部分内容--OpenCV源代码目录解析
opencv 目录解析_wenhaopeter的博客-CSDN博客
视觉slam原理和案例解析
视觉SLAM漫谈(高翔博士)
ORB特征提取
ORB 特征提取算法(理论篇) - Alex777 - 博客园
BRIEF描述子:前提是提取特征点知道及位置,在其领域内用brief算法建立特征描述符
随机选取点对比较像素值大小,并不是在两幅图像的对应角点的领域真的随机,否则向量匹配不上。 而是随机选用一个模板后,所有的角点邻域都按照该模板生成二进制的描述子向量。
ORB 特征提取算法(实践篇二) - Alex777 - 博客园
图优化
Bundle Adjustment---即最小化重投影误差(高翔slam---第七讲) - Jessica&jie - 博客园