高德勇,康自兵,王 松,王陽萍,3
(1.蘭州交通大學 電子與信息工程學院,甘肅 蘭州 730070;2.甘肅省人工智能與圖形圖像工程研究中心,甘肅 蘭州 730070;3.甘肅省軌道交通裝備系統動力學與可靠性重點實驗室,甘肅 蘭州 730070)
面向視頻的動作識別研究具有重要的學術價值和應用前景,所以這一問題迅速成為計算機視覺領域內的研究熱點和難點[1]。以視頻為載體的動作分析與研究[2],通常是對視頻幀序列進行分析處理,挖掘并學習圖像幀的表觀特征和序列之間潛在的時空關系,利用視頻幀序列的時空特征構造視頻內容和行為類別的對應關系,進而使得計算機能夠理解視頻中的內容。
近年來,借助于深度神經網絡的自學習能力對數據進行抽象表示,并在大規模數據集上訓練來獲得更加魯棒的性能,基于深度學習的圖像分類模型[3]已經表現出優良的性能。因此,深度網絡模型也被引入到視頻分析的任務當中進行動作識別。文獻[4]首次提出雙流卷積神經網絡模型,分別以視頻幀作為空間流網絡的輸入提取視頻的靜態信息和以光流作為時間流網絡的輸入獲取圖像序列之間的運動信息。文獻[5]提出C3D(Convolutional 3D,C3D)網絡,在整個網絡結構中均采用三維卷積和三維池化提取視頻的時空特征,相對于2D卷積和池化而言,3D卷積保留了視頻幀間的時序信息,并且刻畫了時間-空間的對應關系。但以上方法僅能實現對視頻的短時域結構的建模,無法利用整個視頻的長時信息。文獻[6]針對長距離時序依賴問題,在雙流網絡的基礎上,采用稀疏采樣策略提取視頻的多個短片段,然后在多個視頻剪輯的時間結構上構建長時時序模型。文獻[7]在卷積神經網絡的全連接層后連接長短時記憶網絡(Long Short Term Memory,LSTM)提出新的長時循環卷積網絡(Long-term Recurrent Convolutional Networks,LRCN)結構,該模型綜合每個時間節點上對視頻的預測值來對整個視頻分類預測。雖然雙流網絡、C3D和循環網絡這些方法都取得了優良的性能,但都只關注了動作發生的整個場景,忽視了場景當中不同區域對動作特征的表示起著不同作用的重要性。文獻[8]在編解碼框架下,采用注意力機制對圖像各個區域賦予不同的權重,生成具有不同權值的上下文向量,由上下文向量指導生成對圖片描述的語句。文獻[9]在傳統特征提取網絡的基礎上,引入殘差網絡形式的注意力機制和特征融合策略,使得算法模型獲得更好的定位效果。文獻[10]使用軟注意力機制來關注與動作相關的區域,將加權后的特征圖送入多層LSTM進行行為類別的預測。文獻[11]引入姿態注意力機制,通過人體語義相關的關節點共享注意力參數來獲得魯棒的人體特征。
為了提取圖像中更具有區分性的特征,加入注意力機制來關注視頻幀的部分重點區域。當前大多數方法是在基礎網絡的末端嵌入注意力機制,采用卷積神經網絡高層輸出作為長短時記憶網絡的輸入。但一般的注意力機制僅對不同通道的權值進行標定,忽略了同一通道中的像素的位置信息。文獻[12]將空間變換網絡和長短時記憶網絡結合提出新的基于注意力的網絡。在特征圖中,通過仿射變換動態地采樣多個顯著的空間位置。文獻[13]從Inception-V3的多層引導提取不同通道的特征,再以網絡預測值作為權重構建預測—注意力池化描述子。筆者提出的方法建立在以上研究工作的基礎上,通過引入卷積注意力模塊(Convolutional Block Attention Module,CBAM)[14]分別從通道和空間兩個維度考慮注意力權重對特征的影響,實現對輸入特征的自適應調整。傳統的LSTM擅長于處理時序問題,但并未考慮到時空數據中的空間結構信息。受VideoLSTM[15]網絡結構的啟發,采用卷積長短時記憶網絡(Convolutional LSTM,ConvLSTM)對特征的序列信息建模,將特征圖作為ConvLSTM的輸入,實現對視頻幀的分類預測。
借助于卷積神經網絡強大的特征表示能力,對視頻幀的靜態信息進行抽象表示;在選擇去關注哪些是區分性的信息時,使用可以即插即用的卷積注意力模塊來處理一般注意力機制中僅側重通道特征選擇的問題。同時考慮到視頻是一種具有空間結構和時間特性的媒介,長短時記憶網絡在處理時空序列數據時,只分析處理了時序信息卻丟失了原有的空間結構。筆者采用ConvLSTM對整個視頻的長時時序問題進行處理,使用卷積替換在原有長短時記憶網絡中的乘法運算來保留特征中的空間結構,網絡模型如圖1所示。首先使用預訓練的CNN(ResNet-50)來提取視頻幀的特征圖;然后將得到的特征圖送入卷積注意力模塊進行特征的精細化調整,選擇關注更富有信息的區域;為了避免參與分類的特征圖受到噪聲的干擾,引入短接結構[16],將初始特征圖與經過注意力機制加權后的特征圖逐元素相加來抑制噪聲數據;最后利用ConvLSTM對經過注意力調整后的特征圖分析處理并給出相應幀的預測。
使用在ImageNet上預訓練的ResNet-50網絡[17]作為視頻幀的特征提取器,以視頻幀Vi為輸入,則f=φ(Vi)表示經過卷積和池化后得到的特征圖,大小為H×W×D,其分別表示特征圖的高度、寬度和通道的數量,φ(·)表示ResNet-50網絡。鑒于高層特征是對圖像幀語義信息的抽象表示,對圖像的表觀和運動特征進行全局性的概括,所以文中提取網絡最后一層卷積層的特征圖。在t時刻,得到H×W×D的特征圖,然后將此特征圖以特征切片的形式表示:
Ft=[Ft,1,…,Ft,H×W],Ft,j∈RD,
(1)
其中,Fi,j為特征圖在不同通道中相同區域的特征表示,然后通過注意力模塊對特征圖選擇關注感興趣區域。
卷積注意力模塊是WOO等[14]在通道注意力的基礎上增加了空間注意力分析。如圖2所示,該注意力模型使得在圖像分類和目標檢測等方面的識別性能得到了進一步的提升。文中以ResNet-50網絡的輸出特征作為該注意力模塊的輸入特征,沿著通道和空間兩個維度順次推算出注意力權重,然后再與輸入的特征圖進行運算來對特征的選擇進行自適應的調整。整個模塊主要由兩部分構成:通道注意力和空間注意力,以通道注意力來選擇什么是顯著的特征,以空間注意力來關注顯著特征的位置信息,二者互為補充,進一步聚焦于興趣區域。
給定初始特征圖F∈RH×W×D作為輸入,注意力模塊依次計算出通道注意力圖Mc∈Rc×1×1和空間注意力圖MS∈R1×H×W,計算公式如下:
F′=MC(F)?F,F″=MS(F′)?F′ ,
(2)
其中,?表示對輸入特征圖與注意力圖中的元素進行逐一相乘,F′是經過通道注意力賦予權重的特征圖。然后對通道注意力特征圖F′進行空間注意力分析,即可得到被卷積注意力調整后的最終特征圖F″。
1.2.1 通道注意

