随笔分类 -  ORB-SLAM

摘要:基于ORB-SLAM2的图片识别,其功能是首先运行ORB-SLAM2,在运行过程中调起另一个线程进行图像识别,识别成功后在图片上渲染AR中的立方体模型。 识别过程主要基于ORB-SLAM2中的BoW算法,同样使用DBoW2库和ORB特征以及词汇树视觉词典。其主要流程可以概括为:运行ORB-SLAM2 阅读全文
posted @ 2017-09-27 10:35 达达MFZ 阅读(1932) 评论(0) 推荐(0) 编辑
摘要:补充SystemSetting和InitKeyFrame两个类的代码。实际上,由于是通过SystemSetting来读取的相机内参以及ORB特征参数,所以就可以将Tracking.cc中关于读取内参的部分替换掉了。 1. SystemSetting.h 2. SystemSetting.cc 3. 阅读全文
posted @ 2017-06-14 10:52 达达MFZ 阅读(4335) 评论(8) 推荐(0) 编辑
摘要:一、前面说了ORB-SLAM地图的保存部分,继续说地图如何加载,因为加载部分相比保存要稍微复杂一些,所以要多说一点。 二、ORB-SLAM2地图加载构成 首先同样是在头文件中声明加载函数,包含地图点和关键帧类的加载。 下面先是加载主函数Load的构成,关于SystemSetting类后面再说: 其过 阅读全文
posted @ 2017-06-10 21:24 达达MFZ 阅读(7950) 评论(6) 推荐(2) 编辑
摘要:一、简介 在ORB-SLAM2的System.h文件中,有这样一句话:// TODO: Save/Load functions,让读者自己实现地图的保存与加载功能。其实在应用过程中很多场合同样需要先保存当前场景的地图,然后下次启动时直接进行跟踪,这样避免了初始化和建图,减小相机跟踪过程中计算机负载, 阅读全文
posted @ 2017-06-09 16:21 达达MFZ 阅读(14737) 评论(6) 推荐(6) 编辑
摘要:一、局部地图构建简介 为什么叫“局部”地图构建,我的理解是这个线程的主要任务是像地图中插入关键帧(包括地图点等信息),以及需要进行LocalBA优化一个局部地图,这是相对于回环检测时进行的全局优化来说的,所以称为局部地图构建。而局部地图构建的主要任务就是上面说的,等待跟踪过程判断是否应该插入一个新的 阅读全文
posted @ 2017-06-02 12:26 达达MFZ 阅读(5941) 评论(0) 推荐(0) 编辑
摘要:今天主要是分析一下Tracking.cpp这个文件,它是实现跟踪过程的主要文件,这里主要针对单目,并且只是截取了部分代码片段。 一、跟踪过程分析 它完成了对一帧的初始化,并转入Track过程: (2)接下来也是判断,这里是同时跟踪和建图的跟踪过程,其实只有跟踪的时候也很有意思: (3)到这里三种跟踪 阅读全文
posted @ 2017-05-25 16:24 达达MFZ 阅读(4408) 评论(0) 推荐(2) 编辑
摘要:今天主要是梳理一下ORB-SLAM2源码的逻辑关系,GitHub和泡泡机器人上有很好的注释版本(吴博),大神请(轻)板砖。 一、文件 如图所示,Examples里面存放的分别是基于单目、双目、RGBD的实例程序,一般都是基于TUM等数据库,还有一个ROS版本的ORB-SLAM2,以及一个应用与AR的 阅读全文
posted @ 2017-05-16 20:43 达达MFZ 阅读(7958) 评论(0) 推荐(0) 编辑
摘要:一、跟踪模块简介 在ORB-SLAM或其他SLAM系统中,跟踪的主要任务是根据相机或视频输入的图像帧实时输出相机位姿。在ORB-SLAM中,跟踪模块的主要任务是实时输出相机位姿和筛选关键帧,完成一个没有经过优化或者说全局优化的视觉里程计。通常根据相机的不同采用的方法也不相同,如单目除了需要进行初始化 阅读全文
posted @ 2017-05-10 20:32 达达MFZ 阅读(3809) 评论(0) 推荐(4) 编辑
摘要:一、ORB-SLAM简介 最近开始入坑SLAM,经过简单调研,各位大咖认为,目前最优秀的视觉SLAM系统是ORB-SLAM2,因此对ORB-SLAM2进行了学习。 ORB-SLAM2是2015年提出的支持单目、双目、RGB-D相机三种工作模式的SLAM系统。整个系统基于ORB特征实现,包含了跟踪定位 阅读全文
posted @ 2017-05-09 21:24 达达MFZ 阅读(3020) 评论(0) 推荐(2) 编辑