李 洋 許華虎 卞敏捷
1(上海大學計算機工程與科學學院 上海 200444) 2(上海建橋學院信息技術學院 上海 201306)
行人屬性,如性別、頭發和衣服等,是重要的視覺線索,也是對人的外表的語義描述。行人屬性作為視頻監控中的軟生物學特征,可應用于行人檢測、行人跟蹤、行人再識別、行人搜索、行為識別[1]。屬性作為高級語義特征,與低級視覺特征相比,具有許多優點,如對圖像條件變化的魯棒性。因此,許多計算機視覺任務將屬性信息集成到其算法中,以獲得更好的性能。然而,從現實世界的監控圖像中自動識別行人屬性非常具有挑戰性,其原因在于:(1) 由于光線、分辨率低、遮擋和模糊等原因,圖像質量不夠好;(2) 即使對于同一行人屬性,由于不同的視角和人體的非剛性,在不同的圖像中可能會發生明顯的外觀和位置變化;(3) 由于隱私保護等原因,較難對監控圖像中的行人屬性數據進行采集和標注,導致可用的數據集比較小,數據分布也不平衡。這些因素使得行人屬性識別成為一項具有挑戰性的計算機視覺任務。
為應對這些挑戰,一個有效的方法是發掘行人屬性之間的相互依賴性和相關性,例如,“女性”和“裙子”這兩個屬性可能同時出現在一個人的圖像中,這種相關性為行人屬性識別提供了較好的補充推理約束。然而,現有的方法對行人屬性進行分別預測,忽略了屬性之間的互相關性和空間關系等可以提高行人屬性識別性能的重要信息,導致行人屬性識別的準確率不夠理想。
針對上述存在的問題,本文將行人屬性識別作為一項時空序列多標簽圖像分類任務,提出一種新的CNN-ATT-ConvLSTM模型。該模型由用于屬性特征提取的卷積神經網絡(CNN)、重新調整相關特征響應的基于通道的注意力機制(Channel-wise Attention Mechanism)和挖掘不同屬性之間相關性和空間信息的卷積長短期記憶網絡(ConvLSTM)組成。本文主要貢獻如下:(1) 為了更好地挖掘屬性之間的空間和語義互相關性,采用在輸入到狀態和狀態到狀態轉換中使用了卷積運算的ConvLSTM。通過疊加多個ConvLSTM,建立一個端到端可訓練模型,從預測行人屬性序列中提取時空相關信息。(2) 利用通道注意力機制提取預測行人屬性的最相關、最顯著的視覺特征,據我們所知,這是首次將通道注意力機制用于行人屬性識別。(3) 進行了深入的實驗來分析驗證本文方法,并在兩個常用的行人屬性基準數據集PETA[2]和RAP[3]上與其他7個先進的模型進行了廣泛深入的對比。結果表明,本文提出的CNN-ATT-ConvLSTM模型獲得了更好的性能。
早期的行人屬性識別方法通常利用手工提取的特征(如紋理和顏色直方圖)開發具有魯棒性的特征表示[4-5]。屬性間相關性被認為是提高預測性能的額外信息,例如基于圖模型的方法,通過使用條件隨機場或馬爾可夫隨機場來捕獲屬性的共現可能性[6-7]。然而,這些算法在處理大規模屬性時計算成本很高,而且基于手工特征的識別能力差。對大規模數據的評估報告表明,這些傳統算法的性能遠遠不能滿足實際應用的要求。
近年來,深度學習在多層非線性變換的自動特征提取方面取得了巨大成功,也被廣泛用于行人屬性識別中。文獻[8]提出了一個基于CNN的DeepMAR模型,并開發了一個加權的Sigmoid交叉熵損失來處理屬性不平衡問題。文獻[9]利用多標簽CNN并將行人圖像分成15個重疊的身體部分,這些部分被獨立過濾并聚集在代價函數中。為了利用屬性之間的關系,文獻[10]提出了一個屬性卷積網(ACN)來聯合訓練所有屬性的模型。為了進一步探討屬性之間的關系,文獻[11]首次利用CNN-RNN結構進行行人屬性識別,RNN的使用不僅可以學習圖像與屬性之間的復雜映射關系,而且可以利用屬性之間的依賴關系,顯著提高性能。文獻[12]探討了行人屬性識別中的注意模型,提出了多方向注意力模塊,訓練多層次、多尺度的注意力以增強特征。文獻[13]也探討了屬性之間的關系,并提出了聯合循環學習(JRL)模型。JRL在一個統一的框架中學習人與人之間的圖像上下文和人與人之間的屬性關聯。文獻[14]是第一個探索利用行人身體結構知識(即行人姿態)進行行人屬性識別的,他們首先使用預先訓練的姿態估計模型來估計給定人體圖像的關鍵點。然后,根據這些關鍵點提取局部區域和整個圖像的深層特征,用于行人屬性識別。文獻[15]提出一種聯合注意力模型(JCM)進行行人屬性識別,可以一次預測任意長度的多個屬性值,避免了屬性在映射表中不同排列的影響。文獻[16]提出了兩種模型,即用于行人屬性識別的重復卷積(RC)和重復注意力(RA)。采用RC模型,利用卷積LSTM模型挖掘不同屬性組之間的相關性,RA模型利用組內空間位置和組間注意力相關性來提高最終性能。
本文將行人屬性識別作為一個時空序列的多標簽分類問題,設計一個CNN-ATT-ConvLSTM模型。圖1展示了該模型的結構。它主要由三個部分組成,即多標簽分類的CNN、基于通道的注意力機制和ConvLSTM。CNN用于提取給定行人圖像的視覺特征。通道注意力機制自適應地計算通道注意力權重并重新調整視覺特征響應,以提取預測屬性的最相關和最顯著的視覺特征。ConvLSTM進一步利用視覺特征和隱藏狀態在優化的預測序列中逐個預測行人屬性標簽,通過在內部存儲狀態保持上下文信息,挖掘屬性之間的相關性。