(3)
其中,σ(·)為Sigmoid函數,W0和W1為多層感知機的權重參數。
1.2.2 空間注意力
與通道注意力不同,空間注意力更多聚焦于興趣區域的位置信息,和通道注意力形成互補關系。如圖4所示。

(4)
其中,σ(·)為Sigmoid函數,f(·)表示卷積運算。
長短時記憶網絡作為循環神經網絡的變體克服了長距離時間依賴的問題,在機器翻譯、語音識別和圖像描述等任務中得到了廣泛應用。而視頻作為一種時序性載體,憑借長短時記憶網絡對長時依賴關系的處理能力在動作識別的任務中[7]也呈現出出色的性能。然而傳統的長短時記憶網絡對圖像幀進行序列化建模時,將時空特征通過全連接操作轉換為時序特征,因此導致無法對空間結構信息進行編碼。為克服這一問題,SHI等[18]首次在降雨預測模型中提出卷積長短時記憶模型(Convolutional LSTM network,ConvLSTM),其結構如圖5所示。
隨后,一些研究者[12,15]將ConvLSTM應用于動作識別任務中,驗證了ConvLSTM的性能要優于傳統的長短時記憶網絡。在以上工作的基礎上,筆者采用多層ConvLSTM對視頻圖像幀序列建模分析并給出預測。為了保留時空特征中原有的空間結構信息,ConvLSTM區別于傳統的長短時記憶網絡,用卷積運算替代了長短時記憶網絡中全連接層中的乘法操作。關于ConvLSTM的具體定義如式(5)~(9)所示:
it=σ(Wxi*xt+Whi*ht-1+Wci°ct-1+bi) ,
(5)
ft=σ(Wxf*xt+Whf*ht-1+Wcf°ct-1+bf) ,
(6)
ct=ft°ct-1+it°tanh(Wxc*xt+Whc*ht-1+bc) ,
(7)
ot=σ(Wxo*xt+Who*ht-1+Wco°ct+bo) ,
(8)
ht=ot°tanh(ct) 。
(9)
在上述公式中,*表示卷積,°表示向量中對應元素相乘,Wx-和Wh-為卷積核的權重參數,b~為偏置項,σ(·)為Sigmoid函數,it,ft,ot,ct和ht分別為輸入門,遺忘門,輸出門,記憶單元和隱藏狀態。在時間節點t,ConvLSTM以第t幀加權后的特征圖為輸入,結合前次狀態的歷史記憶來預測第t幀的類別,同時保留了特征在空間結構的不變性。另一方面,從以往的研究工作中表明堆疊多層ConvLSTM具有更好的識別性能。
筆者使用的損失函數與用文獻[12]中的策略一致,基于交叉熵和雙隨機懲罰來設定損失函數:
(10)

為了驗證所提網絡結構的有效性,選擇YouTube,UCF101和HMDB51數據集對筆者提出的方法進行實驗評估與分析。
YouTube數據集[19]視頻來源于YouTube視頻網站,視頻總數為1 168個,視頻分別率為320×240像素。包含11個動作類:投籃、騎自行車、跳水、打高爾夫球等。包含相機運動、尺度變化和復雜背景等干擾性因素。
UCF101數據集[20]視頻來源于YouTube,包含101種動作類別,視頻總數為13 320個。其視頻具有較大的多樣性,包括相機運動,目標外觀和姿態的差異,目標尺度和視角的變化以及雜亂背景和光照不均等。每一類動作由25個對象執行,每個對象執行4到7組動作。該數據集總體上可以分為5大類:人物交互、人的肢體動作、人與人的交互、樂器演奏和體育運動。
HMDB51數據集[21]的視頻主要來源于YouTube,谷歌視頻網站,以及電影片段等。包含51種動作類別,視頻總數為6 766個,每種動作類別都有超過100個動作片段。整個動作類別大致分為5類:面部動作、面部與目標物體交互的動作、肢體運動、肢體與物體的交互和人與人之間的交互動作。
(1) 在CNN-RNN的動作識別框架下,卷積神經網絡(ResNet-50)網絡作為圖像幀的特征提取器,采用在ImageNet上預訓練好的模型參數。

