标签: c++ image-processing machine-learning cluster-analysis sift
我想实现一个给定输入图像的系统,它在(大约)50K图像的数据集中返回一个合理的类似的(近似是可接受的)。 时间表现至关重要。
我将使用SIFT的并行版本来获取描述符矩阵D。我已经阅读了Fisher Vector(FV)(VLfeat和Yael实现)作为学习和更精确的替代Bag of Features(BoF)以将D表示为单个向量v。
D
v
我的问题是:
答案 0 :(得分:0)
您可以考虑的另一种方法是 VLAD 编码。 (基本上是FV的非概率版本,用k-Means聚类代替GMM)
实现与标准矢量量化略有不同,但在我的实验中,它表现出更好的性能和更低的码本大小。
它使用欧氏距离来查找最近的码本向量,但它不是仅计算元素,而是累积每个元素残余。
图片搜索的示例:Link
FV / VLAD文件:Paper