圖1 CNN-ATT-ConvLSTM模型結構
行人屬性具有很強的相關性,例如,在一個人的圖像中,女人和長頭發通常同時出現,而男人和裙子幾乎從不同時出現。為便于發掘屬性間的相關性,本文把行人屬性識別作為序列任務,對行人屬性進行逐個識別并在序列預測的過程中逐步充分挖掘屬性間的相關性。循環神經網絡(RNN)作為一種專門為處理序列數據樣本而設計的網絡,其每一層不僅輸出到下一層,還輸出一個隱藏狀態,供當前層在處理下一個樣本時使用。RNN擅長挖掘樣本之間的相關性。
長短期記憶網絡(LSTM)[17]是RNN的一個進化版本,它解決了RNN中梯度爆炸和梯度消失的問題。本文利用LSTM挖掘屬性之間的相關性,對屬性進行逐一預測,在預測后續屬性時,LSTM可以參考包含歷史信息的隱藏狀態。雖然LSTM在序列建模任務中表現出了強大的能力,但普通的LSTM在處理圖像時忽略了圖像的空間信息。這是由于普通LSTM通過全連接層對序列信息進行建模,并將輸入圖像展平為一維矢量,這就導致圖像空間信息的丟失,不利于行人屬性識別性能的提高。為了保持行人屬性的空間結構,本文在網絡模型中使用卷積LSTM(ConvLSTM)[18]代替標準的LSTM。在ConvLSTM中,卷積運算用于輸入到狀態和狀態到狀態的轉換,它比標準LSTM能夠更好地捕獲屬性的空間信息,從而使得在模型中使用ConvLSTM可以更好地挖掘行人屬性的相關性,其公式如下:
(1)
式中:下標t表示ConvLSTM的第t步;xt表示輸入數據;ht表示隱藏狀態;ct表示存儲單元的狀態;it、ft和ot分別是ConvLSTM的輸入門、遺忘門和輸出門;W和b是需要學習的權重和偏差;*、°、σ和tanh分別表示卷積運算、元素乘法、Sigmoid函數和tanh函數。這里的xt、ct、ht、it、ft、ot都是三維張量,并且在狀態到狀態轉換和輸入到狀態轉換時采用卷積運算,從而得以保留行人屬性特征的空間信息。此外,卷積運算實際上具有隱式空間注意力的效果,因為與目標行人屬性相對應的區域通常具有較高的激活響應。在實驗中,我們發現ConvLSTM能關注行人屬性標簽預測的關鍵區域,比普通的LSTM獲得更好的結果。ConvLSTM的內部結構如圖2所示。

