SLAM中的BA优化

SLAM中的BA优化

SLAM中的BA优化,先根据相机模型和A,B图像特征匹配好的像素坐标,求出A图像上的像素坐标对应的归一化的空间点坐标,然后根据该空间点的坐标计算重投影到B图像上的像素坐标,重投影的像素坐标(估计值)与匹配好的B图像上的像素坐标(测量值),不会完全重合,BA的目的就是每一个匹配好的特征点建立方程,然后联立,形成超定方程,解出最优的位姿矩阵或空间点坐标(两者可以同时优化)。

根据相机模型求出空间点坐标

​ 相机模型–像素坐标与空间点坐标的对应关系

​ 相机使用前先进行相机标定得到相机的内参K,通过特征点匹配可以得到,特征点的像素坐标,根据上述模型就可以得到像素像素点对应的归一化后的空间坐标,即:
X / Z = X = ( u c x ) / f x X/Z=X=(u-cx)/fx X/Z=X=(ucx)/fx

Y / Z = Y = ( v c y ) / f y Y/Z=Y=(v-cy)/fy Y/Z=Y=(vcy)/fy

Z = 1 Z=1 Z=1

​ 为什么是归一化后的空间坐标,由上面的公司可以看出,Z=1,所以是归一化后的坐标。

​ 若相机为深度相机可以得到深度信息
X = Z ( u c x ) / f x X=Z*(u-cx)/fx X=Z(ucx)/fx

Y = Z ( v c y ) / f y Y=Z*(v-cy)/fy Y=Z(vcy)/fy

Z = d e p t h / s Z=depth/s Z=depth/s

depth为与之对应的深度值,s为深度值与实际距离的转换参数。

PnP中的BA优化

PnP是求解3D点到2D点的运动方法,它描述的是在已知n个3D点的空间坐标以及他们的投影位置时,如何估计相机的位姿。特征点的3D位置可以由三角化或者RGB-D相机的深度图确定

当相机移动后,相机模型变为

T=(R|t)用李代数的形式表示,则


注意:exp(.)Pi结果为[4X1],而K为[3X3],为了保证维数相同,取exp(.)Pi的前三维,变成三维的非其次坐标

则整体的优化方程为:

​ 很方便地通过 G-N, L-M 等优化算法进行求解。不过,在使用 G-N 和 L-M 之前,我们需
要知道每个误差项关于优化变量的导数,也就是线性化:

由前面的内容可知
u = f x X / Z + c x u=fx*X'/Z'+cx u=fxX/Z+cx

v = f y Y / Z + c y v=fy*Y'/Z'+cy v=fyY/Z+cy

然后就是求出误差对位姿的雅克比和误差对空间点的雅克比,具体求导参考《视觉SLAM14讲》P166-P167.

全部评论

相关推荐

面试摇了我吧:啊哈哈面试提前五个小时发,点击不能参加就是放弃
点赞 评论 收藏
分享
09-27 10:54
重庆大学 C++
人已微死:致敬传奇耐测王。
投递小米集团等公司10个岗位
点赞 评论 收藏
分享
3 6 评论
分享
牛客网
牛客企业服务