李辰征,陳 實,卞春江,陳紅珍
(1.中國科學院國家空間科學中心 復雜航天系統綜合電子與信息技術重點實驗室,北京 100190;2.中國科學院大學 計算機科學與技術學院,北京 100049)
傳統的行人屬性識別方法一般利用HOG和LBP等特征,結合姿態估計等輔助信息實現[1],但傳統特征表達能力有限,在分辨率較低、背景復雜的監控場景下具有較大局限性。而卷積神經網絡(convolutional neural network,CNN)是以數據為驅動學習圖像的特征表達[2],有較強的特征提取能力,因此研究者嘗試使用CNN進行行人屬性識別[3,4]。Sarfraz等[5]提出基于視角的VeSPA方法,通過訓練視角檢測器來解決監控視頻中的多視角遮擋問題;Zhao等[6]提出GRL方法,在屬性分組預測前先進行身體部分分塊識別來提高準確性。但這些基于視角和身體部分預處理的方法,需要額外提供視角和身體部位信息,對數據集標注和網絡功能提出了更高的要求。Liu等[7]提出HydraPlus-Net,在多尺度提取注意力掩模用于強調屬性特征;Sara-fianos 等[8]提出了基于視覺注意力整合的屬性識別方法,利用注意力機制獲取屬性相關的空域特征。這種基于注意力機制的方法以弱監督訓練的方式注意屬性相關區域,降低了網絡對視角和身體部位等輔助數據的依賴,但仍需要注意力網絡部分參與屬性預測,增加了網絡體積和計算量。
因此,本文提出了一種基于注意力機制修正的屬性識別網絡(attention mechanism refined network,AMR-Net)。在基礎卷積網絡的基礎上,建立多尺度注意力分支網絡提取注意力特征。注意力網絡利用注意力特征輔助主網絡的訓練,通過多分支融合訓練為主網絡提供權重修正。實驗結果表明,在不增加網絡體積和計算量的情況下,經過注意力機制修正訓練的主網絡可有效提高屬性識別能力。
單層卷積神經網絡根據一定的設計原則進行堆疊[9],形成深度卷積神經網絡。卷積神經網絡具有局部連接和權重共享兩個基本性質,卷積層的作用是提取局部區域的特征,不同的卷積核相當于不同的特征提取器。特征映射通常用三維張量表示,第l-1層卷積的特征映射可表示為X∈H×W×Cl-1。 卷積核用四維張量表示W∈m×n×Cl-1×Cl,每個二維卷積Wp,d∈m×n,其中p∈[1,Cl],d∈[1,Cl-1]。 將第l-1層卷積的特征映射X與卷積核W進行卷積,并添加偏置項b,最后通過非線性激活函數,得到第l層卷積的輸出特征映射
(1)
Yp=f(Zp)
(2)
其中,Wp∈m×n×Cl-1為三維卷積核,f(·) 為非線性激活函數,常用函數有sigmoid、ReLU等。則第l層卷積的輸出特征映射Y=[Y1,Y2,…,YCl]。
深度和寬度是卷積神經網絡的兩個重要因素,在AlexNet之后,網絡結構的突破主要瞄準在將網絡層數做的更深。之后inception網絡[10,11]借鑒了NIN(network in network)的思路,利用多分支結構拓展了網絡的寬度,不同大小卷積核的操作也增加了網絡對尺度的適應性,inception模塊結構如圖1所示。在進行3×3和5×5卷積操作前,先通過1×1的卷積對通道進行降維,降低網絡的運算成本,并能進行跨通道組織信息,提高網絡的表達能力。而殘差網絡(residual network,ResNet)通過殘差學習解決了深度網絡退化的問題,進一步加深了網絡的深度[12]。inception模型與殘差連接相結合形成inception_resnet模塊[13],如圖2所示,加速網絡訓練的同時提升了網絡性能。不同大小的感受野能夠融合圖像不同尺度的特征,使得inception網絡結構在圖像分類方面性能表現較好,因此本文選用inception_v2和inception_resnet_v2作為主網絡進行實驗。

圖1 inception模塊結構