圖2 ConvLSTM內部結構
對于行人屬性識別,不同的圖像區域對不同的屬性預測具有不同的重要性,比如在預測頭發相關屬性時,上部分圖像區域更重要,而對于鞋子相關屬性的預測時,圖像下部分區域更重要。有必要對屬性特征進行更深入識別,并保留相關的空間信息以提高屬性識別的準確率。2.2節中描述的ConvLSTM具有隱式空間注意力的效果,能關注行人屬性相關的關鍵區域,能有效提供屬性識別的準確率。不同的行人屬性除了在圖像中的區域不同外,在視覺特征上也有很大不同,比如頭發和鞋子的特征就有很大的差異。CNN的卷積核具有特征(模式)檢測的濾波作用,每個通道的特征其實就是表示該圖像在不同卷積核(濾波器)上的分量。通道注意力的作用是通過對特征圖各通道的依賴性進行建模以提高網絡的特征表達能力,可以看作是語義屬性的選擇過程。通道注意力首先通過通道維度上的全局池化獲取各通道的全局信息,然后自適應地建模通道之間的相關性,并根據相關性對各通道進行加權處理,實現特征響應、重新校準的目的。這樣網絡就可以有選擇性地加強包含有用信息的特征并抑制無用或作用不大的特征。本文設計采用了基于通道的注意力機制,利用更多可識別的相關特征來執行行人屬性識別任務,把ConvLSTM的空間注意力和通道(特征)注意力相結合,以進一步提高屬性識別性能。在本文提出的CNN-ATT-ConvLSTM模型中,ConvLSTM每步都將預測一個行人屬性標簽,在模型中加入基于通道的注意力,在預測不同屬性標簽時自適應地調整不同特征響應的權重。圖3顯示了該注意力機制的結構。

圖3 模型中的基于通道的注意力機制
為了計算每個特征響應通道的注意力權重,本文采用全局平均池化生成每個通道對應的視覺特征的統計信息,作為基于通道的全局空間信息的描述。另外,為了根據先前預測的屬性標簽自適應地獲得通道注意力權重,本文也把ConvLSTM的隱藏狀態考慮到基于通道的統計信息中。這兩種統計信息的計算公式如下:
(2)
(3)
式中:xk和ht-1,k分別表示第k個通道(k=1,2,…,C)處的視覺特征和ConvLSTM先前的隱藏狀態;fa表示全局平均池化函數;ak和dk表示第k個通道的視覺特征和隱藏狀態的統計信息;W和H代表視覺特征的寬度和高度。在本文中,視覺特征和隱藏狀態具有相同的維度。
在獲得視覺特征和隱藏狀態的統計信息后,通過下式計算通道注意力權重:
zk=σ(w2δ(w1[ak,dk]+b1)+b2)
(4)
式中:w1、w2和b1、b2是要學習的權重和偏差;δ表示用于非線性映射的ReLU函數;[-,-]是連接操作;σ表示將注意力權重標準化為(0,1)之間的Sigmoid函數。最后,通過對各通道原始特征和注意力權重進行加權計算,得到重新調整后的特征:
(5)
本文以一種優化的順序對行人屬性標簽逐一進行預測。在計算每一步預測的損失時,首先把ConvLSTM的三維隱藏狀態展平為一維矢量,然后用于行人屬性標簽的預測。
pt=σ(wpht+bp)
(6)
式中:pt∈[0,1]是第t個屬性標簽的預測輸出概率;σ是Sigmoid函數;ht是展平的隱藏狀態;wp和bp是學習到的權重和偏差。
每一步預測的損失計算如下:
(7)

