关键帧是目前是一种非常常用的方法,可以减少待优化的帧数,并且可以代表其附近的帧,关键帧相当于slam的骨架,是在局部一系列普通帧中选出一帧作为局部帧的代表,记录局部信息。如果摄像头放在原处不动,普通帧还是要记录的,但关键帧因为总看到原场景,所以不会增加。
可以简单理解为方阵里有10行10列,每一行的第一个人就是一个关键帧,他可以代表他所在一行的人的特征。但实际上并不是每一行第一个人,这就涉及到关键帧的选取策略了。
本人结合源码及网上其他大佬的文章总结如下:
1.可直接插入的判断
2.三个不插入关键帧的判定(判定成功,直接返回false,不插入关键帧)
理由:定位模式是只定位不建图,只利用已有的地图点对当前相机姿态进行估计,而不更新地图点,因此没有插入关键帧的必要。
理由:局部地图被占用,插入关键帧会影响全局闭环的优化。
理由: 关键帧数量够多且刚