【问题标题】:Algorithms For Finding Similar Images Across A Large Amount Of Images在大量图像中寻找相似图像的算法
【发布时间】:2012-12-12 00:40:55
【问题描述】:

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

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

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

【问题讨论】:

  • 据我了解,计算机视觉还没有发展到可以输入图像并得出关于数据的一般结论的程度(例如“这是一张森林的图片”) .谷歌可以作弊,因为它所有的图片都在网页上。它可以从周围的文本、alt 属性等中获取很多线索。真正通用的“相似图像查找器”将非常非常难以制作。
  • 图像搜索引擎用于索引的大部分内容是图像元数据(嵌入图像文件中的文本)和来自找到图像的页面的信息(图像标记的替代文本,例如例如和周围的文字)。相对而言,实际图像处理很少。
  • 这不是真的:您可以在没有其他提示的情况下向 Google 扔一张图片,它会返回相似的图片。也令人印象深刻的是 ohttp://clarifai.com/ - 它为几乎任何图像返回许多标签。完全基于图像识别。但这当然不是简单的算法任务。

标签: algorithm image-processing


【解决方案1】:

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

  1. 每个文档都由其bag-of-words 模型表示。
  2. 构建了一个包含所有文档的inverted index
  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 consistency for large-scale image search

如果您想了解更多关于这些方法的信息,我强烈建议您查看Visual Recognition and Machine Learning Summer School 的资料,尤其是“实例级识别”和“大规模视觉搜索”的幻灯片。

【讨论】:

    猜你喜欢
    • 2010-09-09
    • 2015-06-09
    • 2014-11-30
    • 1970-01-01
    • 2021-08-12
    • 2011-01-16
    • 2015-02-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多