圖像檢索算法


圖像檢索:是從一堆圖片中找到與待匹配的圖像相似的圖片,就是以圖找圖。

看了兩篇文章:

Large-Scale Image Retrieval with Attentive Deep Local Features   https://arxiv.org/pdf/1612.06321v4.pdf

Aggregated Deep Local Features for Remote SensingImage Retrieval  https://arxiv.org/pdf/1903.09469.pdf

 

這兩片都是講了用使用注意力機制提取CNN局部特征描述子,進行圖像檢索的方法。第一篇是原創,第二篇是將其應用到遙感圖像檢索。

圖片檢索可以分為兩個問題: 第一圖像級別的描述子的建立,第二搜索匹配的描述子。這兩篇文章主要關注,第一個問題,第二個問題沒有深入。

論文一:

作者先是說了以往的研究都是在小尺度數據集上的得到的。作者的提出了一種基於CNN的特征描述子,用於大規模數據檢索。

這篇文章的特點就是:使用注意力機制幫助獲取特征點,用特征點相應位置卷積層的通道方向的特征,作為該特征點的描述子。

1、使用了一種弱監督學習方法,只有圖像級的標簽用於訓練;

2、加入了一個注意力模型,使用注意力機制,找到局部關鍵點,將該點的cnn通道方向的特征作為描述子

 

作者制作了個大型(large scale)數據集,然后建立檢索系統:1. 密集局部特征提取 2. 關鍵點選擇 3. 降維 4. 索引和檢索

1.密集局部特征提取

使用了Resnet50的預訓練模型,去掉頭,換上自己的頭,微調。把conv4的輸出作為特征,conv4里每個像素在原圖像的視場的位置就是特征點的位置。

這一步比較常規,現在普遍認為卷積層就是起特征提取的feature extractor。

這樣卷積層是特征,從這么多的位置里選擇出代表性的特征。作者比較新的提出了以下的關鍵點選擇方法:

2. 基於注意力機制的關鍵點選擇

如果直接使用cnn層作為特征直接進行匹配的話,描述子的維度太高,檢索太慢。因此有必要,從特征圖里選擇出來一些關鍵點。

在普通的匹配里有一些:sift,surf,FAST,Brief等特征點和描述子。

CNN已經提取好特征了,我們需要在特征圖上選擇出一些。

這時候作者把訓練好的網絡參數固定,新建一個2層的卷積網絡,這個兩層的網絡的輸入就是conv4的輸出,輸出就是和conv4大小相同的1通道的權重圖,這個權重圖里就是每個conv4特征的權重。

注意力就關注到這地方了。

這里的訓練分兩步,不能同時訓練,先訓練1,訓練完了再訓練2中的注意力模型。

這個和普通的方法區別是:他是先計算特征描述子,再選擇特征點

特征點選擇多少個論文沒有說,好奇,只能看代碼了。

3.降維

因為沒有說,一副圖像選擇多少個特征點。

只是說把這些特征點對應的conv4的通道數構成的描述子,先L2歸一化,再用PCA降維到40維,降完之后再歸一化

4. 索引和檢索

基於最近鄰的搜索技術,kd-tree,PQ.

當然基於距離最小的方法全部招呼上來。

實驗部分:

這部分說了前面的疑問,每個圖像提取1000個關鍵點(根據注意力機制里概率的大小),每個特征點40維。使用k最近鄰匹配 k=60。

怎么匹配的呢,對1000個關鍵點,每個進行匹配,選擇前60個最匹配的,60個匹配結果里統計類別分布,選擇最高的,就是這個關鍵點對應的圖像。

至於1000個關鍵點怎么弄一個個弄?還是每個集成起來?

 

 

對比方法:

Deep Image Retrieval(DIR)  全局2048維的描述子,也就是說一副圖像一個描述子維度是2048維。使用QE 最近鄰.

QE 方法見:http://yongyuan.name/blog/cbir-query-expansion.html

算是最近鄰方法的一個小技巧。

 siaMac 與上方法類似,也是一種全局描述子512維度,使用的是VGG處理過的。

LIFT 這個比較有意思的是用SIFT產生的特征點特征向量,監督CNN學習的的結果,然后取代 SIFT (眾所周知SIFT速度慢,不知道CNN學習后速度快了沒有,沒看原論文)

 

 論文2:

這篇論文的選題好,關注遙感圖像。 遙感圖像有個好處就是拍攝的角度高,基本處於90%。遙感圖像自帶分辨率,尺度因素不用考慮(這些強的先驗知識,可以極大的減輕網絡負擔和匹配負擔)

所以改了改,用到遙感數據上效果就遙感圖像最優了(state-of-the-art)

這篇論文思路清晰,過程說的明白,就是網絡使用的是論文1的網絡,剛開始不明白,所以反過去看了論文1。

 

開篇就點題了:基於內容的圖像檢索主要包括兩個步驟:

圖像的描述特征提取,圖像匹配

1.圖像特征提取

特征提取完全和上文相同。就是再注意力模型里分了個 乘注意力 和 加注意力, 乘法注意力是論文1提出的,加注意力是該文增加的,后邊的實驗說乘法注意力,比加的好。

懷疑作者是再湊創新。其他地方完全一樣,就是直接搬過來了。

2.特征集成

使用了VLAD 方法,將不同數量的特征,變成相同大小,可以比較,計算距離。

3.檢索

為了提高檢索精度,使用 query expansion (QE,上文中提到過) 和圖像匹配(估計就是根據特征點的匹配,進行仿射變換后,計算相關系數等)

 

論文2主要在於把一些方法聯合起來使用,然后應用到了數據集中。

 

總結就是:卷積神經網絡成功的原因就是圖像的對稱性,每個像素點的意義是相同的,都是代表某一區域的亮度。(全連接為什么不行,因為輸入輸出沒有可比性,比如輸入速度,位置,量綱都不同,怎么處理)

                 分類來看,高層的特征並不是每一個地方都對分類有貢獻,圖像的類別的對象,不可能占據所有圖像,還有背景,以及其他類。所以沒有必要考慮所有特征,只需要考慮類別相關的特征即可。

                該論文里的注意力神經網絡是不錯的。而且訓練分兩段訓練也是有啟發意義的。

 

 

每天看一論文。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM