我正在尝试从基本矩阵中提取相机矩阵。我找到了一些关于此的答案。
determine camera rotation and translation matrix from essential matrix
Rotation and Translation from Essential Matrix incorrect
在这些答案中,他们建议我使用newE
[U,S,V] = svd(E)
和newE = U*diag(1,1,0)*Vt
。我不明白为什么我需要使用newE
。据我所知,奇异值是独一无二的。因此,将奇异值更改为diag(1,1,0)
似乎会使E
成为完全不同的值。
我在计算机视觉中阅读了多视图几何图形'另外,它只是指理想情况,即奇异值为(1,1,0)。我没有找到使用newE
的原因。
任何人都可以解释一下为什么人们使用newE
?
答案 0 :(得分:0)
如果我正确理解了您的问题,那么由于您的数据来源(因此E
)通常是嘈杂的真实世界数据,那么通过使用diag(1,1,0)
您可以将矩阵约束为正确的比例并排名和代数强制执行几何约束。
维基百科也是has a nice section解释这一点。