圖2 inception_resnet模塊結構
人的視覺感知系統以一種時序的、部分性的方式去關注場景中的顯著部分,然后再獲取視覺語義信息。受啟發于人類的這種視覺注意力系統,注意力機制的產生也是為指導網絡關注輸入圖像中包含有效信息的空域部分。由于注意力機制能夠在沒有額外空域信息的情況下,關注圖像最有辨識度的區域,因此適用于行人屬性識別這類細粒度圖像分類問題[14]。
注意力機制通常是在輸入數據信息的驅動下,生成對輸入信息不同的關注度。注意力機制的輸入特征可表示為X=[x1,x2,…,xN],i=1,2,…,N,在特定任務下,對應的注意力特征zxi可以通過加性模型表示
zxi=vTtanh(Pxi+U)
(3)
或者,通過點積模型[15]表示
(4)
其中,v、P和U為可學習參數。一般情況下,還會使用softmax函數對注意力特征進行規范化,得到規范化后的注意力特征ai
(5)
本文采用的注意力模塊由注意力分支和置信分支組成[8],網絡結構如圖3所示。注意力模塊以主網絡inception模塊的特征映射Fincep∈H×W×K為輸入,輸出注意力特征映射A∈H×W×C。

圖3 注意力模塊結構
注意力分支由3層卷積層組成,先采用1×1的卷積核對特征維度壓縮,之后通過3×3的卷積進行特征的有效提取,最后一層1×1的卷積將通道數量映射為需要識別的屬性類別數量,每個通道的特征分別代表對應屬性的空域顯著圖。將該屬性注意力特征再通過空域softmax激活映射進行空域規范化
(6)

置信分支通過單層1×1的卷積層將inception特征的通道數同樣地映射為待識別的屬性數量,并進行sigmoid激活。該分支目的是獲得某屬性存在與否的置信度,為通過注意力分支獲得的各注意力特征通道分配置信權重,避免當該屬性不存在時學習到錯誤的區域相關信息。


(7)
(8)
其中,N為訓練樣本的數量,C為屬性類別的數量,σ(·) 即為sigmoid激活函數。
但是這種激活函數忽略了屬性類別間的樣本不均衡性,而在行人屬性識別問題中,不同屬性的正樣本比例可能會極不均衡[4]。例如,對于性別屬性而言,正負樣本比例幾乎相當,然而對于光頭、穿馬甲等屬性,正樣本數量可能會遠小于負樣本。因此為了處理這種樣本屬性不均衡問題,實驗采用了如下的加權sigmoid交叉熵損失函數

(9)
wl=exp(1-pl)
(10)
其中,wl為第l個屬性的損失權重,pl為第l個屬性正樣本比例。通過對損失函數的加權改進,使得當屬性正樣本比例較低時,增加相應的錯誤識別的“懲罰”,提高網絡在這種樣本分布不均衡情況下的學習能力。
本文建立了一個注意力機制修正網絡,網絡結構如圖4所示。該網絡主要由兩部分構成:主網絡為基礎的深度卷積神經網絡;注意力網絡由多尺度的注意力模塊分支組成。

圖4 基于注意力機制修正的行人屬性識別網絡結構
主網絡主要由inception模塊堆疊而成,隨著卷積層數加深,由低層到高層提取行人圖像不同尺度的特征,最后通過全連接層分類輸出屬性預測值,計算主網絡的加權sigmoid交叉熵損失Lm。在注意力網絡部分,為利用卷積網絡不同尺度的特征信息,本文在不同的inception模塊后添加注意力分支(實驗選取inception網絡后兩個inception模塊的輸出特征作為注意力分支的輸入),通過注意力模塊提取注意力特征后,直接通過全局平均池化操作和全連接層分類后獲得注意力分支的屬性識別損失La。
本文提出了一種注意力機制輔助訓練方法,網絡的訓練損失Lcls=Lm+La1+La2,在主網絡損失的基礎上,注意力網絡提供了額外的訓練損失值,通過反向傳播對網絡進行端到端的訓練。因此在訓練過程中,注意力網絡起到輔助主網絡訓練的作用,即利用注意力網絡形成的屬性空域注意能力對主網絡權重進行修正。這種損失累加的方式將主網絡與注意力分支均視為獨立分類器,目的是利用注意力特征為主網絡提供參數修正信息。因此在屬性預測時,僅用主網絡的預測輸出ym作為屬性識別結果,注意力網絡輸出ya將不參與屬性預測結果的計算,即在測試時去掉圖4 中的虛線部分。這樣針對屬性識別任務,便形成了一種利用注意力機制提高主網絡性能的訓練方法。通過這種注意力修正的訓練方式,實現了在不增加模型體積的情況下,提高主網絡的屬性識別性能,這種模型高效性方便了在安防監控中的實際部署。
本文提出的行人屬性識別方法基于注意力機制修正網絡,方法主要包括網絡訓練和預測兩個階段,總體方法流程如圖5所示。在訓練階段,利用行人屬性數據集訓練注意力機制修正網絡,對樣本圖片進行尺寸縮放預處理后,再通過數據增廣增加樣本多樣性,提高卷積網絡的魯棒性。注意力分支通過損失反向傳播輔助網絡訓練,使網絡能夠有效提取行人特征。在預測階段,去掉網絡模型的注意力分支部分,使用經過注意力修正的主網絡實現屬性預測,獲得最終的行人屬性識別結果。

