天天看點

[論文閱讀]CVPR2015_An Improved Deep Learning Architecture for Person Re-Identification

Title: An Improved Deep Learning Architecture for Person Re-Identification

Authors and Affiliations : Ejaz Ahmed from University of Maryland, Michael Jones and Tim K. Marks from Mitsubishi Electric Research Labs

CVPR2015

論文 相關代碼

Contribution

摘要

該方法提出針對行人重識别問題同時學習特征和對應的相似性度量的方法。提出了一種為重識别問題設計的深度學習架構,輸入仍然是一對圖像,輸出是相似性值,表示是否屬于同一個人。網絡結構的創新點包括可以計算交叉輸入鄰域差的層(a layer that computes cross-input neighborhood differences,),該層可以根據每張圖的mid-level特征捕捉兩張輸入圖像的局部關系。該層輸出的high-level summary,由一層patch summary feature計算得到,然後空間上內建到後續層中。該論文的方法在大資料集CUHK03上和中等資料集CUHK01)優于當時最好的方法,并且對過拟合有一定的阻抗。該文同樣指出,先在無關的大資料集上訓練,随後在小目标資料集上fine-tuning,該網絡通過這種政策可以在小資料集上(VIPeR)實作最優表現。

1. introduction

行人重識别定義:Person re-identification is the problem of identifying people across images that have been taken using different cameras, or across time using a single camera.要麼是不同攝像頭拍攝的圖像,要麼是同一攝像頭不同時刻拍攝的圖像。

網絡結構中有兩種新穎的層:一個是鄰域差分層,比較兩張圖像對應的卷積特征塊;另一個是随後的層,該層特征用于總結每個塊的鄰域差分。

2. Related Work

2.1. Overview of Previous Re-IdentificationWork

之前的工作主要集中在兩方面,特征提取和度量學習。找到更好的特征(對光照。姿态和視角變化更具不變性)或者找到更好的度量(度量學習一般是從特征空間映射到新的空間,使得同一個圖像對的距離更小,不同圖像對的距離更大),或者二者都有。

2.2. Deep Learning for Re-Identification

14年的兩篇文章[1] [2]

3. Our Architecture

網絡結構依次包括(見Figure 2):

  • two layers of tied convolution with max pooling
  • cross-input neighborhood differences
  • patch summary features
  • across-patch features
  • higher-order relationships
  • finally, a softmax function to yield the final estimate of whether the input images are of the same person or not.
[論文閱讀]CVPR2015_An Improved Deep Learning Architecture for Person Re-Identification

具體參數

[論文閱讀]CVPR2015_An Improved Deep Learning Architecture for Person Re-Identification

從輸入到輸出依次介紹網絡結構:

3.1. Tied Convolution

作者為了使得兩張圖像特征具有可比性,前兩層(兩條分支)進行特征提取時權重是共享的。輸入圖像尺寸是 $ 160 \times 60 \times 30 $,第一個卷積層是$20$個$ 5 \times 5 \times 3 $濾波器(輸出大小為$\frac{60-5+1}{1} \times \frac{160-5+1}{1}= 56 \times 156 \times 20$),再經過2X2的maxpooling層,得到28X78X20大小。第二個卷積層(25X5X5X20)和maxpooling層(2X2),輸出是12X37X25。

3.2. Cross-Input Neighborhood Differences

上述Tied Convolution輸出的是兩組12X37X25的feature map,分别記為$f$和$g$。兩組對應次元$i$的12X37 map,用下述公式得到$K_{i}$: $$K_{i}(x,y)=f_{i} \mathcal{1}(5,5)-\mathcal{N}[g_{i}(x,y)] $$其中,減号前面是用(x,y)處$f_{i}$像素值複制成5X5的矩陣,後面是以(x,y)為中心坐标的5X5的$g_{i}$鄰域值矩陣。

