【问题标题】:Different fundamental matrix from the same projection matrices来自相同投影矩阵的不同基本矩阵
【发布时间】:2012-04-27 01:31:42
【问题描述】:

我使用两个投影矩阵 P1 和 P2(例如,我使用的是dinosaur dataset),我需要计算基本矩阵 F。 所以我使用了两个 Matlab 函数:

  • Peter Kovesi 的函数:www.csse.uwa.edu.au/~pk/Research/MatlabFns/Projective/fundfromcameras.m
  • 齐瑟曼:www.robots.ox.ac.uk/~vgg/hzbook/code/vgg_multiview/vgg_F_from_P.m

这些函数应该做同样的事情,但是我有不同的F值!怎么可能?哪个是正确的功能?

如果两个点 X1 和 X2 在两个不同的图像中“相同”,则 X2^T*F*X1 = 0 ... 所以我通过使用 SURF 从两个旋转图像(5 度)中找到了两个对应点,但是使用这两个函数 X2^T*F*X1 永远不会等于零。 有任何想法吗?

如果我使用这个从匹配点计算 F 的函数:

我有 X2^T*F*X1 = 0 .... 显然 F 与我在其他两个函数中的两个 F 不同...

【问题讨论】:

  • 我确定 Peter Kovesi 的功能是对的,它功能正确!

标签: matlab computer-vision projection-matrix perspectivecamera projective-geometry


【解决方案1】:

一方面,这些点极有可能不是彼此完美旋转的版本。 SURF 使用了很多近似值、双线性插值和一大堆打破真正旋转不变性的东西。所以可能不存在这样的基本矩阵(如果两组点之间没有线性关系。)是的,即使在进行点匹配之后也是如此。

也就是说,如果匹配真的很好,你的X2^T*F*X1 应该会很小,但如果它对于任何真实图像都完全为零,我会感到惊讶。

【讨论】:

    【解决方案2】:

    基本矩阵只有在一定范围内是唯一的。

    因此,即使您有不同的基本矩阵,两者都可能对您的图像是正确的。

    【讨论】:

      猜你喜欢
      • 2013-08-03
      • 2017-06-01
      • 2015-04-11
      • 2012-03-27
      • 1970-01-01
      • 2015-03-29
      • 2015-11-01
      • 1970-01-01
      • 2018-10-29
      相关资源
      最近更新 更多