ORBSLAM2理论与实战(8) ORBSLAM2整体框架(上)

28 篇文章 8 订阅

1.简介:

     ORB-SLAM是由Raul Mur-Artal,J. M. M. Montiel和Juan D. Tardos于2015年发表在IEEE Transactions on Robotics。 
  (1)项目主页网址为:ORB-SLAM; 
  (2)论文地址为:ORB-SLAM: A Versatile and Accurate Monocular SLAM System. ; 
  (3)ORB-SLAM项目源码采用C++编写,运用到了OpenCV库,DBow库,g2o库,Eigen库,其中,ORB-SLAM2中还会用到Pangolin库,地址如下ORB-SLAM(说明:单目方案,ROS下的代码)github地址为https://github.com/raulmur/ORB_SLAM

      ORB-SLAM2是ORB-SLAM的改进版本,它与ORB-SLAM的区别主要在(https://www.zhihu.com/question/49030315
- (a) 它提供了立体相机与RGBD相机的接口; 
- (b) 摆脱了对ROS的依赖; 
- (c) 显示模块改用了Pangolin; 
- (d) ORB-SLAM中做特征匹配时, 对特征尺度的计算方式貌似有误,在ORB-SLAM2的代码中进行了修正。

      论文链接为https://128.84.21.199/pdf/1610.06475.pdf

      源码github地址为https://github.com/raulmur/ORB_SLAM2

      ORB-SLAM是一个基于特征点的实时单目SLAM系统,在大规模的、小规模的、室内室外的环境都可以运行。该系统对剧烈运动也很鲁棒,支持宽基线的闭环检测和重定位,包括全自动初始化。该系统包含了所有SLAM系统共有的模块:
 跟踪(Tracking)、建图(Mapping)、重定位(Relocalization)、闭环检测(Loop closing)。ORB-SLAM2在ORB-SLAM的基础上,还支持标定后的双目相机和RGB-D相机。


2.框架介绍(借用sylvester0510大神总结的)

 

  可以看到ORB-SLAM2主要分为三个线程进行,分别是Tracking、LocalMapping和LoopClosing。三个线程分别存放在对应的三个文件中,分别是Tracking.cpp、LocalMapping.cpp和LoopClosing.cpp文件。 

(1)跟踪(Tracking) 
  这一部分主要工作是从图像中提取ORB特征,根据上一帧进行姿态估计,或者进行通过全局重定位初始化位姿,然后跟踪已经重建的局部地图,优化位姿,再根据一些规则确定新的关键帧。

(2)建图(LocalMapping) 
  这一部分主要完成局部地图构建。包括对关键帧的插入,验证最近生成的地图点并进行筛选,然后生成新的地图点,使用局部捆集调整(Local BA),最后再对插入的关键帧进行筛选,去除多余的关键帧。

(3)闭环检测(LoopClosing) 
  这一部分主要分为两个过程,分别是闭环探测和闭环校正。闭环检测先使用WOB进行探测,然后通过Sim3算法计算相似变换。闭环校正,主要是闭环融合和Essential Graph的图优化。

系统简述为       
           è¿éåå¾çæè¿°

 参考:

1.https://blog.csdn.net/o_ha_yo_yepeng/article/details/80031395

2.https://blog.csdn.net/u010128736/article/details/53157605

3.https://www.zhihu.com/question/49030315

4.ORBSLAM:http://webdiis.unizar.es/~raulmur/MurMontielTardosTRO15.pdf

5.ORBSLAM2:https://128.84.21.199/pdf/1610.06475.pdf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值