3

我正在做計算機視覺領域的研究,並且正在研究與查找圖像的視覺相似圖像相關的問題。例如,找到具有類似圖案的相似顏色的T恤(條紋/方格)或類似顏色和形狀的鞋子等等。圖像相似度 - 深度學習與手工製作功能

我已經探索了手工製作的圖像特徵,如顏色直方圖,紋理特徵,形狀特徵(面向梯度直方圖),SIFT等。我還閱讀了關於深度神經網絡(卷積神經網絡)的文獻,這些網絡已經接受了海量數據的培訓,目前是圖像分類領域的最新技術。

我想知道是否同樣的功能(從CNN中提取)也可以用於我的項目 - 尋找圖像之間的細微相似之處。據我所知,CNN學習了很好的代表性功能,可以幫助對圖像進行分類 - 例如,無論是紅色襯衫還是藍色襯衫,還是橙色襯衫,都能夠識別圖像是襯衫。然而,它不明白橙色襯衫與藍色襯衫看起來更像紅色襯衫,因此無法捕捉到這些相似之處。

如果我錯了,請糾正我。我想知道是否有任何深度神經網絡能夠捕捉到這些相似之處,並且已被證明優於手工製作的特徵。提前致謝。

+0

我不太明白這是你的意思,但是CNN是作爲分類器進行端對端培訓的,他們學到的功能基本上是這個的副產品。您通常不會將CNN僅用作特徵提取器(儘管可能)。但也許我誤解了你。 – cfh

+0

是的,CNN被用作分類器。有一些預先訓練過的模型可用,例如Overfeat,Caffe,它們已經在imagenet數據集上進行了訓練,1000個類別中有超過一百萬個圖像。我已經讀過,從這些網絡的最後一層提取的特徵可以用來訓練自定義分類器(針對您自己的數據集),並且在分類http:// arxiv時,這些特徵已經被證明優於手工特徵。組織/ ABS/1403.6382。這些特徵是否可以用於相似性計算(按照每個問題),還是這些模型必須進行不同的訓練? – user3705926

+0

是的,這當然值得一試。如果你有非常特殊的需求,比如你將橙色/紅色襯衫與藍色襯衫區別開來的例子等等,那麼CNN根本就不需要學習這些非常具體的功能,在這種情況下,你需要更好地訓練功能爲您的用例。但是如果不嘗試,這很難說。 – cfh

回答

1

爲了您的任務,CNN絕對值得一試!

許多研究人員使用經過預訓練的圖像分類網絡,並獲得了細粒度分類的最新結果。例如,試圖分類birds species或汽車。

現在,你的任務不是分類,但它是相關的。您可以將相似性視爲特徵之間的幾何距離,它們基本上是矢量。因此,您可以進行一些實驗,計算所有訓練圖像(參考)的特徵向量與從查詢圖像中提取的特徵向量之間的距離。

從網絡的第一層提取的CNN特徵應該更多地與顏色或其他圖形特徵相關,而不是更多的「語義」特徵。

或者,通過CNN直接學習相似性度量有一些工作,例如參見here

0

有點過時了,但它對其他人仍然有用。是的,CNN可以用於圖像相似性,我之前使用過。正如弗拉維奧所指出的那樣,一個簡單的開始,你可以使用你選擇的預先訓練過的CNN,比如Alexnet,GoogleNet等等,然後用它作爲特徵提取器。您可以根據距離比較特徵,相似圖片的特徵向量之間的距離較小。