ORB-SLAM代码理解及笔记

本文详细介绍了ORB-SLAM系统的关键组件和流程,包括预处理、跟踪、重定位、局部地图构建和回环检测等。作者通过学习高博的视觉SLAM课程,结合吴博和冯兵老师的资料,深入理解ORB-SLAM的代码逻辑,并绘制流程图以增强记忆。文章重点讨论了初始化、单目跟踪、关键帧管理和回环闭合的过程,为读者提供了ORB-SLAM的理解路径。
摘要由CSDN通过智能技术生成

最近在看orb-slam,orb-slam方案在slam领域的地位就不用说了,我花了三天大概理清了一下代码的逻辑和思路。具体的细节还没有仔细去看,由于本人也是刚刚学完高博的视觉slam十四讲,所以有一些地方有错误的还望批评指正。另外我参考的资料除了论文以外,还有在泡泡机器人上面找到的吴博和冯兵两位老师的视频以及PPT,非常感谢泡泡机器人这个平台,学习到了很多知识!

首先还是看论文里面的这幅图,当时就没有太在意,后来才发现这幅图的逻辑非常的清晰,真的是非常的好,另外orb-slam的代码逻辑也非常的清晰,Local Mapping和Loop Closing线程里面都有一个run函数,可以很直观的找到每一步在做一些什么事情。这里写图片描述
我看了吴博老师的ppt感觉也是非常的清晰,所以为了加强自己的记忆,我就把吴博的整个流程图自己又画了一遍,虽然画的不是特别好,但是加深了一下记忆,我觉得加强了自己的理解也是非常不错的。另外在冯兵老师的PPT里面,我找到了可以比较快理清关于frame,feature,map point之间关系的图。
这里写图片描述
然后接下来就是代码的流程图以及我个人参考各路博客资料整理的一些说明吧。后面的我主要是看的单目的,所以双目和立体的都没看,以下针对的都是单目情况。
这里写图片描述
这个就是一个相当于预处理的一个过程,在这里提到了一个单目初始化,是一个非常重要的东西,ORB-SLAM通过自动单目初始化。

在单目构造帧的时候,如果此时未进行初始化,那么提取的特征数将会是已经进行初始化之后特征数的2倍。在进行单目初始化的时候,有两种方案,分别是计算单应矩阵和基础矩阵的R,t,然后对两个矩阵进行分值评估,根据分值确定选择哪一种方案。具体的计算方案如下:

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值