圖5 行人屬性識別方法總體流程
本文使用了RAP數據集[17]進行網絡的訓練與測試實驗。RAP數據集共有41 585張圖片,為商場內26個監控攝像頭拍攝,每張行人樣本都有72種屬性標注(其中包括69種二值屬性和3種多值屬性),還有視角、遮擋和身體分塊信息標注,是樣本數量和標注水平都較高的監控場景下的行人屬性數據集。
研究通常選取正樣本比例大于1%的51種屬性進行實驗,根據文獻[17]中的數據集劃分方式,本實驗采用隨機劃分的33 268張圖片作為訓練集,其余8317張圖像作為測試集。
本實驗網絡模型通過TensorFlow框架實現,模型主網絡選用inception_v2和inception_resnet_v2。主網絡都采用了ImageNet預訓練模型,注意力分支權重則采用了隨機初始化。對于inception_v2網絡,圖片首先調整為256×256大小,然后隨機裁剪為224×224,并通過隨機翻轉進行數據增廣。在訓練時,網絡初始學習率設為0.001,每兩個epoch下降0.65(學習率下降到0.000 01為止),使用 Adam 優化器進行訓練,batch大小設為32。實驗環境為Ubuntu16.04,單塊NVIDIA GeForce GTX 1080 Ti GPU。
在實驗評估方面,本文采用了基于標簽和基于樣本的兩種評估準則[17]。
基于標簽的評估方式通過計算每種屬性的正、負樣本準確率的均值,用這種平均準確率(mean accuracy,mA)作為最終的識別率
(11)
其中,C代表屬性的數量,Pi代表正樣本的數量,TPi代表正確識別的正樣本數量,Ni代表負樣本的數量,TNi代表正確識別的負樣本的數量。這種評估方式不受類別不均衡性影響,但這種評估方式將每種屬性視為獨立,卻忽略了屬性間的相關性。
基于樣本的評估準則包括準確率(accuracy)、精確度(precision)、召回率(recall)和F1指標,如下所示
(12)
(13)
(14)
(15)
其中,N代表實例樣本的數量,Yi代表第i個實例的真實標簽,f(xi) 代表第i個實例的預測標簽, |·| 代表集合的基數。這種評估方式是以每個樣本實例為單位的評估,能對給定樣本更好地進行一致性評價,其中F1指標是精確度和召回率的調和平均,是對識別能力的綜合表達,在監控場景應用中具有更強的實際意義。
本文方法在RAP數據集上的實驗結果見表1,并與其它近年來發表的行人屬性識別方法進行了比較,各項指標的最優值用加粗字體表示。
在上述方法中,DeepMar*[4]和GRL[6]顯式地利用了身體部位信息,VeSPA[5]則訓練視角檢測器為屬性識別提供視角信息,結果表明這些額外的輔助信息確實有助于識別性能的提高,然而需要設計額外的身體部位或視角檢測器,或者需要數據集提供除屬性標簽外其它的標注信息。JRL[18]與GRL還使用了CNN與RNN結合的方法,能夠更好地利用屬性間的相關性,但是需要事先人工確定合適的屬性預測順序,主觀影響較大,并且訓練較復雜。WPAL[16]在多尺度特征圖上提取并融合多層級尺度特征,強制網絡注意相關區域特征。HydraPlus-Net[7]使用獲取的注意力特征進行融合識別,但是計算量較大。Imbalanced-learning[8]使用視覺注意力整合的方法,在注意力模塊后通過多卷積層進一步提取注意力特征,預測時將注意力分支與主網絡輸出的加權平均值作為屬性預測結果。

