讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解的(01)ORB-SLAM2源码无死角解析链接如下(本文内容来自计算机视觉life ORB-SLAM2 课程课件):
(01)ORB-SLAM2源码无死角解析-(00)目录_最新无死角讲解:https://blog.csdn.net/weixin_43013761/article/details/123092196
文
末
正
下
方
中
心
提
供
了
本
人
联
系
方
式
,
点
击
本
人
照
片
即
可
显
示
W
X
→
官
方
认
证
{\color{blue}{文末正下方中心}提供了本人 \color{red} 联系方式,\color{blue}点击本人照片即可显示WX→官方认证}
文末正下方中心提供了本人联系方式,点击本人照片即可显示WX→官方认证
应用领域:机器人、自动驾驶、增强现实、无人机。ORB-SLAM2是视觉SLAM中特征点法的开源代表作,是学习SLAM必学的第一个开源算法。同时支持单目、双目、RGBD相机,涵盖视觉SLAM领域核心算法,包括地图初始化、实时跟踪、局部建图、回环检测、BA优化。
关于
O
R
B
−
S
L
A
M
2
源
码
解
析
\color{red}{ORB-SLAM2源码解析}
ORB−SLAM2源码解析 对应的一系列章节,如下所示:
(00)(01)ORB-SLAM2源码无死角解析-(00) 目录_最新无死角讲解:https://blog.csdn.net/weixin_43013761/article/details/123092196
(01)(01)ORB-SLAM2源码无死角解析-(01) 环境搭建,demo运行,ROS一键安装_清除各种疑难杂症:https://blog.csdn.net/weixin_43013761/article/details/123093639
(02)(01)ORB-SLAM2源码无死角解析-(02) C++命名规范_总体框架解读:https://blog.csdn.net/weixin_43013761/article/details/123153360
(03)(01)ORB-SLAM2源码无死角解析-(03) ORB_SLAM2::System之初构造函数解读:https://blog.csdn.net/weixin_43013761/article/details/123261370
(04)(01)ORB-SLAM2源码无死角解析-(04) 单目追踪_总体框架讲解TrackMonocular→GrabImageMonocular:https://blog.csdn.net/weixin_43013761/article/details/123430385
(05)(01)ORB-SLAM2源码无死角解析-(05) Tracking::Tracking()与 Frame::Frame():https://blog.csdn.net/weixin_43013761/article/details/123434067
(06)(01)ORB-SLAM2源码无死角解析-(06) 图像金字塔_ORB特征点:https://blog.csdn.net/weixin_43013761/article/details/123440647
(07)(01)ORB-SLAM2源码无死角解析-(07) ORBextractor::operator()→构建图像金字塔:https://blog.csdn.net/weixin_43013761/article/details/123448889
(08)(01)ORB-SLAM2源码无死角解析-(08) ORBextractor::operator()→FAST关键点提取:https://blog.csdn.net/weixin_43013761/article/details/123462114
(09)(01)ORB-SLAM2源码无死角解析-(09) ORBextractor::operator()→FAST关键点均匀化:https://blog.csdn.net/weixin_43013761/article/details/123481823
(10)(01)ORB-SLAM2源码无死角解析-(10) ORBextractor::operator()→灰度质心法:https://blog.csdn.net/weixin_43013761/article/details/123486198
(11)(01)ORB-SLAM2源码无死角解析-(11) ORBextractor::operator()→BRIEF描述子:https://blog.csdn.net/weixin_43013761/article/details/123501428
(12)(01)ORB-SLAM2源码无死角解析-(12) 图像、特征点、关键点去畸变:https://blog.csdn.net/weixin_43013761/article/details/123531815)
(13)(01)ORB-SLAM2源码无死角解析-(13) 追踪总体框架讲解→Tracking::Track():https://blog.csdn.net/weixin_43013761/article/details/123549441
(14)(01)ORB-SLAM2源码无死角解析-(14) 地图初始化→单目初始化MonocularInitialization():尺度不确定性:https://blog.csdn.net/weixin_43013761/article/details/123575831
(15)(01)ORB-SLAM2源码无死角解析-(15) 单目初始化MonocularInitialization()→Initializer:https://blog.csdn.net/weixin_43013761/article/details/123589911
(16)(01)ORB-SLAM2源码无死角解析-(16) 单目初始化Initializer→八点发求解Homography矩阵:https://blog.csdn.net/weixin_43013761/article/details/123593780
(17)(01)ORB-SLAM2源码无死角解析-(17) 单目初始化Initializer→八点发求解Fundamental矩阵:https://blog.csdn.net/weixin_43013761/article/details/123737621
(18)(01)ORB-SLAM2源码无死角解析-(18) SVD奇异值分解→求解Homography,Fundamental矩阵,了解矩阵自由度:https://blog.csdn.net/weixin_43013761/article/details/123877876
(19)(01)ORB-SLAM2源码无死角解析-(19) 重投影误差,卡方检验→CheckFundamental,CheckHomography:https://blog.csdn.net/weixin_43013761/article/details/126420016
(20)(01)ORB-SLAM2源码无死角解析-(20) 分解Homography,恢复Rt→Faugeras SVD-based decomposition:https://blog.csdn.net/weixin_43013761/article/details/124056879
(21)(01)ORB-SLAM2源码无死角解析-(21) 基本矩阵Fundamental→本质矩阵Essential 分解恢复 Rt:https://blog.csdn.net/weixin_43013761/article/details/124196424
(22)(01)ORB-SLAM2源码无死角解析-(22) 特征点三角化、深度计算、三维点筛选:https://blog.csdn.net/weixin_43013761/article/details/124328735
(23)(01)ORB-SLAM2源码无死角解析-(23) 单目SFM地图初始化→CreateInitialMapMonocular()-总体流程:https://blog.csdn.net/weixin_43013761/article/details/124491357
(24)(01)ORB-SLAM2源码无死角解析-(24) 单目SFM地图初始化→CreateInitialMapMonocular()-细节分析:尺度不确定性:https://blog.csdn.net/weixin_43013761/article/details/124592632
(25)(01)ORB-SLAM2源码无死角解析-(25) 关键帧KeyFrame→判断系统目前是否需要关键帧:https://blog.csdn.net/weixin_43013761/article/details/124662656
(26)(01)ORB-SLAM2源码无死角解析-(26) 关键帧KeyFrame→如何创建、插入关键帧:https://blog.csdn.net/weixin_43013761/article/details/124671292
(27)(01)ORB-SLAM2源码无死角解析-(27) 共视图、本质图、拓展图:https://blog.csdn.net/weixin_43013761/article/details/124710012
(28)(01)ORB-SLAM2源码无死角解析-(28) 双目Stereo相机立体匹配,SAD算法→深度求解:https://blog.csdn.net/weixin_43013761/article/details/124798744
(29)(01)ORB-SLAM2源码无死角解析-(29) ORB特征匹配→ORBmatcher,汉明距离(单目初始化为例):https://blog.csdn.net/weixin_43013761/article/details/124827062?
(30)(01)ORB-SLAM2源码无死角解析-(30) ORB特征匹配→词袋BoW(bag of words):简介,优劣势分析:https://blog.csdn.net/weixin_43013761/article/details/124882100?
(31)(01)ORB-SLAM2源码无死角解析-(31) ORB特征匹配→词袋BoW:BRIEF描述子转BoW向量:https://blog.csdn.net/weixin_43013761/article/details/124888110
(32)(01)ORB-SLAM2源码无死角解析-(32) ORB特征匹配→跟踪线程BoW加速匹配,关键帧特征点跟踪SearchByBoW():https://blog.csdn.net/weixin_43013761/article/details/125002892?
(33)(01)ORB-SLAM2源码无死角解析-(33) ORB特征匹配→局部建图BoW加速匹配,三角化SearchForTriangulation:https://blog.csdn.net/weixin_43013761/article/details/124897974?
(34)(01)ORB-SLAM2源码无死角解析-(34) 跟踪线程→初步了解跟踪线程,参考关键帧追踪TrackReferenceKeyFrame():https://blog.csdn.net/weixin_43013761/article/details/124985845?
(35)(01)ORB-SLAM2源码无死角解析-(35) 跟踪线程→恒速模型跟踪当前普通帧TrackWithMotionModel():https://blog.csdn.net/weixin_43013761/article/details/125043845?
(36)(01)ORB-SLAM2源码无死角解析-(36) 跟踪线程→跟踪丢失后,重定位跟踪 Relocalization():https://blog.csdn.net/weixin_43013761/article/details/125085640
(37)(01)ORB-SLAM2源码无死角解析-(37) EPnP 算法原理详解→理论基础一:控制点选取、透视投影约束:https://blog.csdn.net/weixin_43013761/article/details/125778697
(38)(01)ORB-SLAM2源码无死角解析-(38) EPnP 算法原理详解→理论基础二:分情况求得beta初始解:https://blog.csdn.net/weixin_43013761/article/details/125830254
(39)(01)ORB-SLAM2源码无死角解析-(39) EPnP 算法原理详解→理论基础三:高斯牛顿迭代:https://blog.csdn.net/weixin_43013761/article/details/125933729
(40)(01)ORB-SLAM2源码无死角解析-(40) EPnP 算法原理详解→理论基础四:QR分解(豪斯霍尔德变换):https://blog.csdn.net/weixin_43013761/article/details/125991697
(41)(01)ORB-SLAM2源码无死角解析-(41) EPnP 源代码分析(1)→PnPsolver总体流程与思路:https://blog.csdn.net/weixin_43013761/article/details/125898784
(42)(01)ORB-SLAM2源码无死角解析-(42) EPnP 源代码分析(2)→compute_pose():控制点选取,系数计算:https://blog.csdn.net/weixin_43013761/article/details/125927316
(43)(01)ORB-SLAM2源码无死角解析-(43) EPnP 源代码分析(3)→find_betas_approx(),gauss_newton():https://blog.csdn.net/weixin_43013761/article/details/126030166
(44)(01)ORB-SLAM2源码无死角解析-(44) EPnP 源代码分析(4)→PnPsolver::qr_solve():QR分解:https://blog.csdn.net/weixin_43013761/article/details/126036066
(45)(01)ORB-SLAM2源码无死角解析-(45) EPnP 源代码分析(5)→ICP 求解相机位姿:https://blog.csdn.net/weixin_43013761/article/details/126041518
(46)(01)ORB-SLAM2源码无死角解析-(46) 跟踪线程→局部地图跟踪TrackLocalMap():局部地图更新:https://blog.csdn.net/weixin_43013761/article/details/126120671
(47)(01)ORB-SLAM2源码无死角解析-(47) 跟踪线程→局部地图跟踪TrackLocalMap():局部地图点过滤:https://blog.csdn.net/weixin_43013761/article/details/126137134
(48)(01)ORB-SLAM2源码无死角解析-(48) 不同跟踪方法的对比、梳理完整跟踪流程→Tracking::Track():https://blog.csdn.net/weixin_43013761/article/details/126153293
(49)(01)ORB-SLAM2源码无死角解析-(49) 局部建图线程→流程以及处理新关键帧:ProcessNewKeyFrame():https://blog.csdn.net/weixin_43013761/article/details/126189629
(50)(01)ORB-SLAM2源码无死角解析-(50) 局部建图线程→MapPointCulling,CreateNewMapPoints:https://blog.csdn.net/weixin_43013761/article/details/126285793
(51)(01)ORB-SLAM2源码无死角解析-(51) 局部建图线程→SearchInNeighbors():融合重复地图点:https://blog.csdn.net/weixin_43013761/article/details/126372649
(52)(01)ORB-SLAM2源码无死角解析-(52) 局部建图线程→剔除关键帧KeyFrameCulling()、整体线程梳理:https://blog.csdn.net/weixin_43013761/article/details/126399259
(53)(01)ORB-SLAM2源码无死角解析-(53) 闭环线程→了解闭环检测、主体框架讲解:LoopClosing::Run:https://blog.csdn.net/weixin_43013761/article/details/126526391
(54)(54)ORB-SLAM2源码无死角解析-(54) 闭环线程→闭环检测:寻找闭环候选关键帧 LoopClosing::DetectLoop():https://blog.csdn.net/weixin_43013761/article/details/126545826
(55)(01)ORB-SLAM2源码无死角解析-(55) 闭环线程→计算Sim3:总体流程讲解ComputeSim3():https://blog.csdn.net/weixin_43013761/article/details/126602357
(56)(01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t:https://blog.csdn.net/weixin_43013761/article/details/126648996
(57)(01)ORB-SLAM2源码无死角解析-(57) 闭环线程→计算Sim3:理论推导(2)求解R,使用四元数:https://blog.csdn.net/weixin_43013761/article/details/126726063
(58)(01)ORB-SLAM2源码无死角解析-(58) 闭环线程→计算Sim3: 源码Sim3Solver::iterate()讲解:https://blog.csdn.net/weixin_43013761/article/details/126762711
(59)(01)ORB-SLAM2源码无死角解析-(59) 闭环线程→闭环矫正: CorrectLoop→位姿传播,地图点矫正:https://blog.csdn.net/weixin_43013761/article/details/126929556
(60)(01)ORB-SLAM2源码无死角解析-(60) 闭环线程→闭环矫正: CorrectLoop→地图点融合、共视关系更新:https://blog.csdn.net/weixin_43013761/article/details/126969684
(61)(01)ORB-SLAM2源码无死角解析-(61) 闭环线程→闭环矫正: CorrectLoop→全代码注释:https://blog.csdn.net/weixin_43013761/article/details/127010761
(62)(01)ORB-SLAM2源码无死角解析-(62) BA优化(g2o)→追踪线程:Optimizer::PoseOptimization→仅位姿优化:https://blog.csdn.net/weixin_43013761/article/details/127011858
(63)(01)ORB-SLAM2源码无死角解析-(63) BA优化(g2o)→局部建图线程:Optimizer::LocalBundleAdjustment→位姿与地图点优化:https://blog.csdn.net/weixin_43013761/article/details/127321977
(64)(01)ORB-SLAM2源码无死角解析-(64) BA优化(g2o)→闭环线程:Optimizer::OptimizeSim3→Sim3变换优化:https://blog.csdn.net/weixin_43013761/article/details/127373225
(65)(01)ORB-SLAM2源码无死角解析-(65) BA优化(g2o)→闭环线程:Optimizer::OptimizeEssentialGraph→本质图优化:https://blog.csdn.net/weixin_43013761/article/details/127390007
(66)(01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化:https://blog.csdn.net/weixin_43013761/article/details/127423782
本文内容来自计算机视觉life ORB-SLAM2 课程课件