Motivation
- 目前的方法只考慮在某一個特徵的卷積層輸出來計算相似性,是否可以使用多尺度提高相似度的計算的準確性呢?
- 許多工作假定相關視覺特徵不會平移太大的距離,沒有在整張圖上考慮相關性,很容易丟失信息
- 之前都是在特徵圖的rigid part來計算product或者difference,沒有對於尺度、旋轉的不變性
Contribution
- 提出了全卷積Siamese網絡,包含能夠高效實現且帶有注意力機制的Convolution Similarity Network來改進兩個圖片相似度的計算
- 在不同的層次計算視覺相似性,並結合多層次的信息提高匹配的魯棒性
- 通過大量的實驗證明本文提出低複雜度與內存使用的模型與SOTA能達到相當的性能
1.Introduction
- reid定義、意義、挑戰
- 現在工作兩個主流方向:
- 特徵表示學習
- 有效的距離度量
- 深度學習在re-id上取得的成功
- 存在侷限性 ==> 動機與貢獻
- 多層次相似度對於識別的幫助如下圖:低級特徵(衣服顏色)、高級特徵(揹包)等等
2.Related Work
- 傳統方法:handcrafted feature + metric learning
- 深度學習方法:
- Siamese網絡二分類
- rank problem
- 分類方式提取特徵
3.Proposed Method
3.1.Model description
- 網絡的整體結構如下圖:
Convolution similarity network(CSN): 用來衡量個輸入的相似性
- 利用STNs來提取有意義的局部區域特徵
- 將局部部分看作卷積核來計算兩組特徵之間的相關性
STN可以用來緩解大的視角差異以及遮擋問題,從圖片中找到有意義的內容,細節介紹參考Spatial Transformer Networks
- 兩個權重不共享的全卷積STNs, 對應 , 對應
- 實驗發現很難通過STNs從 的全局發現相對重要的區域,本文將 劃分成了部分重疊的三個部分,upper,middle,bottom,共享localization net
- sampler的輸出對於 爲 , 爲 , 大於
將提取的區域當做卷積核,在另外一個特徵圖上進行卷積操作,stride=1,通過計算cross-correlation來得到相似性
depth wise convolution
Combination of visual similarities from different levels:
- 結合低級與高級特徵:
- 將第二個以及第三個卷積的 與 concatenated得到10 x 4 x 1152個相似分數圖
- 再通過三個卷積層conv4(1x1), conv5(3x3), conv6(1x1)處理相似得分圖
Objective function: 結合了classification與ranking
- 二分類使用softmax loss
- 使用二分類損失會忽略正確的ranking,可以結合ranking loss來緩解該問題,本文認爲全局特徵難以突出最具有判別力的特徵,不適合做ranking ==> 基於局部視覺特徵的ranknet
- 三個卷積層
- ==> conv(3x3x96) ==> max pooling ==> concatenated(豎直方向) ==> conv(3x3x96) ==> 不同層的特徵圖(concatenated) ==> GAP ==> linear embedding ==> 256維圖片的attended parts的特徵向量 ==>
- Contrastive loss
- 整個網絡的loss
- 測試階段最後的相似得分計算:
3.2. Discussion
Efficiency.相比從tensor直接通過切片來選取rigid part,本文通過全卷積STN來選取有意義的局部特徵在目前深度學習框架下更加容易實現
Learned visual similarity from different levels.
- 由下圖可以看出不同層具有不同層次的特徵(關於CSN2的解釋有點懵)
Model extension.
- 增加更多的CSN模塊,大幅度提高了性能,能達到與用pre-trained模型相當的性能
4.Experiments
4.1.Datasets and evaluation metrics
- CUHK03、CUHK01、VIPeR
- CMC、mAP
4.2.Implementation details
- TensorFlow
- ADAM、BN
- learning rate:0.0005、Weighting decay:0.0005
- Batch size:256 for CUHK03 128 for other
- 與 分別爲10、5
- 數據增強:隨機crop、水平翻轉
- 對於每個正樣本選取兩個負樣本
- 對於transformation parameters作了大於0;考慮到旋轉很少在實際中發生,針對 與 作了
- part的劃分,對於 row1-20爲upper part,10-30爲middle part,20-40爲bottom part,對於 ,row1-10爲upper part,5-15爲middle row,10-20爲bottom row
4.3. Comparison with state-of-the-arts
4.4. Ablation analysis
移除了contrastive loss
探究了結合不同層次視覺相似性的重要性
- 高級語義特徵相比低級特徵更加重要
- 結合不同層次視覺特徵對性能的提升有幫助
不同網絡配置的實驗:
- C1:將圖片分爲三個部分的效果
- C2:將STN替換爲固定的中心裁剪
- C3:只使用Level4的相似性
- C4:原模型
4.5. Complexity Analysis
- 與五個最近提出模型進行了大小與計算複雜度的比較,本文的模型相對較小且有較高的性能
5.Conclusion
- 本文提出的全卷積Siamese網絡
- 從一個輸入圖片的局部提取特徵,並與另一個圖片通過depth-wise convolution高效計算視覺相似性
- 利用在不同卷積層的多個CSNs得到不同層次的視覺相似性
- 在局部區域通過Contrastive loss來提取特徵(ranknet)
- 大量的實驗證明了本文方法以較小的參數與計算複雜度達到了與SOTA方法相當的性能
- 通過Ablation與可視化方法證明了不同層次的特徵對性能提升的貢獻