Introduction
(1)Motivation:
當前采用CNN-RNN模型解決行人重識別問題僅僅提取單一視頻序列的特征表示,而沒有把視頻序列匹配間的影響考慮在內,即在比較不同人的時候,根據不同的行人關注不同的部位,如下圖:
(2)Contribution:
將注意力模型考慮進行人重識別中,提出了時空聯合注意力池化網絡(jointly Attentive Spatial-Temporal Pooling Networks,ASTPN).
The Proposed Model Architecture
(1)簡述:
建立了時空注意力網絡(a recurrent-convolutional network with jointly attentive spatial-temporal pooling,ASTPN),其工作原理是:將一對視頻序列傳入孿生神經網絡,獲得兩者的特征表示,並生成它們的歐幾里德距離。如圖所示,每個輸入(包含光流的視頻幀)通過CNN網絡,並從最后一個卷積層中提取出特征映射。然后將這些特征映射輸入到空間池層中,每一個時間步獲得一個圖像表示。然后,我們把時間信息考慮在內,利用循環神經網絡生成視頻序列的特征集。最后,由循環神經網絡產生的所有時間步被注意力時間池結合起來,形成序列特征表示。
(2)卷積層:
輸入:網絡的輸入由三個彩色通道和兩個光流組成。顏色通道提供服裝和背景等空間信息,而光流通道提供時間運動信息。給定輸入序列 v = {v1, …, vT},我們利用下表所示的卷積網絡獲得特征映射集 C = {C1,…,CT}。然后將每個 Ci∈Rc×w×h 輸入空間池化層,得到圖像級表示 ri。
(3)空間池化層(Spatial Pooling Layer):
使用空間金字塔池化(SPP)層來組成空間注意力池,具體如下:
假設池化核大小集為{(mwj, mhj)| j = 1, …, n},則確定第 j 個池化核窗口大小:
第 j 個池化步長為:
然后通過公式得到結果向量 ri:
其中 fp 表示采用窗口大小 win 和步長 str 的最大池化函數。fR 表示重構函數,將矩陣重構成一個向量。除此之外,⊕ 表示向量連接操作。
令一個序列表示為r = {ri∈RL | i = 1, …, T},其中:。
(4)注意力時間池化層(Attentive Temporal Pooling Layer)
將上一層得到的 r 輸入到循環神經網絡提取時間步信息,循環層可以計算表示為:
其中 st-1∈RN 是包含上一時間步信息的隱藏層結點,ot 是時間t的輸出。全連接權重 U∈RL*N 將循環層輸入 rt 從 RL 映射到 RN,全連接權重 W∈RN*N 將隱藏層結點 st-1 從 RN 映射到 RN 。注意到循環層通過矩陣U將特征向量嵌入到低維特征中。在第一個時間步中,隱藏層結點被初始化為0,隱藏層通過tanh函數激活傳遞。
定義矩陣 P∈RT*N 和 G∈RT*N,其第 i 行分別表示檢測數據和對照數據在循環網絡的第 i 個時間步的輸出,我們計算注意力矩陣 A∈RT*T:
其中 U∈RN*N 是網絡學習的信息分享感知矩陣。
之后,對 A 分別應用列最大池化和行最大池化來獲得時間權重向量 tp∈RT 和 tg∈RT。tp 的第 i 個元素表示探測序列中第 i 幀的重要得分,tg 同理。再對時間權重向量 tp 和 tg 應用softmax函數,來生成注意力向量 ap∈RT 和 ag∈RT。ag 的第 i 個元素可以計算為:
最后,應用 P、G 和 ap、ag 之間的點乘來獲得序列級表示 vp∈RN 和 vg∈RN,分別計算為:
(5)損失函數:思想與上篇論文類似【傳送門】
孿生神經網絡的鉸鏈損失:
將識別身份的損失考慮在內,訓練目標為:
Experimental Results
(1)實驗設置:
① 數據集:iLIDS-VID、PRID-2011、MARS
② 參數設置:截取的幀數 k = 18,孿生代價函數的邊距 m = 3,特征空間維數為128,初始學習率0.001,批量設置為1.
③ 對比方法:RNN-CNN、RFA、VR、AFDA
(2)預處理:
① 裁剪、鏡像來增強數據,裁剪后的子圖像的寬度和長度都比原圖像小8個像素,在整個序列隨機使用鏡像操作,概率 p=0.5。
② 將圖像精確地轉換為YUV顏色空間,並將每個顏色通道歸一化為零均值和單位方差;使用Lucas-Kanade方法在每對相鄰圖像之間提取垂直和水平的光流,然后提取光流通道正規化為[-1, 1]
(3)實驗結果:
① 與對比方法比較:
② 在MARS數據集上結果:
③ 不同池化策略的比較:
④ 交叉數據集上測試結果:
在ILIDS-VID數據集上進行訓練,然后在PRID-2011數據集上進行測試。