将f和g對調,得到$K’_{i}$,這樣就得到$\{K_{i}\}_{i=1}^25$和$\{K\'_{i}\}_{i=1}^25$共50維,大小都是12X37。

該50維的鄰域差異圖(50 neighborhood difference maps)再經過ReLU激活函層。

為什麼用5X5而不直接用(x,y)的像素值是因為行人在兩幅圖像的position variance.

3.3. Patch Summary Features

該層的作用是對上述的鄰域差異圖5X5的block進行總結。從$$K\in \mathbb{R}^{12\times37\times5\times5\times25} \to L\in \mathbb{R}^{12\times37\times25}$$具體做法是用25個5X5X25的濾波器對K進行卷積操作,步長=5。

了解:實際上是K尺寸 (12X5)X(37X5)X25, K’尺寸 (12X5)X(37X5)X25,即圖上的 (12X5)X(37X5)X50。卷積核尺寸是5X5X25,是以K經卷積之後得到L為(12X37X25),K’經卷積之後得到L’為(12X37X25),即圖上的 (12X37X50)。注意卷積是分别卷前25維(K)和後25維(K’),不是像一般卷積直接對50維進行操作。

作者認為L在(x,y)處的25維patch summary特征向量提供了(x,y)鄰域的cross-input differences的high-level summary。L和L’都經過ReLU。

3.4. Across-Patch Features

學習鄰域差異的空間關系。用25個3X3X25的卷積核卷積L(步長=1)。然後再經過2X2的maxpooling。得到25維5X18的特征層M$$M\in \mathbb{R}^{5\times18\times25}$$。同樣的方式處理L’得到M’。其中$ L \to M; L\' \to M\' $的濾波器沒有捆綁(tied)。

3.5. Higher-Order Relationships

對M和M’經過全連接配接層(輸出為500x1),然後再經過一個全連接配接層和softmax,輸出2X1(表示兩張影像是同一個人和不同人的機率)

4. Visualization of Features

下圖顯示了L1-L6的特征層可視化結果,分為正樣本(相同)和負樣本(不同)。

L1:顯示的是第一次經過tied convolution layer後20個次元中的某1維。正樣本的特征對明亮的白色區域響應強烈,兩幅圖都高亮襯衣區域;負樣本則對黑色區域響應強烈,view1響應襯衣而view2響應褲子。

L2:顯示某一對fi和gi(第二次經過tied convolution layer)。正樣本對捕捉的是棕褐色和膚色區域,對人的腿、手和臉響應高。正樣本對兩幅圖的相似區域都有高亮;相反負樣本對對不同部位做出了響應:view1中人的腿(粉色短褲和粉紅色的皮膚),view2中人的軀幹(粉色的上衣和粉紅色的手臂)。

L3:鄰域差分層并經過激活層後的特征。激活層會将所有負值映射為0。對于正樣本對,理想情況下,鄰域差分圖應該接近于零。非零值在整個圖上應該很小且相對均勻,主要是因為比較的兩個特征圖非常相似。L3左側對應兩幅就是這樣,其中左邊這幅(Ki)均勻分布,右邊這幅(K’i)幾乎全部為0;而對于L3右側的負樣本對圖,Ki對腿響應強烈但其餘部位是0,K’i隻對軀幹響應。

L4:類似于L3

L5:鄰域差分圖的高階關系在L5中得到總結。(沒看出來)

L6:第一個FC層。正負樣本對的表現有很大差別。

[論文閱讀]CVPR2015_An Improved Deep Learning Architecture for Person Re-Identification

5. Comparison with Other Deep Architectures

這部分工作是修改網絡的部分結構以突顯論文提出的網絡結構的合理性。也有可能是作者在實驗過程中嘗試不同的組合,最後由結果推過程進行解釋。

Element-wise difference: 将feature map的鄰域差分改成對應的位置(單像素)差分。

Disparity-wise convolution: 該結構為了說明patch summary features的優勢。将對應的50維的鄰域差分圖(大小為$\mathbb{R}^{12\times37\times5\times5}$),重排列(rearranged)成50個feature map,分成25組,每個feature map大小為$\mathbb{R}^{12\times37}$。(25組,每組有50張37*12?)卷積直接處理每組。後面再接FC和softmax。

Four-layer convnet: 把卷積層改成4層而非兩層。

FPNN:

6. Training the Network

資料增強,Hard Negative Mining,Fine-tuning

7. Experiments

[論文閱讀]CVPR2015_An Improved Deep Learning Architecture for Person Re-Identification
[論文閱讀]CVPR2015_An Improved Deep Learning Architecture for Person Re-Identification
[論文閱讀]CVPR2015_An Improved Deep Learning Architecture for Person Re-Identification