【问题标题】:Find Exact Matches of SURF in openCV在 openCV 中查找 SURF 的精确匹配
【发布时间】:2010-07-06 15:36:55
【问题描述】:

我正在使用 openCV Surf 跟踪器来查找两个图像中的精确点。 如您所知,Surf 在两幅图像中都返回了许多特征点。我想要做的是使用这些特征参数来找出哪些匹配是完全正确的(真正的正匹配)。在我的应用程序中,我只需要真正的肯定匹配。

这些参数存在:Hessian, Laplacian, Distance, Size, Dir.

我不知道如何使用这些参数? 精确匹配的距离更小还是粗麻布更远?拉普拉斯能帮忙吗? size 或 dir 有帮助吗?

我怎样才能找到完全匹配(真阳性)??

【问题讨论】:

    标签: opencv surf exact-match


    【解决方案1】:

    通过采用以下策略,您可以在查询和图像中的描述符之间找到非常合适的匹配 -

    使用 2 NN 搜索图像描述符中的查询描述符,以及以下条件-

    如果距离(第一次匹配)

    过滤掉误报。

    【讨论】:

    • 这个叫做比率测试,似乎比普通的<= 3*min_dist好。
    【解决方案2】:

    很明显,您无法 100% 确定哪些点真正匹配。您可以通过调整 SURF 参数(参见一些链接 here)来增加(性能成本)正数。根据您的实际任务,您可以使用稳健的算法来消除异常值,即如果您执行某种模型拟合,则使用 RANSAC。另外,正如 Erfan 所说,您可以使用空间信息(查看“Elastic Bunch Graph Matching”和Spatial BoW)。

    【讨论】:

    • 查看“Elastic Bunch Graph Matching”和Spatial BoW
    【解决方案3】:

    我即将发布的答案只是我的猜测,因为我尚未对其进行测试以查看它是否完全按预期工作。 通过比较opencv返回的3个随机候选特征点之间的相对极距,并与模板中的对应点进行比较(有一定误差),不仅可以计算出真阳性的概率,还可以计算出角度和匹配模式的规模。

    干杯!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-10
      • 2012-12-31
      • 2011-09-04
      • 1970-01-01
      • 2015-03-12
      • 2020-10-10
      • 2013-05-04
      • 1970-01-01
      相关资源
      最近更新 更多