表1 ConvLSTM單元的參數設置
(2) 為了減少方差,避免數據劃分對模型性能帶來的敏感性影響。如表1所示,采用交叉驗證的方法對ConvLSTM單元的超參數選擇設定,其中包括卷積層卷積核的尺寸、學習率、權重衰減系數和丟失率。
(3) 使用Adam優化算法[22]來優化網絡的損失函數。
(4)訓練集和測試集按3∶1的比率劃分,視頻的選擇都是隨機的,這在一定程度上增強了模型的泛化能力。
(5) 對于模型的訓練和測試,借鑒文獻[10]的方法。將每個視頻以30幀為單位進行采樣,采樣步長為1,所以一個視頻將會被分成多個長度為30幀的視頻塊。在分類階段,通過ConvLSTM直接預測每個單幀的類別得分,并在幀級別上對采樣片段的類別得分求取平均值,以此確定視頻片段的預測類別得分。類似地,整個視頻的預測類別最終由構成它的所有視頻塊(長度為30幀的樣本)的類別得分共同確定。
(6) 關于初始特征圖和經過注意力機制的特征圖進行加權的權值選擇問題,僅在YouTube數據集上通過經驗設定和實驗對比分析,如圖6所示,分別取5組權值進行對比分析,以步長為0.1改變二者的值,得出初始特征圖的權值λ1為0.2,經過注意力機制的特征圖的權值λ2為0.8時分類效果最佳。當λ1>0.2,λ2<0.8時,準確率又逐漸下降,其原因可能是隨著經過注意力機制的特征圖的權重下降,降低了注意力分布對模型的引導作用,導致模型的分類性能下滑。進一步,對比分析了未加權之前的準確度和引入注意力機制加權后的準確度,將對比結果記錄在表3中。
(7) 整網絡的實現采用Tensorflow1.5.0深度學習框架,模型的訓練和測試在Intel(R)Xeon(R)Gold 5115 CPU,64 GB RAM和單卡的NVIDIA(R) GTX 2080Ti GPU的工作站上運行。
為驗證不同的卷積神經網絡特征提取器對模型分類效果的影響,采用VGG-16,GoogleNet和ResNet-50這3種基礎網絡來編碼視覺特征,然后對比這3種基礎網絡對模型識別效果的影響。對于不同特征編碼器的選取,僅在YouTube
數據集上進行對比分析。

表2 不同CNN對模型性能的影響
3個基礎網絡的權重模型全部采用在ImageNet上訓練的權重參數,通過表2可知,ResNet-50在YouTube數據集上的分類效果最佳,反映出深層次的結構對特征的刻畫更加充分,從而提高了模型的識別效果。故在后續的實驗當中均以ResNet-50來提取圖像幀的特征。
文獻[10]選擇堆疊3層的長短時記憶網絡處理視頻幀的序列信息,說明在一定程度上增加長短時記憶網絡層數保證了對時間信息的充分利用。對于視頻圖像幀序列的預測,分別對不同的ConvLSTM層數進行實驗分析。
對1到5層的ConvLSTM分別結合前一階段的特征圖對幀序列進行預測分類,如圖7所示,堆疊3層的ConvLSTM在YouTube數據集上的性能最佳,因此確定采用3層的ConvLSTM作為“CNN-RNN”結構中的RNN組件。
如表3所示,僅使用RGB數據作為輸入,控制其他條件一致(如特征提取器:ResNet-50和序列預測模型:3層ConvLSTM),將未加權之前的準確度和引入注意力機制加權后的準確度在本文所用的3個數據集上分別進行了測試對比,加權后的測試準確度均高于未加權的測試準確度。實驗結果表明,注意力機制在不同卷積通道和空間位置信息上可合理地配置特征圖的資源,有效地提升模型的辨識能力。

