ORB-SLAM(二)性能

ORB-SLAM程序提供了运行Monocular、Stereo和RGBD数据的程序。编译成功后,可以通过运行TUM的标准数据来验证程序是否成功。如果想自己测试一些数据,可以通过OpenCV提供的接口调起电脑的摄像头。

个人认为,ORB-SLAM是一个完整的单目SLAM实现,集合了当前流行的SLAM特性。作者的程序非常工程化,其中有诸多精度与运算量的权衡。具体总结如下。

ORB-SLAM的优点:

  1. Tracking的平均时间约为20ms每帧,基本可以达到实时追踪(i5-5200,2.2GHz)。
  2. 丢帧以后回到原来的场景,很容易就可以找回来。
  3. 定位的稳定性较好,姿态流畅,没有跳变。
  4. 在简单背景下,可以有效地追踪目标物体。

ORB-SLAM的缺点:

  1. 旋转时比较容易丢帧,特别是pure rotation。
  2. 地图中的点云很稀疏,完全不能看出任何结构。
  3. 加载地图需要一定时间(10秒左右,通过二进制词典可以加速,DBoW2的作者似乎是为了兼容性放弃了二进制)。
  4. 初始化时最好保持低速运动,对准特征和几何纹理丰富的物体。
  5. 作者为了增强系统的鲁棒性,在很多地方采用了多重判断,引入了N多参数。不同场景下的应用可能需要花一些时间理解和调整这些参数。

简言之,对于地图密度要求不高的定位和追踪问题,ORB-SLAM是个不错的选择。

该系列的其它文章:

ORB-SLAM(一)简介

ORB-SLAM(三)初始化

ORB-SLAM(四)追踪

ORB-SLAM(五)优化

ORB-SLAM(六)回环检测

上一篇:Android(java)学习笔记35:如何改变Spinner系统自带的字体和颜色


下一篇:hihoCoder编程练习赛49