0
点赞
收藏
分享

微信扫一扫

vSLAM学习笔记——最小化重投影误差求解PnP

kmoon_b426 2022-01-07 阅读 53

BA的定义

通常称把相机和三维点放在一起进行最小化的问题为Bundle Adjustment。

重投影误差关于相机位姿李代数的一阶变化关系

∂ e ∂ δ ξ = lim ⁡ δ ξ → 0 e ( δ ξ ⨁ ξ ) − e ( ξ ) δ ξ = ∂ e ∂ P ′ ∂ P ′ ∂ δ ξ = − [ f x Z ′ 0 − f x X ′ Z ′ 2 − f x X ′ Y ′ Z ′ 2 f x + f x X ′ 2 Z ′ 2 − f x Y ′ Z ′ 0 f y Z ′ − f y Y ′ Z ′ 2 − f y − f y Y ′ 2 Z ′ 2 f y X ′ Y ′ Z ′ 2 f y X ′ Z ′ ] \frac{\partial e}{\partial \delta \xi}=\lim_{\delta\xi\to0}\frac{e(\delta\xi\bigoplus\xi)-e(\xi)}{\delta\xi}=\frac{\partial e}{\partial P'}\frac{\partial P'}{\partial \delta\xi}=-\begin{bmatrix}\frac{f_x}{Z'}&0&-\frac{f_xX'}{Z'^2}&-\frac{f_xX'Y'}{Z'^2}&f_x+\frac{f_xX'^2}{Z'^2}&-\frac{f_xY'}{Z'}\\\\0&\frac{f_y}{Z'}&-\frac{f_yY'}{Z'^2}&-f_y-\frac{f_yY'^2}{Z'^2}&\frac{f_yX'Y'}{Z'^2}&\frac{f_yX'}{Z'}\end{bmatrix} δξe=δξ0limδξe(δξξ)e(ξ)=PeδξP=Zfx00ZfyZ2fxXZ2fyYZ2fxXYfyZ2fyY2fx+Z2fxX2Z2fyXYZfxYZfyX
这里保留了前面的负号,因为误差是由观测值减预测值定义的。也可以反过来,将其定义成“预测值减观测值”的形式,只需要去掉前面的负号即可。此外,如果 s e ( 3 ) se(3) se(3)的定义方式是旋转在前,平移在后,则只要把这个矩阵的前 3 3 3列与后 3 3 3列对调即可。

重投影误差关于空间点P的导数

∂ e ∂ P = ∂ e ∂ P ′ ∂ P ′ ∂ P = − [ f x Z ′ 0 − f x X ′ Z ′ 2 0 f y Z ′ − f y Y ′ Z ′ 2 ] R \frac{\partial e}{\partial P}=\frac{\partial e}{\partial P'}\frac{\partial P'}{\partial P}=-\begin{bmatrix}\frac{f_x}{Z'}&0&-\frac{f_xX'}{Z'^2}\\\\0&\frac{f_y}{Z'}&-\frac{f_yY'}{Z'^2}\end{bmatrix}R Pe=PePP=Zfx00ZfyZ2fxXZ2fyYR

举报

相关推荐

0 条评论