表3 未加權和引入注意力加權后的準確率對比
2.3.1 定量分析
在UCF101和HMDB51兩個數據集上,僅使用RGB數據來訓練和測試,對比了文中方法與軟注意力機制(Soft Attention)[10]在兩個數據集上單一動作類的識別準確度,如圖8(a)~(b)所示,利用卷積注意力模塊對特征做出精細化的調整,以通道注意力用來捕獲圖像中所要強調的突出特征,以空間注意力來關注突出特征的位置信息。與一般注意力機制中僅側重于通道特征選擇的不足,對通道注意力特征圖加以空間位置的分析,使得注意力區域更加集中,模型也更有針對性的賦予權重,在一定程度上減少了干擾性因素的影響。HMDB51數據集上對比結果記錄在圖8(a)中,在51種動作類中有33類動作,文中方法的識別準確率要優于軟注意力機制的方法,12類動作保持與軟注意力機制的識別率相同,6類動作準確率略低于軟注意力機制的方法。UCF101數據集上對比結果記錄在圖8(b)中,在101種動作類中有61類動作文中方法的識別準確率要優于軟注意力機制的方法,27類動作保持與軟注意力機制的識別率相同,13類動作準確率略低于軟注意力機制的方法。
對比軟注意力機制的方法,在兩個數據集上統計了文中方法識別準確率提升排名前15的動作類別,統計結果如表4所示。

表4 文中方法與基準網絡在測試集上單類識別準確率提升排名前15的動作類別%
為了使得模型獲得更好的泛化能力,利用不同的輸入模態驗證筆者所提出的方法。分別以RGB圖像,光流圖像和RGB+光流3種形式來訓練網絡,并將這3種形式在兩個數據集上的對比結果記錄在圖9中。利用OpenCV庫中封裝的TVL1算法計算相鄰兩幀的光流圖像,并將光流的水平和垂直分量線性調整到[0,255]的范圍內,參考文獻[23]中在長短時記憶網絡的網絡結構下圖像幀+光流的輸入模式,分別將RGB圖像和光流圖像輸入到網絡,然后在最后的決策層將二者的識別結果進行融合,做出全局最優決策。分析了3種形式作為輸入來訓練網絡之后得到的結果,RGB+光流在兩個數據集上都取得了最好的效果,其原因可能是不同形式的數據之間存在一定的互補性,從而使得模型可以學習到更好的特征表示。單獨使用光流的性能要高于單獨使用RGB圖像,說明光流中蘊含的運動信息可以實現對運動更精細的刻畫,結合光流場中的運動信息能夠有效提高動作分類的準確率。
確定了特征編碼的基礎網絡,注意力模塊之后。僅使用RGB數據,基于“CNN+RNN”框架,分別以“CNN+LSTM”和“CNN+ConvLSTM”兩種結構在HMDB51和UCF101數據集上驗證更適合于筆者提出的網絡結構,將這兩種結構在兩個數據集上的結果記錄在表5中。如表5所示,ConvLSTM結構在HMDB51和UCF101上的準確率分別約高于LSTM結構1.94%、2.13%。在保持其他可變因素一致的前提下,ConvLSTM結構性能優于長短時記憶網絡結構的主要受益于它特有的卷積運算,使得ConvLSTM不僅具備對時序問題的處理能力,而且保留了特征的空間結構信息,充分考慮到了時空特征的時序依賴性和空間不變性。

表5 “CNN+LSTM”和“CNN+ConvLSTM”兩種結構識別準確率的對比
為了更好地評價模型的訓練速度,在具體的硬件和實驗環境下(節2.2實驗設置(7)中已給出聲明),通過單位時間內處理視頻幀的數量(FPS)來衡量文中所使用“CNN+ConvLSTM”結構消耗的時間代價,并與未替換之前的長短時記憶網絡進行對比分析。如表6所示,“CNN+ConvLSTM”結構要比“CNN+LSTM”結構處理視頻幀的速度要約低35%,其原因是ConvLSTM中大量的卷積操作造成了較大的運算量,這也是未來將要關注的內容,在保持模型分類精度不受損失的前提下,尋找更佳的優化策略來優化模型的處理速度。

