从基本矩阵构成,变换顺序

问题描述

据我了解,变换顺序(先旋转还是先翻译)产生不同的[R | t]。

所以我想知道从基本矩阵SVD得到的4种可能姿势的顺序是什么。

我已经阅读了《从基本矩阵构成的姿势》(Hartley和Zisserman的多视图几何体(第259页))的代码实现。作者似乎先将其解释为旋转然后平移,然后使用p = -R ^ T * t检索相机位置。

此外,opencv似乎先使用trasnlate然后再旋转规则。因为我从校准相机获得的向量t是相机的位置。

或者也许我错了,顺序无关紧要?

解决方法

您不应使用SVD将转换分解为旋转和平移组件。从x' = M*x = T*R*x看,平移只是M的第四列,旋转位于左上3x3子矩阵中。

如果您将整个4x4矩阵输入SVD,我不确定您会得到什么,但这不会有用。 (如果没有别的,U和V不会仿射。)