4

我知道这个网站上已经有一些帖子与这个问题有关,但没有一个(据我所知)告诉我我需要知道的内容。

我对图像搜索引擎(如谷歌图像)如何运行基于图像的搜索很感兴趣,到目前为止,我发现了这篇博客文章,它告诉用户如何编写一个可以找到相似图像的指纹识别功能。该网站上的算法仅查找相同图像但分辨率不同的图像或相同图像但略有变化的图像。我正在寻找一种放入图像的方法,比如说森林的图像,它会给你其他森林的图像。

我是这方面的初学者,所以我希望能找到一些详细的东西,而不是给你代码来做这件事,只是一个让我开始的指南。任何帮助,将不胜感激。

4

1 回答 1

3

图像检索的一种常用方法实际上是受到文本检索的启发,因此我将从快速回顾文本检索开始:

  1. 每个文档都由其词袋模型表示。
  2. 构建了一个包含所有文档的倒排索引
  3. 当用户发送查询q时,使用倒排索引返回数据库中最相似的文档。文档和查询之间的相似度q通常使用表示查询和文档的两个向量的点积来计算。(tf-idf加权通常用于构建表示文档的向量。)

正如 Sivic 和 Zisserman 在Video Google: A Text Retrieval Approach to Object Matching in Videos中提出的那样,图像检索遵循完全相同的方法。唯一的区别是第一步,他们定义了什么是“视觉词”,以便对图像进行词袋表示。

他们首先提取图像的局部特征,例如SIFT。那些局部特征(SIFT)是高维向量,因此,使用聚类算法(例如k-means)来获得k视觉词:k聚类中心是“视觉词”。然后给定一张图像,提取局部特征(SIFT)并将每个特征分配给最近的“视觉词”或聚类中心,从而获得词袋表示。

这种方法后来得到了改进,例如: Hervé Jégou、Matthijs Douze 和 Cordelia Schmid的 Hamming Embedding and Weak Geometric contrast for large-scale image search

如果你想了解更多关于这些方法的信息,我强烈建议你看看视觉识别和机器学习暑期学校的材料,特别是“实例级识别”和“大规模视觉搜索”的幻灯片.

于 2013-01-19T01:43:45.877 回答