如何从本质矩阵E中分解旋转矩阵R和平移向量t?

在计算机视觉和相机几何中,Essential Matrix(本质矩阵)与相机运动之间存在特殊的关系。通过对Essential Matrix进行奇异值分解(SVD),可以提取出相机的旋转矩阵 R R R 和平移向量 t t t

在SVD分解后,可以得到Essential Matrix的分解形式:
E = U Σ V T E = U \Sigma V^T E=UΣVT

其中, U U U V V V是正交矩阵, Σ \Sigma Σ是对角矩阵。
接着,通过以下公式可以提取出旋转矩阵 R R R 和平移向量 t t t 的两组解:
R = U ⋅ W ⋅ V T t = ± u 3 R = U \cdot W \cdot V^T \\ t = ±u_3 R=UWVTt=±u3
或者:
R = U ⋅ W T ⋅ V T t = ± u 3 R = U \cdot W ^T\cdot V^T \\ t = ±u_3 R=UWTVTt=±u3
其中, u 3 u_3 u3 U U U 的第三列, W W W 是一个特殊的反对称矩阵:
W = [ 0 − 1 0 1 0 0 0 0 1 ] W = \begin{bmatrix} 0 & -1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 1 \\ \end{bmatrix} W= 010100001

这四组解分别对应于相机在两个可能的姿态下。在实际应用中,我们需要选择正确的解,这通常需要使用额外的信息,例如深度一致性(将点投影到图像上并确保它们的深度信息一致)来解决。因此,详细解释如何选择正确的解需要考虑具体的问题和应用场景。

参考文档

你可能感兴趣的:(视觉SLAM,自动驾驶,机器人)