我有一个应用程序,给定合理数量的图像(比方说20K)和查询图像,我想找到最相似的一个。合理的近似是可行的。
为了保证表示每个图像的精确度,我使用SIFT(并行版本,以实现快速计算)。
现在,给定n
SIFT描述符的集合(其中500<n<1000
通常,取决于图像大小),可以表示为矩阵n x 128
,从我看到的在文献中,我的案例有两种可能的方法:
k
- 表示(例如k=128
),我们为每个图像获取k
- 维向量。由于k
可能太大而无法进行有效比较,我们可以再次通过LSH将其映射到较小的(可能是二进制的)空间(正如我们在1中所做的那样)。最后,作为reslut,我们返回最相似的直方图。请注意,这种方法的一个大问题是,正如我在this question中所讨论的,为了快速定义直方图,我们需要再次使用LSH(多么糟糕!)。 我很惊讶我没有找到这两种方法的比较。我的问题是:我们必须为每一个人考虑什么?这两个方法有研究吗?第一种方法似乎更有效,并且对于这样的数据集是可行的。