李辰征,陳 實(shí),卞春江,陳紅珍
(1.中國科學(xué)院國家空間科學(xué)中心 復(fù)雜航天系統(tǒng)綜合電子與信息技術(shù)重點(diǎn)實(shí)驗(yàn)室,北京 100190;2.中國科學(xué)院大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,北京 100049)
傳統(tǒng)的行人屬性識別方法一般利用HOG和LBP等特征,結(jié)合姿態(tài)估計等輔助信息實(shí)現(xiàn)[1],但傳統(tǒng)特征表達(dá)能力有限,在分辨率較低、背景復(fù)雜的監(jiān)控場景下具有較大局限性。而卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)是以數(shù)據(jù)為驅(qū)動學(xué)習(xí)圖像的特征表達(dá)[2],有較強(qiáng)的特征提取能力,因此研究者嘗試使用CNN進(jìn)行行人屬性識別[3,4]。Sarfraz等[5]提出基于視角的VeSPA方法,通過訓(xùn)練視角檢測器來解決監(jiān)控視頻中的多視角遮擋問題;Zhao等[6]提出GRL方法,在屬性分組預(yù)測前先進(jìn)行身體部分分塊識別來提高準(zhǔn)確性。但這些基于視角和身體部分預(yù)處理的方法,需要額外提供視角和身體部位信息,對數(shù)據(jù)集標(biāo)注和網(wǎng)絡(luò)功能提出了更高的要求。Liu等[7]提出HydraPlus-Net,在多尺度提取注意力掩模用于強(qiáng)調(diào)屬性特征;Sara-fianos 等[8]提出了基于視覺注意力整合的屬性識別方法,利用注意力機(jī)制獲取屬性相關(guān)的空域特征。這種基于注意力機(jī)制的方法以弱監(jiān)督訓(xùn)練的方式注意屬性相關(guān)區(qū)域,降低了網(wǎng)絡(luò)對視角和身體部位等輔助數(shù)據(jù)的依賴,但仍需要注意力網(wǎng)絡(luò)部分參與屬性預(yù)測,增加了網(wǎng)絡(luò)體積和計算量。
因此,本文提出了一種基于注意力機(jī)制修正的屬性識別網(wǎng)絡(luò)(attention mechanism refined network,AMR-Net)。在基礎(chǔ)卷積網(wǎng)絡(luò)的基礎(chǔ)上,建立多尺度注意力分支網(wǎng)絡(luò)提取注意力特征。注意力網(wǎng)絡(luò)利用注意力特征輔助主網(wǎng)絡(luò)的訓(xùn)練,通過多分支融合訓(xùn)練為主網(wǎng)絡(luò)提供權(quán)重修正。實(shí)驗(yàn)結(jié)果表明,在不增加網(wǎng)絡(luò)體積和計算量的情況下,經(jīng)過注意力機(jī)制修正訓(xùn)練的主網(wǎng)絡(luò)可有效提高屬性識別能力。
單層卷積神經(jīng)網(wǎng)絡(luò)根據(jù)一定的設(shè)計原則進(jìn)行堆疊[9],形成深度卷積神經(jīng)網(wǎng)絡(luò)。卷積神經(jīng)網(wǎng)絡(luò)具有局部連接和權(quán)重共享兩個基本性質(zhì),卷積層的作用是提取局部區(qū)域的特征,不同的卷積核相當(dāng)于不同的特征提取器。特征映射通常用三維張量表示,第l-1層卷積的特征映射可表示為X∈H×W×Cl-1。 卷積核用四維張量表示W(wǎng)∈m×n×Cl-1×Cl,每個二維卷積Wp,d∈m×n,其中p∈[1,Cl],d∈[1,Cl-1]。 將第l-1層卷積的特征映射X與卷積核W進(jìn)行卷積,并添加偏置項(xiàng)b,最后通過非線性激活函數(shù),得到第l層卷積的輸出特征映射
(1)
Yp=f(Zp)
(2)
其中,Wp∈m×n×Cl-1為三維卷積核,f(·) 為非線性激活函數(shù),常用函數(shù)有sigmoid、ReLU等。則第l層卷積的輸出特征映射Y=[Y1,Y2,…,YCl]。
深度和寬度是卷積神經(jīng)網(wǎng)絡(luò)的兩個重要因素,在AlexNet之后,網(wǎng)絡(luò)結(jié)構(gòu)的突破主要瞄準(zhǔn)在將網(wǎng)絡(luò)層數(shù)做的更深。之后inception網(wǎng)絡(luò)[10,11]借鑒了NIN(network in network)的思路,利用多分支結(jié)構(gòu)拓展了網(wǎng)絡(luò)的寬度,不同大小卷積核的操作也增加了網(wǎng)絡(luò)對尺度的適應(yīng)性,inception模塊結(jié)構(gòu)如圖1所示。在進(jìn)行3×3和5×5卷積操作前,先通過1×1的卷積對通道進(jìn)行降維,降低網(wǎng)絡(luò)的運(yùn)算成本,并能進(jìn)行跨通道組織信息,提高網(wǎng)絡(luò)的表達(dá)能力。而殘差網(wǎng)絡(luò)(residual network,ResNet)通過殘差學(xué)習(xí)解決了深度網(wǎng)絡(luò)退化的問題,進(jìn)一步加深了網(wǎng)絡(luò)的深度[12]。inception模型與殘差連接相結(jié)合形成inception_resnet模塊[13],如圖2所示,加速網(wǎng)絡(luò)訓(xùn)練的同時提升了網(wǎng)絡(luò)性能。不同大小的感受野能夠融合圖像不同尺度的特征,使得inception網(wǎng)絡(luò)結(jié)構(gòu)在圖像分類方面性能表現(xiàn)較好,因此本文選用inception_v2和inception_resnet_v2作為主網(wǎng)絡(luò)進(jìn)行實(shí)驗(yàn)。
圖1 inception模塊結(jié)構(gòu)
圖2 inception_resnet模塊結(jié)構(gòu)
人的視覺感知系統(tǒng)以一種時序的、部分性的方式去關(guān)注場景中的顯著部分,然后再獲取視覺語義信息。受啟發(fā)于人類的這種視覺注意力系統(tǒng),注意力機(jī)制的產(chǎn)生也是為指導(dǎo)網(wǎng)絡(luò)關(guān)注輸入圖像中包含有效信息的空域部分。由于注意力機(jī)制能夠在沒有額外空域信息的情況下,關(guān)注圖像最有辨識度的區(qū)域,因此適用于行人屬性識別這類細(xì)粒度圖像分類問題[14]。
注意力機(jī)制通常是在輸入數(shù)據(jù)信息的驅(qū)動下,生成對輸入信息不同的關(guān)注度。注意力機(jī)制的輸入特征可表示為X=[x1,x2,…,xN],i=1,2,…,N,在特定任務(wù)下,對應(yīng)的注意力特征zxi可以通過加性模型表示
zxi=vTtanh(Pxi+U)
(3)
或者,通過點(diǎn)積模型[15]表示
(4)
其中,v、P和U為可學(xué)習(xí)參數(shù)。一般情況下,還會使用softmax函數(shù)對注意力特征進(jìn)行規(guī)范化,得到規(guī)范化后的注意力特征ai
(5)
本文采用的注意力模塊由注意力分支和置信分支組成[8],網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。注意力模塊以主網(wǎng)絡(luò)inception模塊的特征映射Fincep∈H×W×K為輸入,輸出注意力特征映射A∈H×W×C。
圖3 注意力模塊結(jié)構(gòu)
注意力分支由3層卷積層組成,先采用1×1的卷積核對特征維度壓縮,之后通過3×3的卷積進(jìn)行特征的有效提取,最后一層1×1的卷積將通道數(shù)量映射為需要識別的屬性類別數(shù)量,每個通道的特征分別代表對應(yīng)屬性的空域顯著圖。將該屬性注意力特征再通過空域softmax激活映射進(jìn)行空域規(guī)范化
(6)
置信分支通過單層1×1的卷積層將inception特征的通道數(shù)同樣地映射為待識別的屬性數(shù)量,并進(jìn)行sigmoid激活。該分支目的是獲得某屬性存在與否的置信度,為通過注意力分支獲得的各注意力特征通道分配置信權(quán)重,避免當(dāng)該屬性不存在時學(xué)習(xí)到錯誤的區(qū)域相關(guān)信息。
(7)
(8)
其中,N為訓(xùn)練樣本的數(shù)量,C為屬性類別的數(shù)量,σ(·) 即為sigmoid激活函數(shù)。
但是這種激活函數(shù)忽略了屬性類別間的樣本不均衡性,而在行人屬性識別問題中,不同屬性的正樣本比例可能會極不均衡[4]。例如,對于性別屬性而言,正負(fù)樣本比例幾乎相當(dāng),然而對于光頭、穿馬甲等屬性,正樣本數(shù)量可能會遠(yuǎn)小于負(fù)樣本。因此為了處理這種樣本屬性不均衡問題,實(shí)驗(yàn)采用了如下的加權(quán)sigmoid交叉熵?fù)p失函數(shù)
(9)
wl=exp(1-pl)
(10)
其中,wl為第l個屬性的損失權(quán)重,pl為第l個屬性正樣本比例。通過對損失函數(shù)的加權(quán)改進(jìn),使得當(dāng)屬性正樣本比例較低時,增加相應(yīng)的錯誤識別的“懲罰”,提高網(wǎng)絡(luò)在這種樣本分布不均衡情況下的學(xué)習(xí)能力。
本文建立了一個注意力機(jī)制修正網(wǎng)絡(luò),網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。該網(wǎng)絡(luò)主要由兩部分構(gòu)成:主網(wǎng)絡(luò)為基礎(chǔ)的深度卷積神經(jīng)網(wǎng)絡(luò);注意力網(wǎng)絡(luò)由多尺度的注意力模塊分支組成。
圖4 基于注意力機(jī)制修正的行人屬性識別網(wǎng)絡(luò)結(jié)構(gòu)
主網(wǎng)絡(luò)主要由inception模塊堆疊而成,隨著卷積層數(shù)加深,由低層到高層提取行人圖像不同尺度的特征,最后通過全連接層分類輸出屬性預(yù)測值,計算主網(wǎng)絡(luò)的加權(quán)sigmoid交叉熵?fù)p失Lm。在注意力網(wǎng)絡(luò)部分,為利用卷積網(wǎng)絡(luò)不同尺度的特征信息,本文在不同的inception模塊后添加注意力分支(實(shí)驗(yàn)選取inception網(wǎng)絡(luò)后兩個inception模塊的輸出特征作為注意力分支的輸入),通過注意力模塊提取注意力特征后,直接通過全局平均池化操作和全連接層分類后獲得注意力分支的屬性識別損失La。
本文提出了一種注意力機(jī)制輔助訓(xùn)練方法,網(wǎng)絡(luò)的訓(xùn)練損失Lcls=Lm+La1+La2,在主網(wǎng)絡(luò)損失的基礎(chǔ)上,注意力網(wǎng)絡(luò)提供了額外的訓(xùn)練損失值,通過反向傳播對網(wǎng)絡(luò)進(jìn)行端到端的訓(xùn)練。因此在訓(xùn)練過程中,注意力網(wǎng)絡(luò)起到輔助主網(wǎng)絡(luò)訓(xùn)練的作用,即利用注意力網(wǎng)絡(luò)形成的屬性空域注意能力對主網(wǎng)絡(luò)權(quán)重進(jìn)行修正。這種損失累加的方式將主網(wǎng)絡(luò)與注意力分支均視為獨(dú)立分類器,目的是利用注意力特征為主網(wǎng)絡(luò)提供參數(shù)修正信息。因此在屬性預(yù)測時,僅用主網(wǎng)絡(luò)的預(yù)測輸出ym作為屬性識別結(jié)果,注意力網(wǎng)絡(luò)輸出ya將不參與屬性預(yù)測結(jié)果的計算,即在測試時去掉圖4 中的虛線部分。這樣針對屬性識別任務(wù),便形成了一種利用注意力機(jī)制提高主網(wǎng)絡(luò)性能的訓(xùn)練方法。通過這種注意力修正的訓(xùn)練方式,實(shí)現(xiàn)了在不增加模型體積的情況下,提高主網(wǎng)絡(luò)的屬性識別性能,這種模型高效性方便了在安防監(jiān)控中的實(shí)際部署。
本文提出的行人屬性識別方法基于注意力機(jī)制修正網(wǎng)絡(luò),方法主要包括網(wǎng)絡(luò)訓(xùn)練和預(yù)測兩個階段,總體方法流程如圖5所示。在訓(xùn)練階段,利用行人屬性數(shù)據(jù)集訓(xùn)練注意力機(jī)制修正網(wǎng)絡(luò),對樣本圖片進(jìn)行尺寸縮放預(yù)處理后,再通過數(shù)據(jù)增廣增加樣本多樣性,提高卷積網(wǎng)絡(luò)的魯棒性。注意力分支通過損失反向傳播輔助網(wǎng)絡(luò)訓(xùn)練,使網(wǎng)絡(luò)能夠有效提取行人特征。在預(yù)測階段,去掉網(wǎng)絡(luò)模型的注意力分支部分,使用經(jīng)過注意力修正的主網(wǎng)絡(luò)實(shí)現(xiàn)屬性預(yù)測,獲得最終的行人屬性識別結(jié)果。
圖5 行人屬性識別方法總體流程
本文使用了RAP數(shù)據(jù)集[17]進(jìn)行網(wǎng)絡(luò)的訓(xùn)練與測試實(shí)驗(yàn)。RAP數(shù)據(jù)集共有41 585張圖片,為商場內(nèi)26個監(jiān)控攝像頭拍攝,每張行人樣本都有72種屬性標(biāo)注(其中包括69種二值屬性和3種多值屬性),還有視角、遮擋和身體分塊信息標(biāo)注,是樣本數(shù)量和標(biāo)注水平都較高的監(jiān)控場景下的行人屬性數(shù)據(jù)集。
研究通常選取正樣本比例大于1%的51種屬性進(jìn)行實(shí)驗(yàn),根據(jù)文獻(xiàn)[17]中的數(shù)據(jù)集劃分方式,本實(shí)驗(yàn)采用隨機(jī)劃分的33 268張圖片作為訓(xùn)練集,其余8317張圖像作為測試集。
本實(shí)驗(yàn)網(wǎng)絡(luò)模型通過TensorFlow框架實(shí)現(xiàn),模型主網(wǎng)絡(luò)選用inception_v2和inception_resnet_v2。主網(wǎng)絡(luò)都采用了ImageNet預(yù)訓(xùn)練模型,注意力分支權(quán)重則采用了隨機(jī)初始化。對于inception_v2網(wǎng)絡(luò),圖片首先調(diào)整為256×256大小,然后隨機(jī)裁剪為224×224,并通過隨機(jī)翻轉(zhuǎn)進(jìn)行數(shù)據(jù)增廣。在訓(xùn)練時,網(wǎng)絡(luò)初始學(xué)習(xí)率設(shè)為0.001,每兩個epoch下降0.65(學(xué)習(xí)率下降到0.000 01為止),使用 Adam 優(yōu)化器進(jìn)行訓(xùn)練,batch大小設(shè)為32。實(shí)驗(yàn)環(huán)境為Ubuntu16.04,單塊NVIDIA GeForce GTX 1080 Ti GPU。
在實(shí)驗(yàn)評估方面,本文采用了基于標(biāo)簽和基于樣本的兩種評估準(zhǔn)則[17]。
基于標(biāo)簽的評估方式通過計算每種屬性的正、負(fù)樣本準(zhǔn)確率的均值,用這種平均準(zhǔn)確率(mean accuracy,mA)作為最終的識別率
(11)
其中,C代表屬性的數(shù)量,Pi代表正樣本的數(shù)量,TPi代表正確識別的正樣本數(shù)量,Ni代表負(fù)樣本的數(shù)量,TNi代表正確識別的負(fù)樣本的數(shù)量。這種評估方式不受類別不均衡性影響,但這種評估方式將每種屬性視為獨(dú)立,卻忽略了屬性間的相關(guān)性。
基于樣本的評估準(zhǔn)則包括準(zhǔn)確率(accuracy)、精確度(precision)、召回率(recall)和F1指標(biāo),如下所示
(12)
(13)
(14)
(15)
其中,N代表實(shí)例樣本的數(shù)量,Yi代表第i個實(shí)例的真實(shí)標(biāo)簽,f(xi) 代表第i個實(shí)例的預(yù)測標(biāo)簽, |·| 代表集合的基數(shù)。這種評估方式是以每個樣本實(shí)例為單位的評估,能對給定樣本更好地進(jìn)行一致性評價,其中F1指標(biāo)是精確度和召回率的調(diào)和平均,是對識別能力的綜合表達(dá),在監(jiān)控場景應(yīng)用中具有更強(qiáng)的實(shí)際意義。
本文方法在RAP數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果見表1,并與其它近年來發(fā)表的行人屬性識別方法進(jìn)行了比較,各項(xiàng)指標(biāo)的最優(yōu)值用加粗字體表示。
在上述方法中,DeepMar*[4]和GRL[6]顯式地利用了身體部位信息,VeSPA[5]則訓(xùn)練視角檢測器為屬性識別提供視角信息,結(jié)果表明這些額外的輔助信息確實(shí)有助于識別性能的提高,然而需要設(shè)計額外的身體部位或視角檢測器,或者需要數(shù)據(jù)集提供除屬性標(biāo)簽外其它的標(biāo)注信息。JRL[18]與GRL還使用了CNN與RNN結(jié)合的方法,能夠更好地利用屬性間的相關(guān)性,但是需要事先人工確定合適的屬性預(yù)測順序,主觀影響較大,并且訓(xùn)練較復(fù)雜。WPAL[16]在多尺度特征圖上提取并融合多層級尺度特征,強(qiáng)制網(wǎng)絡(luò)注意相關(guān)區(qū)域特征。HydraPlus-Net[7]使用獲取的注意力特征進(jìn)行融合識別,但是計算量較大。Imbalanced-learning[8]使用視覺注意力整合的方法,在注意力模塊后通過多卷積層進(jìn)一步提取注意力特征,預(yù)測時將注意力分支與主網(wǎng)絡(luò)輸出的加權(quán)平均值作為屬性預(yù)測結(jié)果。
表1 行人屬性識別方法對比
由表1結(jié)果可以看出,本文提出的AMR-Net在RAP數(shù)據(jù)集上表現(xiàn)出了較強(qiáng)的識別能力,F(xiàn)1值達(dá)到了最優(yōu)80.59%,相比利用視角輔助特征的VeSPA方法提高了1%。本文將Imbalanced-learning方法在RAP數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),對比結(jié)果發(fā)現(xiàn),在同樣的訓(xùn)練方式下,本文方法在不增加原網(wǎng)絡(luò)體積和計算量的情況下,AMR-Net保證了屬性識別的性能,甚至優(yōu)于分支輸出加權(quán)平均的方法。實(shí)驗(yàn)結(jié)果表明,AMR-Net通過弱監(jiān)督訓(xùn)練獲得注意力特征,不需要提供額外的輔助信息;在原卷積網(wǎng)絡(luò)的基礎(chǔ)上通過注意力網(wǎng)絡(luò)分支為主網(wǎng)絡(luò)提供權(quán)重修正,實(shí)現(xiàn)了端到端的高效訓(xùn)練,并且在不增加模型體積和計算量的前提下,對原網(wǎng)絡(luò)的屬性識別性能實(shí)現(xiàn)了提升。
為驗(yàn)證所提出方法的有效性,本文分別選用了inception_v2和inception_resnet_v2兩種基礎(chǔ)卷積網(wǎng)絡(luò)為主網(wǎng)絡(luò)進(jìn)行實(shí)驗(yàn),在RAP數(shù)據(jù)集上測試屬性識別結(jié)果見表2,各項(xiàng)指標(biāo)的最優(yōu)值用加粗字體表示。
表2中實(shí)驗(yàn)結(jié)果共分為兩組,每組分別由原始主網(wǎng)絡(luò)和注意力修正網(wǎng)絡(luò)(AMR-Net)的測試結(jié)果組成。對于原始主網(wǎng)絡(luò)模型,inception_resnet_v2的mA相較inception_v2由74.01%提升至78.33%,F(xiàn)1也由79.02%提升至79.83%,可以看出隨著網(wǎng)絡(luò)層數(shù)和結(jié)構(gòu)復(fù)雜度增加,網(wǎng)絡(luò)的識別性能提高。每組結(jié)果中,AMR-Net與相應(yīng)的原始主網(wǎng)絡(luò)相比性能均得到了提升,對于inception_v2為主網(wǎng)絡(luò)的AMR-Net,mA提升了0.48%,F(xiàn)1值提升了0.34%。當(dāng)AMR-Net以inception_resnet_v2為主網(wǎng)絡(luò)時,基于樣本的各項(xiàng)指標(biāo)性能都得到了提高,F(xiàn)1值達(dá)到了80.59%,相較基礎(chǔ)網(wǎng)絡(luò)提高了0.76%。通過該組實(shí)驗(yàn)結(jié)果表明,本文提出的AMR-Net具有普適性和有效性,能夠適用于不同的基礎(chǔ)卷積網(wǎng)絡(luò),為原網(wǎng)絡(luò)帶來性能提升。這對網(wǎng)絡(luò)模型體積和計算量要求較高的情況下,具有較高的實(shí)際應(yīng)用價值。
表2 不同主網(wǎng)絡(luò)結(jié)構(gòu)下的屬性識別結(jié)果
本文也對注意力模塊的輸出特征進(jìn)行了可視化分析。由圖6中第一行可以看出,注意力特征關(guān)注到了單肩包和襯衫對應(yīng)的區(qū)域。對于更高階的語義屬性,例如打電話行為,注意力特征也捕獲到手機(jī)所在的區(qū)域。還有性別這類抽象屬性,注意力特征則注意到目標(biāo)所在的全局特征,這也與人們的自然認(rèn)知相符。通過將注意力特征可視化的定性分析,可以發(fā)現(xiàn)注意力分支確實(shí)能夠?yàn)橹骶W(wǎng)絡(luò)提供正確有用的信息修正,有助于主網(wǎng)絡(luò)的性能提升。
圖7展示了通過AMR-Net進(jìn)行行人屬性識別的結(jié)果。樣本圖片右側(cè)為網(wǎng)絡(luò)預(yù)測的屬性,黑色字體表示識別正確的屬性,加粗字體表示識別錯誤的屬性,在括號中標(biāo)明了對應(yīng)的正確標(biāo)簽,帶下劃線字體表示漏檢的屬性,刪除線字體表示網(wǎng)絡(luò)識別的多余屬性。可以看出,對于較為明顯的特征,如黑色頭發(fā)、圍巾和性別等有很高的識別率,還有緊身褲和長褲這種差別細(xì)微的屬性也能得到較好的識別。但是對于視角變化情況導(dǎo)致屬性特征不明顯,以及顏色和外觀語義相似的屬性識別能力還有待提高。
圖6 注意力特征可視化分析
圖7 基于注意力機(jī)制修正網(wǎng)絡(luò)(AMR-Net)的行人屬性識別結(jié)果
本文受注意力機(jī)制在細(xì)粒度圖像分類應(yīng)用的啟發(fā),提出了一個端到端的基于注意力機(jī)制修正的網(wǎng)絡(luò)模型,用于安防監(jiān)控場景下的行人屬性識別。本文方法在主網(wǎng)絡(luò)的多尺度特征后添加注意力分支,提取屬性對應(yīng)的空域注意力特征,在網(wǎng)絡(luò)訓(xùn)練過程中對主網(wǎng)絡(luò)進(jìn)行權(quán)重修正,實(shí)現(xiàn)了在不增加模型體積和計算量的情況下,提升主網(wǎng)絡(luò)的屬性識別性能。通過在RAP數(shù)據(jù)集上與現(xiàn)有方法的實(shí)驗(yàn)對比,本文方法將F1提升到80.59%,驗(yàn)證了本文方法的有效性。本文方法可適用于不同的卷積網(wǎng)絡(luò)結(jié)構(gòu),具有一定的普適性,可應(yīng)用于不同網(wǎng)絡(luò)的性能提升。在未來的工作中,將對注意力網(wǎng)絡(luò)進(jìn)行更深入的研究,將注意力信息更好地與網(wǎng)絡(luò)特征相結(jié)合,提高網(wǎng)絡(luò)在復(fù)雜背景和相似屬性情況下的屬性識別能力。