【问题标题】:how does Flann Matcher train work in opencv?Flann Matcher 训练如何在 opencv 中工作?
【发布时间】:2014-01-28 10:05:54
【问题描述】:

我是opencv的新手。我的问题是:

我有 2 个火车图像描述符 trainA 和 trainB。 然后我构造一个向量来放入它们,并将它们添加到 flann 匹配器中进行训练。

之后,我使用查询图像描述符 queryC 进行 knnMatch 并返回 DMatchs。

在这种情况下,哪个火车描述符将用于匹配 queryC、trainA 或 trainB? 以及训练如何帮助提高匹配准确率?

提前致谢。

【问题讨论】:

    标签: c++ opencv matcher flann


    【解决方案1】:

    两者兼而有之。它不是标准意义上的“训练”。这里的“训练”只是指“一组描述符,基于哪个 kd-tree 构建”。 更简单 - 当您进行匹配时,您从集合 S1 中获取一个特征并在集合 S2 中寻找最近的邻居。 FLANN(kd-tree 的实现)只是快速找到(近似)最近邻居的方法。

    【讨论】:

    • 感谢@old-ufo 的回复。我也可以说我添加到训练中的训练描述符越多,真正目标的兴趣点就越多,在这方面,训练提高了匹配精度?
    • 不是准确度(即精度),而是“召回”en.wikipedia.org/wiki/Precision_and_recall。一方面 - 是的,另一方面 - 附加描述符必须是: 1)真正属于对象; 2)如果您使用第二近邻比率,则附加描述符必须与现有描述符足够不同。否则,它们会在标准 Lowe 的 SNN 测试中“杀死”对方。
    • 很酷,谢谢。所以基本上,只有适当的描述符才能提高精度和召回率。
    猜你喜欢
    • 1970-01-01
    • 2016-10-31
    • 1970-01-01
    • 2015-05-04
    • 2015-07-25
    • 2021-06-11
    • 2019-01-21
    • 1970-01-01
    • 2011-10-08
    相关资源
    最近更新 更多