ORB-SLAM之Relocalization,SLAM重定位流程

Relocalization:
1、首先计算当前帧的BOW

2、挑选候选关键帧:
(1)、先挑选出和当前帧共享了词节点的所有关键(哪怕只共享了一个)
(2)、计算出一个关键帧共享词节点最大的数量,然后将共享词节点最小阈值设置为最大数量的0.8,筛掉不满足数量的关键帧
(3)、计算剩下关键帧和当前帧的BOW相似性得分
(4)、返回所有满足最高得分的0.75的关键帧

3、逐个比较当前帧和关键帧SearchByBoW进行匹配,成功的个数小于15的筛掉:
匹配特征点(在同一个词节点上进行匹配),当最好的距离和次优距离满足一定关系匹配成功。
检测方向,当匹配上时,统计处于三个主方向且匹配成功的个数

4、通过前面得到的匹配关系,用pnp优化估计一个当前帧的RT
再与每个符合条件的关键帧进行SearchByProjection(Frame &CurrentFrame, KeyFrame *pKF, const set &sAlreadyFound, const float th , const int ORBdist);

计算满足条件的扩充的匹配点个数进行筛选关键帧。当匹配个数满足时则重定位成功

最后判断是否满足以上条件,决定是否重定位成功


你可能感兴趣的:(SLAM,其他资料)