20

TinEye、谷歌和其他公司提供“反向图片搜索”——你可以上传一张照片,它会在几秒钟内找到类似的照片。

这些算法有开源版本吗?


我知道“SIFT”和其他用于查找“视觉相似”照片的算法,但它们仅适用于将一张照片直接与另一张照片进行比较。即,查找与给定照片相似的照片是一项O(n)操作,查找所有视觉上相似的照片将是O(n^2)——两者都非常慢。

我需要一个可由 [relational] 数据库索引的特征描述符,以将结果集减少到更易于管理的内容。

“视觉上相似”是指非常相似。即,在 Photoshop 中轻微修饰/重新着色、略微裁剪或调整大小的照片、在同一场景中快速连续拍摄的照片,或者翻转或旋转的图像。

4

2 回答 2

17

您可以考虑的一种有效方法是Bag-of-Words 模型

基本上,您可以对目标图像进行离线计算。您可以从这些图像中提取一堆特征,以便使用k-means 聚类等算法创建一个码本。搜索最近的图像将导致算法在码本空间中的应用,例如最近邻搜索

对于邻居搜索,您可以使用 FLANN

另请参阅: 视觉相似性搜索算法

这只是一种可能性,而且必须说实话,这个话题真的很有挑战性,关于它的文献真的很丰富。

只是一些参考:

于 2013-05-23T22:47:17.007 回答
2

看看http://vision.caltech.edu/malaa/software/research/image-search/ 它使用 LSH 算法和某种 kd-tree。此任务也称为 CBIR 或图像重复搜索。

于 2013-05-24T08:46:29.623 回答