表1 行人屬性識別方法對比
由表1結果可以看出,本文提出的AMR-Net在RAP數據集上表現出了較強的識別能力,F1值達到了最優80.59%,相比利用視角輔助特征的VeSPA方法提高了1%。本文將Imbalanced-learning方法在RAP數據集上進行了實驗,對比結果發現,在同樣的訓練方式下,本文方法在不增加原網絡體積和計算量的情況下,AMR-Net保證了屬性識別的性能,甚至優于分支輸出加權平均的方法。實驗結果表明,AMR-Net通過弱監督訓練獲得注意力特征,不需要提供額外的輔助信息;在原卷積網絡的基礎上通過注意力網絡分支為主網絡提供權重修正,實現了端到端的高效訓練,并且在不增加模型體積和計算量的前提下,對原網絡的屬性識別性能實現了提升。
為驗證所提出方法的有效性,本文分別選用了inception_v2和inception_resnet_v2兩種基礎卷積網絡為主網絡進行實驗,在RAP數據集上測試屬性識別結果見表2,各項指標的最優值用加粗字體表示。
表2中實驗結果共分為兩組,每組分別由原始主網絡和注意力修正網絡(AMR-Net)的測試結果組成。對于原始主網絡模型,inception_resnet_v2的mA相較inception_v2由74.01%提升至78.33%,F1也由79.02%提升至79.83%,可以看出隨著網絡層數和結構復雜度增加,網絡的識別性能提高。每組結果中,AMR-Net與相應的原始主網絡相比性能均得到了提升,對于inception_v2為主網絡的AMR-Net,mA提升了0.48%,F1值提升了0.34%。當AMR-Net以inception_resnet_v2為主網絡時,基于樣本的各項指標性能都得到了提高,F1值達到了80.59%,相較基礎網絡提高了0.76%。通過該組實驗結果表明,本文提出的AMR-Net具有普適性和有效性,能夠適用于不同的基礎卷積網絡,為原網絡帶來性能提升。這對網絡模型體積和計算量要求較高的情況下,具有較高的實際應用價值。

表2 不同主網絡結構下的屬性識別結果
本文也對注意力模塊的輸出特征進行了可視化分析。由圖6中第一行可以看出,注意力特征關注到了單肩包和襯衫對應的區域。對于更高階的語義屬性,例如打電話行為,注意力特征也捕獲到手機所在的區域。還有性別這類抽象屬性,注意力特征則注意到目標所在的全局特征,這也與人們的自然認知相符。通過將注意力特征可視化的定性分析,可以發現注意力分支確實能夠為主網絡提供正確有用的信息修正,有助于主網絡的性能提升。
圖7展示了通過AMR-Net進行行人屬性識別的結果。樣本圖片右側為網絡預測的屬性,黑色字體表示識別正確的屬性,加粗字體表示識別錯誤的屬性,在括號中標明了對應的正確標簽,帶下劃線字體表示漏檢的屬性,刪除線字體表示網絡識別的多余屬性。可以看出,對于較為明顯的特征,如黑色頭發、圍巾和性別等有很高的識別率,還有緊身褲和長褲這種差別細微的屬性也能得到較好的識別。但是對于視角變化情況導致屬性特征不明顯,以及顏色和外觀語義相似的屬性識別能力還有待提高。

圖6 注意力特征可視化分析

圖7 基于注意力機制修正網絡(AMR-Net)的行人屬性識別結果
本文受注意力機制在細粒度圖像分類應用的啟發,提出了一個端到端的基于注意力機制修正的網絡模型,用于安防監控場景下的行人屬性識別。本文方法在主網絡的多尺度特征后添加注意力分支,提取屬性對應的空域注意力特征,在網絡訓練過程中對主網絡進行權重修正,實現了在不增加模型體積和計算量的情況下,提升主網絡的屬性識別性能。通過在RAP數據集上與現有方法的實驗對比,本文方法將F1提升到80.59%,驗證了本文方法的有效性。本文方法可適用于不同的卷積網絡結構,具有一定的普適性,可應用于不同網絡的性能提升。在未來的工作中,將對注意力網絡進行更深入的研究,將注意力信息更好地與網絡特征相結合,提高網絡在復雜背景和相似屬性情況下的屬性識別能力。