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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值