ORB-SLAM中的重定位解读及追踪

我们以ORBSLAM中的重定位举例,来分析重定位的过程。当跟踪失败的时候,系统会启动重定位。 找出一些候选关键帧,对每个候选关键帧,用ransac和EPNP估计位姿,然后更新当前帧的地图点匹配,然后优化位姿,如果内点较少,则通过投影的方式对之前未匹配的点进行匹配,再进行优化求解,直到有足够的内点支持,重定位完成。   

 

 

下面简要梳理重定位的过程—— 

  • 用关键帧库的DetectRelocalizationCandidates函数找到当前帧对应的候选关键帧 
  • 对每个候选关键帧,用SearchByBow匹配当前帧和该关键帧(即更新当前帧特征点对应的地图点,更新mvMapPoints列表), 用当前帧和当前帧的特征匹配关系来初始化PnPSolver
  • 对每个候选关键,用EPNP估计位姿
    • 如果估计成功,用估计所得的内点更新当前帧的特征匹配
    • 调用PoseOptimization,优化当前帧的位姿  
    • 优化后,剔除特征匹配的外点(即去除误匹配的地图点)
    • 如果优化后的内点过少,用SearchByProjection对未匹配的特征点匹配当前帧与关键帧 
    • 所有的匹配点(内点加新增的匹配点)大于50,调用PoseOptimization 
    • 若优化后,新的内点数还是较少(30~50),用更小的窗口再次调用SearchByProjection 
    • 所有的匹配点数大于50,调用PoseOptimization(最后一次优化),并剔除外点 
    • 如优化后的内点大于50,中断,重定位成功,当前帧的ID就是最近一次的重定位ID帧   

下面的几张图来自网上,不可全信,但可参考,真相还是要看ORBSLAM的源码—— 


在T

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值