Fisher Vector 与 LSH?

Fisher Vector with LSH?

我想实现一个系统,其中给定输入图像,它 returns 在(大约)50K 图像的数据集中是一个合理的相似图像(近似值是可以接受的)。 时间表现至关重要

我将使用并行版本的 SIFT 来获取描述符矩阵 D。我读过有关 Fisher Vector (FV)(VLfeat and Yael 实现)的文章,作为一种学习和更精确的替代 Bag of Features (BoF) 的方法,用于将 D 表示为单个向量 v

我的问题是:

  1. FV 使用的距离是多少?是欧几里德的吗?在那种情况下,我会使用欧几里得距离的 LSH 来快速找到 FV 的近似近邻。
  2. 还有其他有效的 FV(就时间而言)C++ 实现吗?

您可以考虑的另一种方法是 VLAD 编码。 (基本上是FV的非概率版本,用k-Means聚类代替GMM)

实现与标准矢量量化仅略有不同,但我的实验表明它具有更好的性能和更小的码本大小。

它使用欧几里得距离来找到最近的码本向量,但它不只是计算元素,而是累加每个元素残差

图片搜索示例:Link

FV/VLAD论文:Paper