计算机视觉大型攻略 —— SLAM(4) ORB SLAM2(一)系统架构

之前写过视觉SLAM的基本算法和模块。这次看一个例子。

ORB SLAM是一套完整的基于特征的图优化单目SLAM系统,实现了地图创建,重用,定位,回环检测和重定位功能,性能也很优秀,后端上采用了BA的方式,精度也很高。后续推出的ORB SLAM2是他的改进版本,增加了对双目,RGB-D相机的支持以及一些算法上的改进。

开源代码:https://github.com/raulmur/ORB_SLAM2.git

传送门:视觉SLAM

参考文献:
[1] ORB-SLAM: a Versatile and Accurate Monocular SLAM System
[2] ORB-SLAM2: an Open-Source SLAM System for Monocular, Stereo and RGB-D Cameras
[3] Double Window Optimization for Constant Time Visual SLAM
[4] Bags of Binary Words for Fast Place Recognition in Image Sequences
[5]ORB: an efficient alternative to SIFT or SURF

系统架构

论文[2]中给出了算法框架图。

工作线程

系统分为三个线程(上图红色实线框)。

  • 跟踪线程(Tracking)。通过检测特征匹配和最小化投影误差(motion-only BA)来定位相机,并决定何时插入keyframe。
  • 局部地图线程(Local Mapping)。使用局部BA(Local BA)管理和优化局部地图。
  • 回环线程(Loop closing)检测闭环,采用Pose-Graph算法优化累积误差。之后创建第四个线程执行全局BA,获取系统最优结构和位姿。

地图

系统框架图蓝色实线框内表示地图。下图为论文[1]中对Keyframe, Covisibility Graph, Essential Graph, spin tree, loop closure的图示。

 

Map point p_{i} 

地图上的点,包括

  • 世界坐标系下的3D坐标X_{w,i}
  • 观测方向n_{i}
  • ORB描述符D_{i}
  • 特征最远和最近观测距离d_{max}d_{min}(ORB scale)

keyframe K_{i}

  • 相机位姿T_{iw}(刚体运动变化,由旋转平移组成)
  • 相机内参,包括焦距,pricipal point
  • 当前帧的ORB特征。

Covisibility Map

无向权重图,

  • 节点是Keyframe。
  • 如果两个keyframe观测到相同的map points(至少15个),创建一条边。共同观测到的点的个数作为边的权重。

Essential Graph,

Covisibility graph的子集,

  • 保留所有Keyframe节点,使用最小生成树(Minimum Spanning tree)维护。
  • 高权重边。
  • loop closure边。

Place Recognition (位置识别)

系统框架图中绿色实线框。位置识别采用基于词袋的算法。

下图为BoW算法示意图。之前在视觉SLAM一文中有所涉及。

Visual Vocabulary(视觉词典)

  • 提取大量图片的ORB Feature,采用Kmeans算法聚类,产生单词。
  • 为Keyframe计算每个单词出现的频率。

RecognitionDatabase

  • 增量创建的数据库,存储了Keyframe的单词频率的信息。
  • Visual Vocabulary(视觉词典)。由ORB Feature生成。

后续文章详细说明三个工作线程。

跟踪线程:https://blog.csdn.net/plateros/article/details/103603796

Local Mapping线程:https://blog.csdn.net/plateros/article/details/103610359

Loop closing线程: https://blog.csdn.net/plateros/article/details/103613139

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值