2012-12-26 88 views
2

我知道在這個網站上已經有一些關於這個問題的帖子,但沒有一個(據我所知)告訴我,我需要知道什麼。在大量圖像中查找類似圖像的算法

我對圖像搜索引擎(如Google圖像)如何運行基於圖像的搜索很感興趣,到目前爲止我找到了this blog post,它告訴用戶如何編寫出能找到類似圖像的指紋識別功能。該網站上的算法只能找到圖像相同但分辨率不同的圖像或相同的圖像,並稍作更改。我正在尋找一種放置圖像的方式,讓我們說一下森林的圖像,它會爲您提供其他森林圖像。

我是一個初學者,所以我希望能夠找到詳細的內容,而不是給你代碼去做,只是讓我開始。任何幫助,將不勝感激。

+6

據我所知,計算機視覺還沒有發展到可以爲其提供圖像的地步,並且它可以得出有關數據的一般結論(例如「這是一片森林的圖片」)。谷歌可以作弊,因爲它的所有圖像都在網頁上。它可以從周圍的文本,alt屬性等獲得很多線索。真正的一般「類似圖像搜索器」將非常難以製作。 – Kevin

+2

圖像搜索引擎用於建立索引的大部分內容是圖像元數據(圖像文件中嵌入的文本)以及來自發現圖像的頁面(例如圖像標記的替代文本,以及周圍文本)的信息。相對而言非常少的實際圖像處理完成。 –

+0

這不是事實:您可以在Google上投射一張圖片,但不會提示其他提示,並且會返回類似的圖片。非常令人印象深刻的是als ohttp://clarifai.com/ - 它爲幾乎任何圖像返回一些標籤。完全基於圖像識別。但這當然不是一項簡單的算法任務。 –

回答

3

一個用於圖像檢索的常用的方法實際上是由文本檢索的啓發,所以我會通過快速審查文本檢索開始:

  1. 每個文件由其bag-of-words模型表示。
  2. 包含所有文檔的inverted index被構建。
  3. 當用戶發送查詢q時,使用倒排索引返回數據庫中最相似的文檔。文檔與查詢q之間的相似性通常使用代表查詢和文檔的兩個向量的點積來計算。 (該tf-idf加權經常被用來建立表示所述文檔中的矢量。)

圖像檢索,如在Video Google: A Text Retrieval Approach to Object Matching in Videos提出Sivic和Zisserman,遵循完全相同的方法。唯一的區別是第一步,他們在那裏定義什麼是「視覺詞」,以便爲圖像提供詞袋錶示。

他們首先提取圖像的局部特徵,如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中的材料,特別是「實例級別識別」和「大規模視覺搜索」的幻燈片。