我正在尝试在 opencv 中使用 Freak 来检测特征并提取描述符,然后构建我的 BOW 词汇表,并为每个图像使用词汇表与 BOW 匹配。你知道,整个事情。我知道 BOW 可以与 SIFT 或 SURF 等其他描述符一起使用,我不清楚二进制的 Freak 描述符是否可以与 BOW 一起使用。更具体地说,当 opencv 构建 BOW 词汇表时,它使用 k-means 集群。我不清楚 k-means 聚类算法使用什么距离函数。对于像 Freak 这样的二进制描述符,汉明距离似乎是唯一的选择。
在我看来,opencv k-means 在计算距离时只使用欧几里得距离,真可惜。看起来我必须建立自己的 k-means 和自己的词汇匹配。有没有聪明人知道解决方法?
谢谢!