胡劍波 任 劼, 鄭江濱
(1、西安工程大學(xué)電子信息學(xué)院,陜西 西安710048 2、西北工業(yè)大學(xué)計(jì)算機(jī)學(xué)院,陜西 西安710072)
在智能監(jiān)控系統(tǒng)中,行人的屬性識別是一個(gè)熱點(diǎn)研究課題。行人屬性是指人的一些可觀測的外部特征,可作為重要的生物特征信息被用于行人再識別,安防監(jiān)控,智慧城市等領(lǐng)域中。根據(jù)屬性的類型,可將行人屬性分為具體屬性和抽象屬性兩種。具體屬性是對人物圖像中,人的不同區(qū)域的具體細(xì)節(jié)描述。抽象屬性與一些抽象概念相對應(yīng),如性別、身體朝向和年齡等,這些抽象概念通常不能從單個(gè)區(qū)域進(jìn)行分析。
隨著深度學(xué)習(xí)的研究,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)[1-3]在行人識別中展現(xiàn)出了顯著的優(yōu)勢。為了進(jìn)一步提高識別性能,一些學(xué)者采用增加網(wǎng)絡(luò)深度的方法對CNN的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行改進(jìn)[4]。但是,隨著網(wǎng)絡(luò)深度的增加和模型的復(fù)雜度增高,所需的訓(xùn)練時(shí)間和硬件實(shí)現(xiàn)難度會增加。除了增加網(wǎng)絡(luò)的深度外,加入注意力模塊是提高行人屬性識別準(zhǔn)確度的另一種有效方法[5-8]。注意力模型通過模擬人腦的工作方式,使神經(jīng)網(wǎng)絡(luò)只聚焦于作為特定輸入的圖像的某一塊區(qū)域。與傳統(tǒng)算法相比,此類模型大大提高了信息處理的效率和準(zhǔn)確性,降低了高維數(shù)據(jù)處理的計(jì)算復(fù)雜度。
綜上所述,本文提出了一種基于注意力模型的行人屬性識別算法(Main-net with Convolution Block Attention Module,MCBAM)。所提出的算法采用了已在各識別任務(wù)中表現(xiàn)良好的Inception-v3[9]網(wǎng)絡(luò)作為基礎(chǔ),加入了注意力提取模塊CBAM[10],提高對細(xì)節(jié)屬性的識別能力。為了驗(yàn)證所提出算法的有效性和可靠性,通過測試并與現(xiàn)有的算法進(jìn)行對比驗(yàn)證,實(shí)驗(yàn)結(jié)果表明MCBAM在減小了模型大小的基礎(chǔ)上,保持了良好的精確度。
MCBAM 網(wǎng)絡(luò)分為兩部分,第一部分為主網(wǎng)絡(luò)(Main Net),由一個(gè)卷積層,一個(gè)CBAM,以及三個(gè)IBC(Inception Block with CBAM)組成。MCBAM網(wǎng)絡(luò)的具體結(jié)構(gòu)如圖1 所示。在主網(wǎng)絡(luò)中,輸入圖片首先通過卷積層(Conv)進(jìn)行較為底層的特征提取,再將通過CBAM對特征進(jìn)行空間及通道注意力信息提取,最后在三個(gè)IBC 模塊中進(jìn)行細(xì)節(jié)信息特征提取。第二部分由全局平均池化(Global Average Pool,GAP)與全連接(Fully Connected,FC)組成,主要是對主網(wǎng)絡(luò)提取的特征進(jìn)行約束以及分類輸出。
圖1 MCBAM 的網(wǎng)絡(luò)結(jié)構(gòu)
在CNN 不斷加深網(wǎng)絡(luò)結(jié)構(gòu)的背景下,龐大的計(jì)算量使得網(wǎng)絡(luò)計(jì)算成本不斷增加。在現(xiàn)有的特征抽取網(wǎng)絡(luò)后加入注意力提取模塊則可以提高網(wǎng)絡(luò)識別性能,使深度不太深的簡單網(wǎng)絡(luò)也可以達(dá)到深度較深的網(wǎng)絡(luò)的所能達(dá)到的性能。所以,本文將Inception 網(wǎng)絡(luò)和CBAM結(jié)合,組成了IBC 模塊,對特征進(jìn)行抽取。
選取Inception-v3 作為特征提取的基礎(chǔ)網(wǎng)絡(luò)是由于該網(wǎng)絡(luò)不僅可以減少計(jì)算量和參數(shù)的個(gè)數(shù),并且在增加了網(wǎng)絡(luò)寬度的同時(shí),增加了網(wǎng)絡(luò)對尺度的適應(yīng)性。
GAP 層的作用是對整個(gè)網(wǎng)路在結(jié)構(gòu)上做正則化防止過擬合,再引入GAP 層的同時(shí)加入FC 層。FC 層的作用則是對特征進(jìn)行分類。經(jīng)過主網(wǎng)絡(luò)得出的特征,將其全部聯(lián)系起來,最后經(jīng)過GAP 和FC 層。最終的輸出可以投影為屬性識別的屬性邏輯或重新識別的特征向量。
本文選取結(jié)合sigmoid 的BCE Loss(Binary Cross Entropy Loss)作為平衡分類的損失函數(shù)。該函數(shù)由Sigmoid-BCE Loss 合成,如公式(1)所示,首先利用sigmoid 函數(shù)將輸入x 調(diào)至0-1 之間,再傳入BCE 函數(shù)中進(jìn)行損失計(jì)算,如公式(2)所示。
式中yij表示目標(biāo)值,也就是正確值,M、N 分別表示每個(gè)小批次中的樣本數(shù)目和屬性數(shù)量,pij表示第i 個(gè)樣本的第j 個(gè)屬性的輸出預(yù)測值。最終求出的值就是所需的損失值。
實(shí)驗(yàn)在ubuntu16.04 系統(tǒng)下進(jìn)行,采用兩個(gè)公版的NVIDIA GEFORCE 2080(8GB)GPU 進(jìn)行SLI。
在實(shí)驗(yàn)中,我們將隨機(jī)梯度下降的方法作為優(yōu)化器,初始學(xué)習(xí)率設(shè)置為0.002,動量設(shè)置為0.9。為了驗(yàn)證所提出算法的有效性,本文采用了平均準(zhǔn)確率(mA)、準(zhǔn)確度(Accu)、精準(zhǔn)度(Prec)、召回率(recall)and F1 得分(F1-score)這五個(gè)評估標(biāo)準(zhǔn)對所提出的算法和現(xiàn)有的算法在使用PETA 和PA-100K 兩個(gè)數(shù)據(jù)集下進(jìn)行了對比。
PETA 數(shù)據(jù)集由8 個(gè)室外場景和2 個(gè)室內(nèi)場景組成,包含8705 個(gè)行人,每個(gè)行人標(biāo)注了61 個(gè)二值的和4 個(gè)多類別的屬性。圖2 為采用PETA 數(shù)據(jù)集時(shí)的兩組屬性分析結(jié)果,例如圖2(a)中的識別結(jié)果為年齡在31-45 歲之間,穿著鞋子的短發(fā)男子。其中男子的屬性作為默認(rèn)屬性,并不顯示。
表1 采用PETA 數(shù)據(jù)集的性能分析
圖2 采用PETA 數(shù)據(jù)集的兩組屬性分析結(jié)果
PA-100K 包含100000 張行人圖片,分別拍攝于598 個(gè)場景,其屬性被設(shè)置為26 種,有性別、年齡以及物體屬性。針對PA-100K 數(shù)據(jù)集,對本文所提出的算法與DeepMar,MNet 以及HY-net 的結(jié)果進(jìn)行了對比分析。
圖3 為采用PA-100K 的數(shù)據(jù)集時(shí)的兩組行人屬性分析結(jié)果。例如圖3(a)中的識別結(jié)果為年齡在18-60 歲之間男性,側(cè)位站立,戴眼鏡,身穿長袖衣服和褲子。
圖3 采用PA-100K 數(shù)據(jù)集的兩組屬性分析結(jié)果
表2 顯示了PA-100K 數(shù)據(jù)集下,Deep-MA、MNet、HY-net以及B 分別為8、16、32 時(shí)的MCBAM實(shí)驗(yàn)方法的對比結(jié)果??梢钥闯?MCBAM 在得分中,超過了Deep-MAR,MNet 及HY-net。
相比于PETA 數(shù)據(jù)集,MCBAM 在數(shù)據(jù)量更大的PA-100K數(shù)據(jù)集上更能展示網(wǎng)絡(luò)優(yōu)勢。從B 的對比中可以發(fā)現(xiàn),網(wǎng)絡(luò)MCBAM在B=8 的時(shí)候,mA 超過了B=16 和B=32 的網(wǎng)絡(luò)。這表明,當(dāng)B 取值較小時(shí),網(wǎng)絡(luò)模型更加注重細(xì)小的特征。
本文提出了一個(gè)基于注意力機(jī)制的網(wǎng)絡(luò)結(jié)構(gòu)。該網(wǎng)絡(luò)結(jié)合了Inception 模塊和CBAM。利用Inception 的優(yōu)勢,減少了網(wǎng)絡(luò)參數(shù),利用CBAM 提取通道和空間注意力圖,提高了行人屬性分析的準(zhǔn)確率。網(wǎng)絡(luò)被用于PETA 和PA-100K 數(shù)據(jù)集上做實(shí)驗(yàn),在不同的batch size 下訓(xùn)練,與現(xiàn)有算法進(jìn)行了對比分析。實(shí)驗(yàn)結(jié)果表明,該網(wǎng)絡(luò)具有良好的準(zhǔn)確性和實(shí)用性,具有較高的應(yīng)用價(jià)值。盡管該算法取得了良好的效果,并且模型大小可觀,但仍然存在一些缺點(diǎn),需要進(jìn)一步改進(jìn)。由于細(xì)小的屬性對識別難度有著一定的影響,未來的工作是通過結(jié)合不同層次的特征,以及尋找一個(gè)適合小型網(wǎng)絡(luò)的損失函數(shù)來提升網(wǎng)絡(luò)的準(zhǔn)確度。