表6 “CNN+LSTM”和“CNN+ConvLSTM”兩種結構處理速度的對比
最后,為了體現文中方法的有效性,將在HMDB51和UCF101數據集上與當前具有代表性的其他動作識別算法的結果進行對比。不同算法的對比結果如表7所示。由表7的實驗結果對比得知,筆者提出的結合卷積注意力模塊和卷積長短時記憶的網絡模型取得了更好的實驗效果。具體來說,采用多個模態的數據來優化網絡可獲得更佳的性能(如LTC,VideoLSTM,SOFI+SI等),原因是不同形式的數據之間(RGB+光流)存在一定的互補性,從而使得模型可以學習到好的特征表示。對于LSTM Spatial Transformer而言,文中在HMDB51數據集上的識別率要比其略低1.84%,在UCF101數據上的識別率與文中方法的結果相同。這可能是因為LSTM Spatial Transformer加入了時間連續性分析,減少了冗余幀帶來的影響。與其他的幾種方法:時序3維卷積網絡(T3D-Transfer),長時循環卷積網絡(LRCN)和區分性的運動描述子(DKD)相比,文中方法的準確率均有所提升。

表7 不同方法在HMDB51和UCF101數據集上的識別準確率%
2.3.2 定性分析
在這一部分,為了更加直觀地論證文中方法的優勢所在,對賦予注意力權重的特征圖通過熱力圖的方式進行可視化的展示。對于注意力的研究,眾多研究者致力于用注意力模型教會網絡該如何專注于感興趣的區域,就視頻動作識別而言,是將網絡的焦點集中在動作發生的相關區域,然后通過這些區域來決定所執行動作的類別。從3個數據集中隨機地選擇3個動作樣本示例,如圖10所示,分別是(a)顛球,(b)吃、(c)拉小提琴,其中在每一副圖中第1行是隨機選取地非連續的5個動作樣本幀,中間一行是通過軟注意力機制方法[10]輸出的熱力圖,最后一行是引入CBAM模型后得到的熱力圖。在熱力圖中,越是高亮的區域相對應的權重就越大,網絡所關注的程度也就越高。在圖10(a)所展現的顛球動作中,文中方法與軟注意力機制方法都將重點關注的區域放在了足球上面,然而軟注意力機制方法所關注區域的位置是在整個足球及其周圍的區域,反映出所強調的顯著位置相對來說較為發散。而CBAM模型沿著通道和空間兩個維度順次調整模型關注的特征區域,對通道注意力關注的特征加以空間位置的分析,更加精準地突出決定性區域,使得網絡所關注的重點區域更為集中。同樣對于某些分類出現失誤的例子,熱力圖也直觀地展示了問題的所在。觀察可知,圖10(b)吃的例子中軟注意力機制方法出現定位失誤,第2行第1列的熱力圖表明模型所關注的區域并不在吃這個動作上,而是在盛放食物的器皿上。圖10(c)所示的拉小提琴示例樣本中,雖然模型試圖將關注的重點放在了拉動小提琴的動態區域,但同時也把有些無關區域考慮了進來,由第2行第1列和第2行第3列的熱力圖所呈現,在將小提琴作為關注對象的同時也把旁邊出現的兩個樂器演奏者作為關注對象。由于出現了多個關注點,所以這將很可能影響模型最終對視頻類別的分類。對比軟注意力機制方法在以上3個動作示例中輸出的熱力圖,直觀來看,筆者提出的方法無論是從模型所關注重點的準確性還是從重點部分的精細度來講,都有了一定程度的提升。
為了有效解決僅從通道維度關注視頻動態區域時,模型感興趣區域的范圍較為發散而導致無關區域的特征帶來的干擾性問題。筆者采用CBAM模塊,從通道和空間兩個維度引導網絡捕獲決定視頻類別的細節特征,忽略與類別相關性較弱的信息,使得網絡能夠更合理地對權重進行分配,進而從復雜多變的信息中挑選出對當前動作語義更關鍵的信息,在不增加模型復雜度的前提下,能夠抓住視頻圖像幀中的關鍵部分,進一步提升模型的辨識能力。在視頻幀預測分類階段,ConvLSTM彌補了長短時記憶網絡丟失的空間結構信息,通過引入卷積操作來利用圖像中的空間相關性,實現對視頻屬性的完整表示。最后,在3個公開數據集上對筆者提出的基于注意力機制的動作識別方法進行了實驗驗證,并與其他先進算法的實驗效果進行對比,表明該網絡模型使得動作識別的準確率得到了一定程度的提升。