胡劍波 任 劼, 鄭江濱
(1、西安工程大學電子信息學院,陜西 西安710048 2、西北工業大學計算機學院,陜西 西安710072)
在智能監控系統中,行人的屬性識別是一個熱點研究課題。行人屬性是指人的一些可觀測的外部特征,可作為重要的生物特征信息被用于行人再識別,安防監控,智慧城市等領域中。根據屬性的類型,可將行人屬性分為具體屬性和抽象屬性兩種。具體屬性是對人物圖像中,人的不同區域的具體細節描述。抽象屬性與一些抽象概念相對應,如性別、身體朝向和年齡等,這些抽象概念通常不能從單個區域進行分析。
隨著深度學習的研究,卷積神經網絡(Convolutional Neural Networks,CNN)[1-3]在行人識別中展現出了顯著的優勢。為了進一步提高識別性能,一些學者采用增加網絡深度的方法對CNN的網絡結構進行改進[4]。但是,隨著網絡深度的增加和模型的復雜度增高,所需的訓練時間和硬件實現難度會增加。除了增加網絡的深度外,加入注意力模塊是提高行人屬性識別準確度的另一種有效方法[5-8]。注意力模型通過模擬人腦的工作方式,使神經網絡只聚焦于作為特定輸入的圖像的某一塊區域。與傳統算法相比,此類模型大大提高了信息處理的效率和準確性,降低了高維數據處理的計算復雜度。
綜上所述,本文提出了一種基于注意力模型的行人屬性識別算法(Main-net with Convolution Block Attention Module,MCBAM)。所提出的算法采用了已在各識別任務中表現良好的Inception-v3[9]網絡作為基礎,加入了注意力提取模塊CBAM[10],提高對細節屬性的識別能力。為了驗證所提出算法的有效性和可靠性,通過測試并與現有的算法進行對比驗證,實驗結果表明MCBAM在減小了模型大小的基礎上,保持了良好的精確度。
MCBAM 網絡分為兩部分,第一部分為主網絡(Main Net),由一個卷積層,一個CBAM,以及三個IBC(Inception Block with CBAM)組成。MCBAM網絡的具體結構如圖1 所示。在主網絡中,輸入圖片首先通過卷積層(Conv)進行較為底層的特征提取,再將通過CBAM對特征進行空間及通道注意力信息提取,最后在三個IBC 模塊中進行細節信息特征提取。第二部分由全局平均池化(Global Average Pool,GAP)與全連接(Fully Connected,FC)組成,主要是對主網絡提取的特征進行約束以及分類輸出。

圖1 MCBAM 的網絡結構

在CNN 不斷加深網絡結構的背景下,龐大的計算量使得網絡計算成本不斷增加。在現有的特征抽取網絡后加入注意力提取模塊則可以提高網絡識別性能,使深度不太深的簡單網絡也可以達到深度較深的網絡的所能達到的性能。所以,本文將Inception 網絡和CBAM結合,組成了IBC 模塊,對特征進行抽取。
選取Inception-v3 作為特征提取的基礎網絡是由于該網絡不僅可以減少計算量和參數的個數,并且在增加了網絡寬度的同時,增加了網絡對尺度的適應性。
GAP 層的作用是對整個網路在結構上做正則化防止過擬合,再引入GAP 層的同時加入FC 層。FC 層的作用則是對特征進行分類。經過主網絡得出的特征,將其全部聯系起來,最后經過GAP 和FC 層。最終的輸出可以投影為屬性識別的屬性邏輯或重新識別的特征向量。
本文選取結合sigmoid 的BCE Loss(Binary Cross Entropy Loss)作為平衡分類的損失函數。該函數由Sigmoid-BCE Loss 合成,如公式(1)所示,首先利用sigmoid 函數將輸入x 調至0-1 之間,再傳入BCE 函數中進行損失計算,如公式(2)所示。

式中yij表示目標值,也就是正確值,M、N 分別表示每個小批次中的樣本數目和屬性數量,pij表示第i 個樣本的第j 個屬性的輸出預測值。最終求出的值就是所需的損失值。
實驗在ubuntu16.04 系統下進行,采用兩個公版的NVIDIA GEFORCE 2080(8GB)GPU 進行SLI。
在實驗中,我們將隨機梯度下降的方法作為優化器,初始學習率設置為0.002,動量設置為0.9。為了驗證所提出算法的有效性,本文采用了平均準確率(mA)、準確度(Accu)、精準度(Prec)、召回率(recall)and F1 得分(F1-score)這五個評估標準對所提出的算法和現有的算法在使用PETA 和PA-100K 兩個數據集下進行了對比。
PETA 數據集由8 個室外場景和2 個室內場景組成,包含8705 個行人,每個行人標注了61 個二值的和4 個多類別的屬性。圖2 為采用PETA 數據集時的兩組屬性分析結果,例如圖2(a)中的識別結果為年齡在31-45 歲之間,穿著鞋子的短發男子。其中男子的屬性作為默認屬性,并不顯示。

表1 采用PETA 數據集的性能分析


圖2 采用PETA 數據集的兩組屬性分析結果
PA-100K 包含100000 張行人圖片,分別拍攝于598 個場景,其屬性被設置為26 種,有性別、年齡以及物體屬性。針對PA-100K 數據集,對本文所提出的算法與DeepMar,MNet 以及HY-net 的結果進行了對比分析。
圖3 為采用PA-100K 的數據集時的兩組行人屬性分析結果。例如圖3(a)中的識別結果為年齡在18-60 歲之間男性,側位站立,戴眼鏡,身穿長袖衣服和褲子。


圖3 采用PA-100K 數據集的兩組屬性分析結果

表2 顯示了PA-100K 數據集下,Deep-MA、MNet、HY-net以及B 分別為8、16、32 時的MCBAM實驗方法的對比結果??梢钥闯?MCBAM 在得分中,超過了Deep-MAR,MNet 及HY-net。
相比于PETA 數據集,MCBAM 在數據量更大的PA-100K數據集上更能展示網絡優勢。從B 的對比中可以發現,網絡MCBAM在B=8 的時候,mA 超過了B=16 和B=32 的網絡。這表明,當B 取值較小時,網絡模型更加注重細小的特征。
本文提出了一個基于注意力機制的網絡結構。該網絡結合了Inception 模塊和CBAM。利用Inception 的優勢,減少了網絡參數,利用CBAM 提取通道和空間注意力圖,提高了行人屬性分析的準確率。網絡被用于PETA 和PA-100K 數據集上做實驗,在不同的batch size 下訓練,與現有算法進行了對比分析。實驗結果表明,該網絡具有良好的準確性和實用性,具有較高的應用價值。盡管該算法取得了良好的效果,并且模型大小可觀,但仍然存在一些缺點,需要進一步改進。由于細小的屬性對識別難度有著一定的影響,未來的工作是通過結合不同層次的特征,以及尋找一個適合小型網絡的損失函數來提升網絡的準確度。