2

我已经完全实现了算法,我对旋转矩阵的工作方式有点困惑。所以你以一个 3xP 的“结构”矩阵结束,内容(如果我是正确的)是 P 3D 点(所以行是 x、y、z)。

然而,旋转矩阵是 2fx3。F 是帧数,因为我们最初将 3 帧跟踪的特征点堆叠成一个矩阵。它是 2f,因为上半部分是 x 坐标,下半部分是 y 坐标。

无论如何,生成的矩阵是这个 2fx3 ,看起来你有 2 个旋转矩阵,所以我有点困惑它如何对应于正常的旋转矩阵

这是算法的简短概述 http://www.cs.huji.ac.il/~csip/sfm.pdf

4

1 回答 1

2

我真的想出了答案。所以就像我说的那样,R 矩阵的大小是 2fx3,我很困惑它如何对应于正常的 3x3 旋转矩阵。所以事实证明,因为 R 是堆叠的,所以你有

r1x
r2x
r3x
r1y
r2y
r3y

其中每一行是一个 1x3 向量,对应于正常旋转矩阵中的一行,以获得从初始点到新点的旋转,您将相应的 r 行用于 x,y 并将它们交叉用于 z。因此,要获得第一帧的旋转矩阵(每个都是 1x3 向量)

r1x
r1y
cross(r1x, r1y)
于 2013-01-17T22:18:08.430 回答