随笔分类 -  一步步复现ORBSLAM2

一步步复现ORBSLAM2,将各个模块拆分开了,并做详细记录和源码实现。记录学习过程,并公开源码在github上。
摘要:前言 距离上一次博客更新已经过去了N年。。。 ORB-SLAM2继续更新,这真的是有生之年系列。 ORB-SLAM3在2的基础上,引进了IMU的初始化和融合估计,以及子地图功能。笔者目前 IMU 相关的知识相对比较薄弱,因此准备在第十四讲的时候再为大家介绍VI-ORBSLAM相关的内容。本讲主要关心 阅读全文
posted @ 2021-12-08 23:06 小C酱油兵 阅读(1498) 评论(0) 推荐(0) 编辑
摘要:本讲的文字内容主要用于描述图片,这张思维导图是我在阅读ORB-SLAM2源码时记录的,ORB-SLAM2系列的博客全部都是根据思维导图中的内容扩充的。可以说,这个思维导图就是我对ORB-SLAM2的大部分的理解。但因为个人能力有限,理解难免有所偏颇,望大家见谅。 这次,我就不私藏了。贡献给大家阅读。 阅读全文
posted @ 2019-09-28 12:11 小C酱油兵 阅读(4034) 评论(0) 推荐(3) 编辑
摘要:ORBSLAM2运行ROS节点障碍 ORBSLAM2提供了与ROS耦合的应用程序,放在单独的ROS文件夹中。同样的,它提供了与ROS无关联的同类型的应用程序。不过,为了方便,笔者主要测试了它在ROS下的应用程序,因为笔者的摄像头是用ROS提供的openni2来驱动的,所以可以利用相机主题直接为ORB 阅读全文
posted @ 2019-05-21 11:37 小C酱油兵 阅读(12582) 评论(1) 推荐(1) 编辑
摘要:ORBSLAM2特征点三角化简介 插入关键帧以后,我们还需要插入新的地图点。为了确保新插入的地图点是足够鲁棒的,进行严格的检查是必要的。ORBSLAM2在插入地图点的时候也十分仔细,上一讲我们提到了地图的更新策略,唯独三角化没有细讲,倒不是因为它不重要而不提,而是因为三言两语说不清楚,所以才需要单独 阅读全文
posted @ 2019-05-17 22:38 小C酱油兵 阅读(7264) 评论(4) 推荐(2) 编辑
摘要:ORBSLAM闭环简介 SLAM中闭环的目的,是将当前的相机位姿和场景与回环帧处的位姿和场景进行融合,从而消除累积误差,校正运动轨迹。那么达到这个目的的前提,是必须要检测到正确的回环。当然,这个要求在前面我们讲解回环检测的时候已经详细介绍过了,如果不能通过层层筛选,那么我们会选择不要闭环。但是,在检 阅读全文
posted @ 2019-05-15 16:26 小C酱油兵 阅读(2351) 评论(2) 推荐(0) 编辑
摘要:ORBSLAM2回环检测之几何验证简介 回环检测的目的是找到当前场景在历史中是否出现过,如果出现过,那会给我们提供一个非常强的约束条件,把我们偏离很多的轨迹一下子修正到正确的位置上。当然,这么好的东西,有利自然就有弊。万一我们检测出来的回环不是真正的回环,也就是说我们认错了地方,这种时候提供的回环约 阅读全文
posted @ 2019-05-07 12:13 小C酱油兵 阅读(3018) 评论(0) 推荐(1) 编辑
摘要:ORBSLAM2回环检测简介 由于回环检测模块包含两个部分的内容:其一是位置识别,即外观验证,通过图像间的相似度信息进行判断;其二是几何验证,通过回环候选帧与当前关键帧的几何关系来做进一步验证。 由于两部分内容都较为繁琐,因此笔者将回环检测模块拆分成两讲,今天这一讲主要介绍外观验证,下一讲则继续几何 阅读全文
posted @ 2019-05-05 12:11 小C酱油兵 阅读(2083) 评论(1) 推荐(0) 编辑
摘要:ORBSLAM2地图更新策略简介 地图的更新目标在于如何插入新的关键帧和地图点,同样,怎么剔除多余的关键帧和没用的地图点。 接下来,笔者会从下面几个方面来介绍地图的更新策略: 1. 统计当前关键帧的共视图关键帧,构建临时的局部地图; 2. 剔除当前关键帧中质量较差的地图点; 3. 局部地图重投影获取 阅读全文
posted @ 2019-04-29 20:48 小C酱油兵 阅读(2461) 评论(1) 推荐(0) 编辑
摘要:ORBSLAM2的关键帧简介 图像插入频率过高会导致信息冗余度快速增加,而这些冗余的信息对系统的精度却十分有限,甚至没有提高,反而消耗了更多的计算资源。这等于吃力不讨好。 关键帧的目的在于,适当地降低信息冗余度,减少计算机资源的损耗,保证系统的平稳运行。 ORBSLAM2也是沿袭PTAM的方案,将定 阅读全文
posted @ 2019-04-28 23:00 小C酱油兵 阅读(7136) 评论(2) 推荐(2) 编辑
摘要:ORBSLAM2的运动估计简介 ORBSLAM2中的运动估计核心方法就是3D-2D的PNP,而在跟踪过程主要分为三种类型: 上述三种方案,我们只介绍前两种,重定位由于需要用到回环检测,我们会在之后讲解。 PNP运动估计 在介绍ORBSLAM2的跟踪策略之前,我们先了解一下他所用的运动估计方法——PN 阅读全文
posted @ 2019-04-24 12:06 小C酱油兵 阅读(5581) 评论(7) 推荐(2) 编辑
摘要:ORBSLAM2匹配方法流程 在基于特征点的视觉SLAM系统中,特征匹配是数据关联最重要的方法。特征匹配为后端优化提供初值信息,也为前端提供较好的里程计信息,可见,若特征匹配出现问题,则整个视觉SLAM系统必然会崩掉。因此,本系列将特征匹配独立成一讲进行分析。 ORBSLAM2中的匹配流程如下所述: 阅读全文
posted @ 2019-04-17 22:08 小C酱油兵 阅读(2862) 评论(0) 推荐(2) 编辑
摘要:这一讲我们讲解了ORBSLAM2中,ORB的分块提取源码是如何实现的,并且分析了分块提取和原生态的ORB之间的对比;   另外,本文还将源码进行单独实现,提供了一个github的源码,给大家练手。 阅读全文
posted @ 2018-12-08 14:50 小C酱油兵 阅读(4126) 评论(0) 推荐(2) 编辑
摘要:ORBSLAM2中的ORB描述子应用以及其描述子的生成过程。 阅读全文
posted @ 2018-12-05 17:46 小C酱油兵 阅读(5756) 评论(0) 推荐(1) 编辑