MSCKF的理解之附录再议(即特征点三角化)

关于特征点三角化
原文中一点不讲良心,这篇文章非常良心
https://zhuanlan.zhihu.com/p/103694374

1.点到射线距离平方和最优的方法
每个相机的射线方程(3D): x ^ = t C i w + k C i w R n ^ \hat{x}=t^w_{C_i}+k^w_{C_i}R\hat{n} x^=tCiw+kCiwRn^
其中 n ^ = ( u , v , 1 ) / ( u 2 + v 2 + 1 ) \hat{n}=(u,v,1)/\sqrt{(u^2+v^2+1)} n^=(u,v,1)/(u2+v2+1) 是该相机坐标系( C i C_i Ci)下的射线的单位向量, t C i w t^w_{C_i} tCiw是相机在世界坐标系下的位置。世界点P到该射线的垂直距离是: 2 ( P − t C i w ) × C i w R n ^ 2(P-t^w_{C_i})\times ^w_{C_i}R\hat{n} 2(PtCiw)×CiwRn^
综合各个相机的情况,目标函数是:
e = Σ ∣ ( P − t C i w ) × C i w R n ^ ∣ 2 e=\Sigma |(P-t^w_{C_i})\times ^w_{C_i}R\hat{n}|^2 e=Σ(PtCiw)×CiwRn^2
这个目标函数里面是关于X,Y,Z的二次型,可以很轻松得出e最小的时候的P的值。
e = Σ ( ( P − t ) × n ^ ) 2 = ∣ [ ( Y − t 2 ) n 3 − ( Z − t 3 ) n 2 ( Z − t 3 ) n 1 − ( X − t 1 ) n 3 ( X − t 1 ) n 2 − ( Y − t 2 ) n 1 ] ∣ 2 e=\Sigma ((P-t)\times \hat{n})^2=|\begin{bmatrix}(Y-t2)n3-(Z-t3)n2\\(Z-t3)n1-(X-t1)n3\\(X-t1)n2-(Y-t2)n1\end{bmatrix}|^2 e=Σ((Pt)×n^)2=(Yt2)n3(Zt3)n2(Zt3)n1(Xt1)n3(Xt1)n2(Yt2)n12

∂ e ∂ X = Σ − ( ( Z − t 3 ) n 1 − ( X − t 1 ) n 3 ) n 3 + ( ( X − t 1 ) n 2 − ( Y − t 2 ) n 1 ) n 2 \frac{\partial e}{\partial X}=\Sigma-((Z-t3)n1-(X-t1)n3)n3+((X-t1)n2-(Y-t2)n1)n2 Xe=Σ((Zt3)n1(Xt1)n3)n3+((Xt1)n2(Yt2)n1)n2

这是关于X,Y,Z的线性方程组,很容易求得X,Y,Z

2.《多视几何》的直接线性变换法

你可能感兴趣的:(slam理解,几何学,线性代数,计算机视觉)