HydraPlus-Net: Attentive Deep Features for Pedestrian Analysis

論文:https://arxiv.org/abs/1709.09930
代碼:https://github.com/xh-liu/HydraPlus-Net

1 簡介

用於圖像分類的CNN網絡,往往關心的是圖像的全局特徵。而行人屬性分析,有的屬性,如年齡、性別等,需要依據圖像的全局特徵進行判別。但有的屬性,比如頭髮長短、是否在打電話,需要依據低層的局部特徵進行判別。作者提出的HP-Net,使用了多層次的特徵,對全局屬性和局部屬性都進行了較好的描述,取得了較好的行人屬性分析結果。

在這裏插入圖片描述

2 核心思想

在這裏插入圖片描述
HP-Net由兩部分組成,第一部分是一個進行圖像特徵提取的普通CNN網絡,稱之爲M-Net;第二部分AF-Net包含應用於不同網絡層的多個多方向注意力模塊(multi-directional attention module,MDA),AF-Net是在和M-Net共享的基礎卷積網絡的基礎上添加了MDA模塊。M-Net和AF-Net的輸出拼接後,經過GAP和fc層之後的輸出可用於行人屬性識別和行人重識別。

作者使用的是修改後的inception_V2結構做骨幹網絡。

2.1 AF-Net

AF-Net包含兩部分,第一部分是從對應的inception層生成attention map,第二部分是把生成的attention map作爲掩模對所有的特徵進行過濾。如下圖所示是attention map α2\alpha^2的示意圖,它從block 2的輸出中產生,影響了三個block的原始輸出。

在這裏插入圖片描述不同層的特徵生成的attention map的特徵的尺度也是不同的,比如block 1生成的attention map α1\alpha^1,表示的都是一些局部信息(邊緣和紋理),而block 3生成的attention map α3\alpha^3往往表示的是一些更加全局的語義信息,如下圖(a)所示。並且生成的attention map的不同通道關注的是不同類型的信息,如下圖(b)所示,有的通道更加關注背景區域,有的通道更加關注行人頭部區域,等等。

在這裏插入圖片描述
生成attention map的具體過程是對block i的輸出FiRC×H×WF^i \in R^{C \times H \times W},應用1*1的卷積、BN和Relu操作得到的,輸出的attention map也是多通道的,這裏作者固定通道數爲8.

attention map生成之後,和相鄰塊的特徵進行逐點相乘的操作,注意這裏和普通的注意力機制不同,普通的注意力機制生成的attention map隻影響當前層的輸出,而這裏作者使其影響了多個輸出。應用attention map之後的輸出稱之爲attention feature map,其繼續在網絡中進行前向運算,最後將各輸出拼接起來得到最後的輸出。

2.2 分階段訓練

HP-Net採用分階段訓練,訓練過程爲:

  1. 首先訓練M-Net;
  2. 將M-Net複製三次構建三個MDA module,每個MDA包含三個分支,即臨近的三個不同的inception blocks,依次微調每個blocks,即共有9個blocks需要微調;
  3. 最後訓練GAP層和FC層;
  4. 輸出用於行人屬性識別時使用交叉熵損失,用於行人重識別時使用softmax loss。

沒看代碼,還是感覺有點不太理解。

3 實驗結果

作者還提出了新的PA-100K數據集。

行人屬性識別的結果
在這裏插入圖片描述行人重識別結果
對提取的特徵計算餘弦距離計算是否是同一個人。

在這裏插入圖片描述

4 總結

在行人屬性識別中引入注意力機制,並且結合多尺度的特徵進行不同粒度的屬性的判別,的確思路比較好。但就是訓練過程感覺很繁瑣。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章