(8)
式中:T表示所有的行人屬性類的數量。
為了進行有效評估,本文使用兩個最大的公共行人屬性數據集:PETA數據集[2]和RAP數據集[3]。這兩個數據集中有大量低分辨率、遮擋和雜亂背景的行人圖像,對行人屬性識別有很大挑戰。
PETA數據集:包括從10個小規模行人屬性數據集匯集的19 000幅行人圖像。每個行人有65個屬性(61個二值屬性和4個多值屬性)。本文將整個數據集隨機分為三個不重疊的分區:9 500幅圖像用于訓練,1 900幅圖像用于驗證,7 600幅圖像用于測試評估。
RAP數據集:共有41 585幅來自26個室內監控攝像機的圖像。每個行人有72個屬性(69個二值屬性和3個多值屬性)。本文采用其中任意33 268幅圖像進行訓練,其余8 317幅圖像進行測試。
為了公平比較,本文采用和文獻[3]相同的51個二值屬性進行評估,并且將兩個數據集的多值屬性都轉換為二值屬性。
本文采用兩種方法和四種指標來評估行人屬性識別的性能。
基于類的評估:對于每個屬性類,分別計算其正樣本和負樣本的分類準確度,取其平均值以獲得該屬性類的平均準確度,然后再對所有屬性類的平均準確度計算平均值(mAP)作為一項評價指標[6]。
基于實例的評價:上述基于類的評價方法獨立對待每個屬性,忽略了多屬性識別問題中存在的屬性間相關性。因此,本文還使用基于實例的評估方法來衡量每個實例(圖像)的屬性預測精度和召回率。與假設屬性間相互獨立的mAP不同,基于實例的評價方法還考慮屬性間相關性。本文根據標注好的真實屬性標簽計算每個測試圖像的預測屬性的精度和召回率,然后對所有測試圖像計算精度和召回率的平均值,得出平均精度(mPrc)和平均召回率(mRcl)。本文還計算了基于mPrc和mRcl的F1值[3],用mAP、mPrc、mRcl和F1這四個指標進行全面的評價。
為了加速收斂,采用兩階段訓練策略。第一階段主要是對CNN進行培訓,本文將CNN轉換為多標簽分類框架,用T個神經元代替輸出層(T代表行人屬性類的數量),采用多標簽Sigmoid激活函數和交叉熵損失函數,基于ImageNet預訓練的CNN模型進行微調和訓練。第二階段,移除CNN的全連接層并固定其他參數。然后基于CNN提取的特征,從零開始訓練ConvLSTM和通道注意力模型。
本文采用TensorFlow實現所提出的模型,CNN使用多標簽版本的Inception-v3[19]。兩個階段都采用Adam優化器,第一階段沖量值為0.9,第二階段沖量值為0.999,第二階段采用Xavier初始化。為避免過擬合,兩個階段都采用隨機失活(dropout)和L2正則化,隨機失活率設置為0.5,L2正則化權重為0.000 5。學習率初始化為0.000 1,損失穩定后以10倍衰減。
本節將本文方法與其他7種當時領先(state-of-the-arts)的方法進行比較,包括3種基于CNN的方法和4種基于CNN-RNN聯合模型的方法。其中DeepMAR[8]、ACN[10]、HP-net[12]、JRL[13]、RA[16]在1.2小節已有描述,這里不再累述。CTX[20]是一個基于CNN-RNN的序列預測模型,用于編碼場景上下文和行人間的關系,以便提取圖像中的行人屬性。SR[21]是一個很好的多標簽圖像分類模型,它利用標注好的屬性標簽進行有監督的深度學習和更豐富的圖像嵌入學習。
本文方法與其他方法比較的實驗結果如表1和表2所示。通過分析結果可以得出以下結論:(1) RAP上所有方法的性能都低于PETA,這表明RAP數據集更具挑戰性。(2) 本文提出的CNN-ATT-ConvLSTM模型在兩個數據集的mAP、mRcl和F1指標上都取得最好的性能,在mPrc指標上取得與最好的方法相當的性能。考慮到要在兩個數據集上獲得所有評價指標都最好是非常困難的,本文方法獲得了非常好的結果。

表1 在數據集PETA上與其他方法的性能對比 %

