orbSLAM2 之 运动模型追踪

orbSLAM2 之 运动模型追踪

简介:

通过上一帧(Tracking::mLastFrame)观测的地图点和当前帧特征的匹配,计算当前帧的位姿
注意:计算的位姿是当前帧相对于世界坐标系的Tcw。

流程:

1,通过UpdateLastFrame()函数重新设置mLastFrame的Tcw为T(mLastFrame->参考关键帧)*T(参考关键帧->世界坐标系)。

	问题:T(mLastFrame->参考关键帧)原本就是通过mLastFrame的Tcw和
				  T(参考关键帧->世界坐标系)计算的,那么这一步有什么意义呢?
	本人将此步骤去掉后,在Euroc_MH_05_difficult数据集上ape、rpe均有提高。

2,将当前帧的位姿初始化为 [上一帧的位姿速度]与[上一帧位姿]的乘积mVelocity*mLastFrame.mTcw。

	其中 [上一帧的位姿速度]mVelocity是T(上一帧->上上帧),本质上是
	连续两帧的位姿增量,因此当前帧的位姿初始化为[上一帧]"加上"位
	姿增量。

3,匹配上一帧观测的地图点和当前帧的特征。
通过将上一帧观测到的特征点投影到当前帧,寻找投影点附近的特征点,然后进行描述子匹配。函数ORBmatcher::SearchByProjection()

步骤4567与追踪参考关键帧相同

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

5,在当前帧匹配的地图点(mCurrentFrame.mvpMapPoints)中去除其中在优化中被视为外点的地图点。

6,被视为优化外点的当前帧匹配的地图点的mbTrackInView设置为false,该地图点的mnLastFrameSeen设置为当前帧id

7,根据优化中的内点数量判断追踪是否成功

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值