orbSLAM2 之 追踪局部地图

orbSLAM2 之 追踪局部地图

简介:

通过当前帧(mCurrentFrame)与当前帧的局部地图匹配,优化当前帧的位姿
注意:计算的位姿是当前帧相对于世界坐标系的Tcw。

流程:

1,更新局部地图。函数UpdateLocalMap()

	1,全局地图(Tracking::mpMap)的mvpReferenceMapPoints保存上一可以追踪局部地图的帧的局部地图地图点,用于可视化
	2,更新当前帧局部地图中的局部关键帧(mvpLocalKeyFrames)。
	   局部关键帧包括:共视关键帧、共视关键帧的最多80个 {共视关键帧、子帧、父帧}。
	   函数UpdateLocalKeyFrames()
	3,更新局部地图点(mvpLocalMapPoints),局部关键帧匹配的所有地图点构成局部地图点
	   函数UpdateLocalPoints();

2,匹配局部地图点与当前帧特征。函数SearchLocalPoints()。

	1,根据投影的几何关系筛选出局部地图点中可以匹配的地图点。函数mCurrentFrame.isInFrustum(pMP,0.5)。
	2,根据地图点在当前帧的投影点的位置,为每个地图点确定一组候选特征点。
	   在每一组候选特征点中确定与相应地图点的最佳匹配特征点。
	   函数ORBmatcher::SearchByProjection()

3,g2o优化位姿(3d-2d)。
函数Optimizer::PoseOptimization(&mCurrentFrame)。

4,在当前帧的mvpMapPoints中滤除优化外点。

5,更新相应地图点的mnFound信息。

6,根据优化内点数判断追踪是否成功。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值