表2 在數據集RAP上與其他方法的性能對比 %
實驗結果清楚地表明本文提出的CNN-ATT-ConvLSTM模型在行人屬性識別中的優勢。這主要是因為該模型在預測不同的屬性標簽時,不僅能有效地處理最相關的屬性特征,而且能保持視覺特征的空間信息,這有利于充分挖掘屬性相關性從而提高行人屬性識別的性能。
為了驗證本文模型(CNN-ATT-ConvLSTM)中卷積LSTM和基于通道的注意力機制的有效性,將其與CNN的多標簽版本進行比較,并與其他一些基于CNN-RNN框架的方法進行比較,包括CNN-LSTM、包含注意力的CNN-ATT-LSTM、沒有注意力的CNN-ConvLSTM、包含基于空間注意力機制的CNN-SA-ConvLSTM。為了進行公平比較,所有CNN-RNN框架都使用與本文模型相同的CNN(即Inception-v3)。
實驗結果如表3和表4所示,可以看出,本文提出的CNN-ATT-ConvLSTM模型取得了最好的性能。CNN-LSTM在沒有注意力機制的情況下,性能下降較多,這表明行人屬性識別任務中不同區域對不同屬性的重要性以及注意力機制的有效性。CNN-ConvLSTM與CNN-ATT-LSTM得到了相似的結果,這表明ConvLSTM在相關區域空間信息提取中的有效性。圖4所示熱力圖為ConvLSTM在預測行人屬性時對該屬性相對應的圖像區域通常具有較高的激活響應,表明ConvLSTM的卷積運算實際上具有隱式空間注意力的效果。CNN-SA-ConvLSTM的結果比不含注意力機制的CNN-ConvLSTM略好,比本文的含通道注意力的CNN-ATT-ConvLSTM有較大差距,主要原因是基于空間的注意力機制與ConvLSTM隱含的空間注意能力在作用上有重疊,對行人屬性識別的性能提升不大。而通道注意力機制能基于特征相關性進行加權調整和選擇,與ConvLSTM的空間相關性能力相結合,能有效提高行人屬性識別的性能。總的來說,本文方法比其他方法表現得更好,這證明了本文的CNN-ATT-ConvLSTM模型的優越性。

圖4 ConvLSTM在預測不同區域行人屬性時的熱力圖

表3 在數據集PETA上ConvLSTM和通道注意力效果分析 %

表4 在數據集RAP上ConvLSTM和通道注意力效果分析 %
行人屬性可以分為兩組:一組是全局屬性,如性別、年齡區間和體型等;另一組是局部屬性,如發型、服裝樣式和手提物等。預測順序是影響行人屬性識別性能的一個重要因素,本文提出優化的預測順序,即先預測全局屬性再預測局部屬性。全局屬性通常不依賴其他屬性就可以預測,例如,即使許多其他屬性不清楚,性別和年齡也比較容易被識別出來。因此應盡量在序列的開頭進行預測,由全局視覺特征來確定,以避免被錯誤的局部屬性標簽所誤導。而先識別全局屬性對于預測其他相關的局部屬性非常有幫助。例如如果識別出一個行人的性別是女性,那么她留長頭發的概率就更大。因此,在識別出性別屬性后再預測頭發長度屬性時,該屬性被正確識別的概率就大些。
本文把從全局屬性到局部屬性的優化預測順序和隨機預測順序進行了對比實驗,實驗結果如表5和表6所示。表中所列的實驗結果證實了本文的推論,即優化順序的性能優于隨機順序。

表5 在數據集PETA上優化預測序列效果分析 %

表6 在數據集RAP上優化預測序列效果分析 %
本文提出一種新的CNN-ATT-ConvLSTM模型,用于挖掘行人屬性的語義相關性和空間信息以提高行人屬性識別的性能。在該模型中,CNN與基于通道的注意力機制相結合以提取與所預測的行人屬性最相關的視覺特征,利用ConvLSTM挖掘屬性的相關性并保存屬性的視覺特征空間信息,并以優化的預測順序對行人屬性標簽進行逐個預測。實驗證明該方法比許多現有的方法取得更好的行人屬性識別效果,體現了該方法的有效性和性能優越性。在后續工作中將嘗試修改ConvLSTM內部的門結構并探討注意力機制與ConvLSTM的不同結合方式,以便更有效地挖掘行人屬性的相關性以進一步提高行人屬性識別的效果。另外,我們將嘗試把有較強相關性或依賴性的屬性放在一起進行預測,增強屬性預測的約束,以提高行人屬性識別性能。