我正在尝试使用opencv中的Freak来检测特征并提取描述符,然后构建我的弓词汇表,并为每个图像使用词汇表来匹配弓。你知道,整件事。我知道BOW可以与其他描述符一起使用,如SIFT或SURF,但我不清楚Freak描述符(二进制)是否可以与BOW一起使用。更具体地说,当opencv构建BOW词汇表时,它使用k-means聚类。我不清楚k-means聚类算法使用的是什么距离函数。对于像Freak这样的二进制描述符,Hamming距离似乎是唯一的选择。
在我看来,opencv k-means在计算距离时只使用欧几里德距离。看起来我必须建立我自己的k-means和我自己的词汇表匹配。有没有聪明人知道解决办法?
谢谢!
发布于 2012-11-12 23:09:08
我在一篇文章上读到,Freak不好用。以下是论文的摘录:"....These算法不容易用于许多检索算法,因为它们必须与汉明距离进行比较,而汉明距离不容易适应加速搜索结构,如词汇树或近似最近邻居(ANN)……“(球体、怪胎和轻快)
发布于 2012-12-12 17:23:23
FREAK与位置敏感的哈希一起工作。您可以将其与OpenCV中包含的FLANN (快速近似最近邻居)一起使用。
对于弓,只有描述符的前5、6、7、8字节可能足以构建树。
https://stackoverflow.com/questions/13345692
复制相似问题