【論文筆記】Dual Attention Matching Network for Context-Aware Feature Sequence based Person Re-Ident
論文地址[1803.09937] Dual Attention Matching Network for Context-Aware Feature Sequence based Person Re-Identification Accepted in CVPR 2018
Motivation:
經典的reid通常使用單個特徵向量(單張圖片)來表示行人,並將其與任務特定的度量空間進行匹配。這種方式不足以應對在實際場景中常見的視覺模糊。
當行人外觀變化發生較大變化或者不同人穿相似衣服時,基於單個特徵向量的表示的ReID就變得相當困難。
視頻序列中也有一些干擾幀,這將嚴重影響整個特徵向量,從而導致無法匹配。
a 不同的人衣服相似,很難區分。
b 無法對齊。
c 出現遮擋時,基於人體結構的feature sets也可能失效 。
d 視頻中存在干擾幀 。
Method:
主要貢獻:
1、提出端到端的訓練框架DuATM
2、dual attention mechanism 同時做序列內的feature refinement 和序列間的特徵對對齊。
3、整個網路為siamses網路結構,triplet loss作為主要主要loss,de-correlation loss 和一個cross-entropy loss 做輔助,並評估每部分的有效性。
4、在基於圖像和視頻的benchmark datasets 上做了大量實驗證明其有效性。
為了解決上述問題,作者提出了Dual ATtention Matching network (DuATM) ,如圖2,。網路由兩個模塊構成,第一個模塊用於特徵序列提取,第二個模塊用於特徵序列匹配 。
Loss function採用tripletloss 並以Cross-Entropy Loss和De-Correlation Loss為輔助。
Dual ATtention Matching network (DuATM)
Feature Sequence Extraction Module
採用DenseNet-121 作為特徵序列提取模塊的backbone
圖像和視頻特徵提取略有不同
1、圖像特徵提取:從DenseNet-Block4 的輸出得到feature map,feature map reshaping後送入FC層,得到更加compact embedding space。
2、視頻特徵序列特徵提取:長度為T的視頻 ,如圖3(b) 。視頻中的每個timestep 傳遞給DenseNet ,得到frame-level 的feature vector 。再通過bidirectional recurrent layer。來自不同time-steps的所有隱藏層的輸出組成最終的視頻特徵序列。
Sequence Matching Module
Sequence matching module是DuATM的最重要組成部分,特徵序列提取模塊得到的特徵序列包含豐富的上下文信息,Sequence matching module 就是利用上下文信息通過attention mechanism幫助特徵向量refinement(去除干擾幀的影響),特徵序列對對齊。
特徵序列對 ,其中 。如果特徵序列對中的一個被視為memory,則該序列內的每個特徵向量的refinement可以通過序列內attention過程來實現。如果將另一個序列作為memory,則每個特徵向量的對齊可以通過序列間attention過程來實現;反之亦然。
如圖4 (b)在refinement和對齊後,整體序列距離是通過整合refined和對齊配對的特徵向量後的每個序列對之間的多個local distances來計算的。
dual attention 是由一個transform layer和一個attention layer組成。其中transform layer是用於生成feature-aware filter,attention layer是用於生成對應的attention weights.
如圖4 (b)
的生成過程為例介紹dual attention塊。
讓 作為一個reference feature進行refinement和對齊。
首先通過transform layer得到filter 。
然後通過attention層,序列內refinement和序列間對齊:
表示求內積。
最後,得到refine和對齊後的
其中 是用于歸一化的softmax函數。
距離計算
用歐幾里得距離計算特徵對之間的距離
特徵序列 和 的距離是通過average pooling聚合這些距離後的結果
其中 為序列匹配模塊定義的距離,將序列匹配模塊中的所有參數(即W,b和BN層中的參數)表示為 。
Loss function
Loss function定義為:
其中 λ1 > 0 ,λ2 > 0,是兩個tradeoff參數。
將triplet loss 定義為:
其中r>0(實驗中r=0.2)
De-Correlation Loss定義:
Cross-Entropy Loss:
其中c是與輸入X相同的標籤,{wc,bc}分別指FC層的權重矩陣和偏移向量的第c行,θ包含新FC層中的參數。
4. Experiments
三大數據集上的實驗結果:
可視化結果
推薦閱讀:
TAG:計算機視覺 | 行人重識別 | 深度學習DeepLearning |