【问题标题】:opencv Freak - Can I use Freak feature descriptor with BOW?opencv Freak - 我可以在 BOW 中使用 Freak 特征描述符吗?
【发布时间】:2012-11-12 14:41:25
【问题描述】:

我正在尝试在 opencv 中使用 Freak 来检测特征并提取描述符,然后构建我的 BOW 词汇表,并为每个图像使用词汇表与 BOW 匹配。你知道,整个事情。我知道 BOW 可以与 SIFT 或 SURF 等其他描述符一起使用,我不清楚二进制的 Freak 描述符是否可以与 BOW 一起使用。更具体地说,当 opencv 构建 BOW 词汇表时,它使用 k-means 集群。我不清楚 k-means 聚类算法使用什么距离函数。对于 Freak 这样的二进制描述符,汉明距离似乎是唯一的选择。

在我看来,opencv k-means 在计算距离时只使用欧几里得距离,真可惜。看起来我必须建立自己的 k-means 和自己的词汇匹配。有没有聪明人知道解决方法?

谢谢!

【问题讨论】:

  • 不要在问题标题中包含标签详细信息,请阅读此meta.stackexchange.com/questions/19190/…,然后在 SO 中提问。
  • 我认为你应该为汉明距离实现自己的 k-means。
  • FREAK 只是一个描述符。对于检测,您可能需要使用 BRISK。

标签: opencv freak


【解决方案1】:

我在一篇论文上读到 Freak 不容易使用。这是论文的摘录“....这些算法在许多检索算法中都不容易使用,因为它们必须与汉明距离进行比较,汉明距离不容易适应诸如词汇树或近似最近邻(Approximate Nearest Neighbors)之类的加速搜索结构(安)……” (ORB、FREAK 和 BRISK)

【讨论】:

    【解决方案2】:

    FREAK 适用于局部敏感哈希。您可以将它与 OpenCV 中包含的 FLANN(快速近似最近邻)一起使用。

    对于 BOW,只有描述符的前 5、6、7、8 个字节可能足以构建树。

    【讨论】:

      猜你喜欢
      • 2014-10-09
      • 2012-09-11
      • 1970-01-01
      • 1970-01-01
      • 2012-05-30
      • 2014-05-07
      • 1970-01-01
      • 1970-01-01
      • 2013-03-14
      相关资源
      最近更新 更多