基于模板匹配的位姿优化

本文探讨了在SmallBlurryImage::IteratePosRelToTarget方法中如何优化两帧图像之间的相对位姿,包括2D平面的旋转和平移,以及如何粗略估计3D相对位姿。通过SE3fromSE2方法,使用雅克比矩阵计算光度误差,以减弱光照强度变化的影响。最终,通过优化SE3位姿,实现更精确的3D位置估计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载请注明出处:https://blog.youkuaiyun.com/q_z_r_s/article/details/97620308

机器感知
一个专注于SLAM、三维重建、机器视觉等相关技术文章分享的公众号
公众号:机器感知

根据程序 SmallBlurryImage::IteratePosRelToTarget 记单个对应像素光度误差为:
在这里插入图片描述
其中,dMeanOffset也为待优化变量,即两个模板间的平均光度补偿,这样就可以在一定程度上减弱光照强度不一样的影响。
在这里插入图片描述
其中,待优化变量为[tx,ty,θ,dMeanOffset][t_x, t_y, \theta, dMeanOffset][tx,ty,θ,dMeanOffset] ,根据式(3)可求得雅克比矩阵如下:
在这里插入图片描述
故总的雅克比矩阵如下:
在这里插入图片描述
通过执行SmallBlurryImage::IteratePosRelToTarget 方法后,此时就可以获得两帧图像间在2D平面上的相对旋转和平移了,接下来就是使用这个得到的2D相对旋转和平移来粗略估计3D相对位姿,使用SmallBlurryImage::SE3fromSE2 ,该方法首先通过在参考帧模板上设置两个点,然后根据刚获得的SE2相对位姿投影到当前帧模板像素坐标系下,为了优化两帧模板间的SE3相对位姿,同时将参考帧上刚刚的两点转换到归一化平面上,然后使用待优化的SE3位姿都应到当前帧像素坐标系下,由此可构成这两个投影的残差,从而优化SE3位姿,投影残差定义如下:
在这里插入图片描述
其中,使用SE3进行投影的公式如下:
在这里插入图片描述

这里需要注意的是,该方法认为这两帧模板是没有平移的!使用SE2进行投影的公式如下:在这里插入图片描述
由此可计算式 关于SE3的雅克比矩阵:
在这里插入图片描述
其中,第一个因式由ATANCamera::GetProjectionDerivs给出,后两个因式在本函数中计算得到,因为通过SE3在当前帧相机坐标系下的投影坐标[x,y,z]T[x,y,z]^T[x,y,z]T会随着不断优化的SE3而变化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值