2013-08-02 228 views
1

我已经获得了两个摄像机之间的基本矩阵。我也有,他们的内部参数在一个3 X 3矩阵,我通过棋盘早些时候获得。使用基本矩阵,我已经基本矩阵的投影矩阵

P1 = [I | 0]P2 = [ [e']x * F | e']

获得P1P2这些投影矩阵不是得到确切的3D位置非常有用。 以来,我就内部参数K1K2,我改变了P1P2

P1 = K1 * [I | 0]P2 = K2 * [ [e']x * F | e']

  • 这是我得到了真正的投影矩阵这给3D之间的实际关系的正确方法世界和形象?
  • 如果不是,请帮助我理解正确的方式以及我出错的地方。
  • 如果这是正确的方法,我该如何验证这些矩阵?

回答

6

一本很好的参考书是Hartley和Zisserman的“多视图计算机视觉几何”。 首先,你的P公式是错误的。如果你想使用K里面的公式,它是相当

P = K * [R | t] 

P = [ [e']x * F | e'] 

但不是两者的混合。

如果您从8点算法计算F,那么您只能恢复直到3D单应性(即4x4变换)的投影几何。

要升级到欧几里德空间,有两种可能性,都是通过计算基本矩阵开始的。

第一种可能性是从F计算基本矩阵:E =转置(K2)* F * K1。

第二种可能性,是直接估计基本矩阵对这些2次:

  • 通过预先具有K的倒数乘以针对每个图像(“归一化的图像坐标”)
  • 应用规范化您的2D点这些归一化点上的(与F相同)8点算法
  • 通过SVD分解并强制对角线值,强化了基本矩阵的2个奇异值等于1且最后为0的事实。

一旦有了本质矩阵,我们可以计算出投影矩阵形式

P = K * [R | t] 

R和T可以发现由于E的SVD的元素(CF前面提到的书)。 但是,您将有4种可能性。只有其中一个项目指向两个相机前面,所以您应该测试一个点(如果您确定的话),以消除4. 之间的模糊性。在这种情况下,您将能够放置相机及其方向(与投影的R和t)在你的3D场景中。

不那么明显,确实...