细粒度检索SCDA 详解
Selective Convolutional Descriptor Aggregation for Fine-Grained Image Retrieval
摘要
文中主要介紹了一種SCDA的無監督的檢索方法,主要針對于細粒度檢索任務。算法首先定位圖片中主要的目標,這一步主要是摒棄背景或者其他噪音,保持主要的關注點。在當前的圖像檢索領域,SCDA取得了較好的結果。
簡介
普通的圖像檢索主要是檢索相似性,主要用內容,顏色以及形狀進行檢索。細粒度的檢索主要檢索同一類型的物體,比如動物中的同一物種,汽車之中的同一種類,細粒度檢索面臨的問題是,差別細微,但是姿態,旋轉,大小變化很大。
使用與訓練的模型,提取圖像的卷積激活,SCDA方法能夠決定有用的區域,這些區域可以量化成一個向量。
文中的主要貢獻
相關工作
[26,? 27, 28, 29, 30,32], 直接使用卷積網絡將圖像向量化,與之相反的我們的SCDA方法使用無監督的方法選擇有用的信息域。
SCDA
Feature map代表通道卷積后的結果。Activations所有的feature map. Descriptor代表activations的d維向量。
給出一個圖像I,大小H x W,經過卷積后產生w*h*d的feature map,然后我們將d維度作為,一個descriptor。于是我們就有了w*h的 descriptors。
選擇卷積descriptors
SCDA與其他檢索方法的區別在于,只是用預訓練模型就能夠挖掘深度卷積特征,這種特征能夠有效的定位圖像主要目標,所以本文的關鍵是descriptor的選擇方法。
經過pool層,輸入圖片I使用一個三維的向量T進行表達,這是一種分布的表達,分布表達通過卷積編碼獲得,在深度學習中分布表達意味著不同形式表達間的內在聯系,每一個concept 是神經網絡激活的結果。每一個神經元參與多個concept的表達。
從512個feature maps 選擇出一些,并將這些feature map覆蓋到原始圖片上,展示有意義的語義部分。有些展示的是目標對象,但是有些確實背景或者噪音。
同樣的channel 的激活區域有些不一樣,比如同一channel,第一張鳥圖激活區域是尾巴,但是第二張圖激活區域是頭部。這樣的話,選擇出有用的descriptor是很有必要的。為了確定哪些descriptor是有用的,所以我們不能夠只關注于單一的channel。
推薦算法
文中首先提出了一種評估質量和數量的方法,盡管單一的通道并沒有用,但是當很多通道都在同一區域激活的話,那么這個區域是目標物體的概率較高。所以可以將所有channel相加。那么feature map 就h * w * d變成了h*w,被稱為aggregation map
然后計算A 的平均值a那么就可以得到
其中I, j 代表不同的位置。
然后使用bicubic差值方法,將M resize成和原圖相同大小。 然后將M覆蓋到原圖之上,會發現雖然激活區域以目標物體為主,但是依然有一些噪音和背景被激活,為了能夠去除這些噪音和背景,文中又提出了算法1。
將M變成一個高度目標激活的M~,其中M~可以用一下方式表達
選擇激活區域的質量評價如下,首先畫出文中算法鎖定區域所被包括的最小bounding box 并且在測試集合上評估這些預測的bounding boxes。
其中評價標準是,預測框與真實框IOU>50%的所占據的比例
聚合卷積Descriptors
經過對descriptor的選擇
下面給出一些encoding和pooling的方法,之后介紹了本文的推薦方法。
VLAD方法,首先建立一個編碼冊,并使用聚類的方法,有k個知心
然后將xij 與最近的k個知心進行相減,得到
最后得到F等于
?
FV 算法,和VLAD算法類似,只不過取代k-means使用了混合高斯算法。
Pooling算法。上面這幾種算法將descriptors變成了一個一維向量,然后進行匹配試驗結果如下
其中avg&maxPool表示將maxPool和avgPool一起concat,得到匹配的特征向量。
多層聚合接口
如果按照卷積后最后一層進行得到Mrelu5_2,,發現pool5后的卷積要比relu5_2的緊密度更好,所以可以將Mpool5 和Mrelu5_2結合到一起,其中將Mpool5上采樣到Mrelu5_2大小。其中結合的方法是,既存在Mrelu5_2中激活又存在Mpool5中激活這作為最后的relu5_2 descriptors。然后將relu5_2 SCDA feature以及pool5的concat成一個向量
其中alpha 是0.5, 其后面也會跟一個L2 normalization
?
?
最后使用向量壓縮的方法,對SCDA_flib+ feature 進行壓縮,
?
附件一
VLAD算法
核心思想是積聚思想,主要應用在圖像檢索領域。其主要方法是訓練一個小的碼本,對每幅圖的特征找到,最近的碼本聚類中心,然后將特征與聚類中心的差值做累加,得到一個K*d的vald矩陣,其中k是聚類中心的個數,d表示向量的維度。
?
總結
以上是生活随笔為你收集整理的细粒度检索SCDA 详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 91---Python 直角坐标系下绘制
- 下一篇: Centaur启动平台质押,收益高达12