原文:ORB-SLAM(九)LocalMapping

LocalMapping作用是将Tracking中送来的关键帧放在mlNewKeyFrame列表中 处理新关键帧,地图点检查剔除,生成新地图点,Local BA,关键帧剔除。主要工作在于维护局部地图,也就是SLAM中的Mapping。 . 处理新关键帧:ProcessNewKeyFrame 做了三件事: a. 计算当前关键帧Bow,便于后面三角化恢复新地图点 b. 将TrackLocalMap中 ...

2017-02-23 19:43 2 2829 推荐指数:

查看详情

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(四)追踪

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

Fri Apr 08 22:18:00 CST 2016 4 20955
ORB-SLAM(六)回环检测

上一篇提到,无论在单目、双目还是RGBD中,追踪得到的位姿都是有误差的。随着路径的不断延伸,前面帧的误差会一直传递到后面去,导致最后一帧的位姿在世界坐标系里的误差有可能非常大。除了利用优化方法在局部和 ...

Sun Jul 03 23:27:00 CST 2016 1 17870
ORB-SLAM(五)KeyFrame类

KeyFrame类利用Frame类来构造。对于什么样的Frame可以认为是关键帧以及何时需要加入关键帧,是实现在tracking模块中的。 由于KeyFrame中一部分数据会被多个线程访问修改,因此 ...

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

ORB-SLAM中除了第三方库,基本没有看到使用c++11的新特性(例如别的SLAM框架中常用的智能指针,拷贝控制,泛型算法等,基本没有使用动态内存,栈内存读取速度较快),因此非常适合初学,代码很清晰。静下心来一个月之内是肯定可以看完的,目前的想法是在看完ORB之后,对其中的典型算法再做一个总结 ...

Fri Feb 10 23:14:00 CST 2017 3 2041
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM