原文:ORB-SLAM(五)KeyFrameDataBase类

关键帧数据库通过预先训练好的词典,维护一个向量std::vector lt list lt KeyFrame gt gt mvInvertedFile 该向量中mvInvertedFile i 表示包含了第i个WordId的所有关键帧 我们需要知道关键帧对应的vBowVec向量是一个map: 该类的主要作用是在回环检测和重定位中,根据词袋模型的特征匹配度,找到闭环候选帧和重定位候选帧,两者之间的区 ...

2017-02-20 20:01 1 1506 推荐指数:

查看详情

ORB-SLAM(五)KeyFrame

KeyFrame利用Frame来构造。对于什么样的Frame可以认为是关键帧以及何时需要加入关键帧,是实现在tracking模块中的。 由于KeyFrame中一部分数据会被多个线程访问修改,因此需要在这些成员中加线程锁,保证同一时间只有一个线程有访问权。涉及线程安全的有: 关键帧位姿的设置 ...

Fri Feb 17 01:03:00 CST 2017 1 4067
ORB-SLAM 代码笔记(五)Frame

Frame的成员变量主要包含从摄像头获取的图像的 1. 特征点信息(关键点+描述字) 2. 尺寸不变特征所用金字塔信息,这些都定义在ORBextractor对象中 3. 词袋模型参数,用于跟踪失败情况下重定位 4. 相机参数,深度阈值 5. 当前帧的id,时间戳,相对世界坐标系位姿 ...

Thu Feb 16 00:43:00 CST 2017 1 3230
ORB-SLAM(二)性能

ORB-SLAM程序提供了运行Monocular、Stereo和RGBD数据的程序。编译成功后,可以通过运行TUM的标准数据来验证程序是否成功。如果想自己测试一些数据,可以通过OpenCV提供的接口调起电脑的摄像头。 个人认为,ORB-SLAM是一个完整的单目SLAM实现,集合了当前流行 ...

Fri Mar 04 05:34:00 CST 2016 1 13358
ORB-SLAM(一)简介

ORB主要借鉴了PTAM的思想,借鉴的工作主要有Rubble的ORB特征点;DBow2的place recognition用于闭环检测;Strasdat的闭环矫正和covisibility graph思想;以及Kuemmerle和Grisetti的g2o用于优化。 首先需要了解ORB-SLAM ...

Thu Feb 09 00:10:00 CST 2017 0 1444
ORB-SLAM(一)简介

ORB-SLAM是一种基于ORB特征的三维定位与地图构建算法(SLAM)[1]。该算法由Raul Mur-Artal,J. M. M. Montiel和Juan D. Tardos于2015年发表在IEEE Transactions on Robotics。ORB-SLAM基于PTAM架构,增加了 ...

Thu Feb 25 05:03:00 CST 2016 10 29938
ORB-SLAM(五)优化

ORB-SLAM作为单目SLAM,其精度很大程度上决定于帧与帧之间的位姿优化的是否准确。因此优化(optimization)在ORB-SLAM里面扮演了很重要的角色。这一小节探讨一下ORB-SLAM里用到的优化。 ORB-SLAM选用g2o作为图优化的方法,关于g2o可以参考http ...

Mon May 30 06:44:00 CST 2016 9 17765
ORB-SLAM(九)LocalMapping

  LocalMapping作用是将Tracking中送来的关键帧放在mlNewKeyFrame列表中;处理新关键帧,地图点检查剔除,生成新地图点,Local BA,关键帧剔除。主要工作在于维护局部地图,也就是SLAM中的Mapping。 1. 处理新关键帧:ProcessNewKeyFrame ...

Fri Feb 24 03:43:00 CST 2017 2 2829
ORB-SLAM(四)追踪

最近在读ORB-SLAM的代码,虽然代码注释算比较多了,但各种类和变量互相引用,看起来有点痛苦。索性总结了一下Tracking部分的代码结构,希望能抓住主要思路,不掉坑里。 作者的程序分为两种模式:SLAM模式和Localization模式。SLAM模式中,三个线程全部都在工作,即在定位也在建图 ...

Fri Apr 08 22:18:00 CST 2016 4 20955
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM