从特征匹配估计基本矩阵或基本矩阵

时间:2016-07-01 13:33:08

标签: python opencv matrix computer-vision

我通过使用opencv中的内置函数估计基本矩阵和基本矩阵。我使用ORB和暴力匹配器为函数提供输入点。这些是我面临的问题:

1.我在构建函数中计算的基本矩阵与使用基本矩阵的数学计算中得到的基本矩阵不匹配为E = k.t() F K。

2.当我改变用于计算F和E的点数时,F和E的值不断变化。函数使用Ransac方法。我怎么知道哪个值是正确的?

3.我也使用内置函数来分解E并从4种可能的解中找到正确的R和T.R和T的值也随着变化而变化E.更多关于方向向量的事实T在没有模式的情况下改变。它在X方向上的值是E,如果我改变了E的值,它会变为Y或ZY就会发生这种情况????。还有其他人有同样的问题吗? ?

我如何解决这个问题。我的项目涉及从图像中测量对象。 欢迎任何建议或帮助!!

2 个答案:

答案 0 :(得分:1)

  1. F和E都定义为比例因子。它可能有助于规范化矩阵,例如: G。除以最后一个元素。
  2. RANSAC是一种随机算法,因此每次都会得到不同的结果。您可以通过对点进行三角测量或通过计算重投影错误来测试它的变化程度。如果结果变化太大,您可能希望增加RANSAC试验次数或降低距离阈值,以确保RANSAC收敛到正确的解决方案。

答案 1 :(得分:0)

  1. 是的,每次计算基本矩阵都会根据比例因子定义一个不同的矩阵。
  2. 这是具有7DOF(3个腐烂,3个反变换,1个缩放比例)的2级矩阵。
  3. 基本矩阵是3X3矩阵,F33(第三列和第三行)是比例因子。
  4. 您问为什么我们要在F33处附加常量矩阵,因为(X-左)F(x-右)= 0,这是一个无限解的齐次方程,我们通过使F33常量来添加约束。