一、三角化公式
在VSLAM中,我们可以通过对极几何、PnP等方法估计相机运动,之后我们需要利用相机运动估计特征点的空间位置。在单目SLAM中,仅通过单张图像无法获得像素的深度信息,我们常用三角化(三角测量)的方法估计地图点的3D坐标。
如图所示,世界坐标系中的点 P j P_{j} Pj,在 k k k时刻的图像上投影,得到像素点 p j , k p_{j,k} pj,k,设 P j P_{j} Pj的坐标为 [ X w Y w Z w 1 ] T \begin{bmatrix}X_{w} &Y_{w} &Z_{w} &1\end{bmatrix}^{T} [XwYwZw1]T, p j , k p_{j,k} pj,k的坐标为 [ u v 1 ] T \begin{bmatrix}u &v &1\end{bmatrix}^{T} [uv1]T,从 P j P_{j} Pj到 p j , k p_{j,k} pj,k的投影过程可以用下式表示
λ [ u v 1 ] = K [ R ∣ t ] c w [ X w Y w Z w 1 ] \lambda \begin{bmatrix}u \\v \\1\end{bmatrix}=K\left [ R|t\right ]_{cw} \begin{bmatrix}X_{w} \\Y_{w} \\Z_{w} \\1\end{bmatrix} λ
uv1
=K[R∣t]cw
XwYwZ