ORBSLAM2的关键帧简介
图像插入频率过高会导致信息冗余度快速增加,而这些冗余的信息对系统的精度却十分有限,甚至没有提高,反而消耗了更多的计算资源。这等于吃力不讨好。
关键帧的目的在于,适当地降低信息冗余度,减少计算机资源的损耗,保证系统的平稳运行。
ORBSLAM2也是沿袭PTAM的方案,将定位和建图分成两个线程,不过ORBSLAM2还增加了回环这个线程,在关键帧的问题上做了更灵活的处理,使得系统的跟踪更流畅和稳定。
接下来我们将按照ORBSLAM2源码中的方案将内容分成两个部分进行介绍:
1. 关键帧的筛选;
2. 关键帧的插入。
关键帧的筛选:
由于关键帧的筛选主要涉及一些判断条件,没有公式没有插图,读起来想必是十分枯燥的。因此笔者主要提炼大纲,让大家能够比较直观的看出,ORBSLAM2中所用的策略是什么,并根据笔者的拙见对原因进行分析,不当之处,敬请指正。
首先是直接不插入关键帧的条件,主要有三个:
1. 若当前处于定位模式,不插入关键帧;
原因:定位模式是只定位不建图,只利用已有的地图点对当前相机姿态进行估计,而不更新地图点,因此没有插入关键帧的必要。
2. 若局部地图处于全局闭环