張聰聰,何 寧,孫琪翔,尹曉杰
(1.北京聯合大學 北京市信息服務工程重點實驗室,北京 100101;2.北京聯合大學 智慧城市學院,北京 100101)
人體動作識別已成為計算機視覺領域的研究熱點之一,在視頻監控[1]、人機交互、醫療保?。?]、智能人機界面[3]等領域具有廣泛的應用[4]。不同于圖像處理,視頻中動作識別仍然是一個具有挑戰性的問題。視頻序列包括空間特征和時序特征,視頻分類效果的好壞很大程度上取決于能否從視頻中提取和利用這兩類特征。有效地從人體動作視頻中提取到具有高區分度的時空特征,對于提高人體行為識別的準確率有著重要作用。然而,視頻由大量的連續幀序列組成,具有極大的變化性和復雜性,例如遮擋、視點變化、背景差異、混亂、照明變化等情況[5],這對視頻中人體動作的識別提出了更高的要求。
隨著計算機視覺的發展,卷積神經網絡(CNN)已經從圖像分類問題擴展到視頻中動作識別問題[6]。在針對視頻中動作的識別問題中,多數研究都集中在提取可以表達視頻動作的有效特征上,與圖像空間中的特征表示不同,視頻中人體動作的特征表示不僅要描述圖像空間中人的表觀特征,而且還需提取動作外觀和姿勢的變化。因此,特征表示的問題從二維空間擴展到了三維時空[7],這樣提取的有效特征信息能夠顯著提升視頻識別的準確性。目前視頻中動作特征主要是利用基于深度學習的方法進行提取,SIMONYAN 等[8]提出雙流網絡模型,分別使用RGB 圖像和光流圖像作為網絡輸入,提取視頻的空間特征和時間特征,最后將2 個特征融合來識別視頻中的動作。3D 卷積網絡將視頻視為3D 時空結構,TRAN 等[9]通過開發3D 卷積和3D 池化層,將2D CNN 擴展到3D CNN,并使用3D 卷積方法來學習視頻中動作的空間和時間特征。
本文提出一種基于注意力機制的3D 密集卷積網絡模型。使用雙流網絡基本框架,將原DenseNet網絡的二維卷積內核擴展到三維空間,以提升視頻序列特征的提取效率。為準確提取視頻中人的動作特征,在3D 密集卷積網絡中加入空間和通道注意力機制,結合時間網絡對連續視頻序列提取的運動光流進行特征提取,并在雙流網絡之間對時空網絡的相互作用進行建模,最后進行時空特征融合得到視頻中人體動作的識別結果。
視頻中動作識別盡管在許多領域中得到了廣泛應用,但準確有效的人體動作識別仍然是計算機視覺研究的一個具有挑戰的領域[7]。視頻中巨大的信息冗余需要大量的存儲空間,而且從視頻幀中發現具有區分性的信息非常復雜且過程緩慢。近年來,雙流網絡模型[8]和3D 卷積模型[9]在視頻中的動作識別上取的了較好的效果。雙流卷積網絡有一些代表性擴展工作,如ZHANG 等[10]使用視頻流中的運動矢量而不是光流序列來提高計算速度并實現實時的視頻中人體動作識別,FEICHTENHOFER 等[11]將空間和時間信息融合的過程從原始的最終分類層更改為網絡的中間部分,從而進一步提高了動作識別的準確性,WANG 等[12]詳細討論了雙流卷積網絡的輸入、卷積網絡結構和訓練策略,并提出了時域網(TSN)進一步改善雙流卷積網絡的結果。另外,LAN[13]和ZHOU[14]的工作也進一步提高了TSN 的識別結果。WANG 等[15]對雙流網絡進行跨任務擴展,使用動作識別網絡中的信息促進動作預測網絡的學習,構建的師生模型在視頻中動作的預測任務中取得了較好的效果。
許多研究人員嘗試將不同的二維卷積網絡擴展到三維時空結構,以學習和識別視頻中的人體動作特征。3D 卷積網絡可以直接從視頻中提取時空特征,因此具有較高的識別效率。JI 等[16]將卷積神經網絡在時間維度上進行了擴充,提出使用3D 卷積神經網絡進行動作識別。TRAN 等[9]提出一種C3D(Convolutional 3D)的標準3D 卷積神經網絡架構。3D 卷積神經網絡通過3D 內核卷積將多個連續幀堆疊在一起,進而形成多維數據特征來實現對視頻動作時空特征的提取。通過3D 卷積核這種構造,卷積層中的特征圖被連接到前一層中的多個連續幀,從而捕獲到運動信息。CARREIRA 等[17]將Inception-V1 的網絡結構從二維擴展到了三維,并提出用于動作識別的雙流3D ConvNet。此后出現了一系列基于3D 卷積的網絡框架[18-20],ZHU 等[21]提出將合并操作從原始空間維擴展到3 個時空維,并將雙流卷積網絡擴展到3D 結構。
注意力機制可以利用人類視覺機制進行直觀解釋,視覺系統中傾向于關注圖像中輔助判斷的部分信息,并忽略掉不相關的信息[22],使用注意力機制對于視頻中復雜特征信息的提取是有效的。ZHANG 等[23]提出空間自注意力機制,使得網絡對感興趣區域有更多的關注。JADERBERG 等[24]提出一種注意力模塊,通過對圖像進行空間變換來提取圖像中的關鍵信息。HU等[25]提出通道注意力模塊,通過對不同通道賦予不同的權重來獲取每個特征通道的重要程度。WANG 等[26]提出一種編解碼器注意模塊,并將其與ResNet相結合,經過端到端的學習,該網絡不僅表現良好,而且對噪聲具有較好的魯棒性。TU 等[27]使用時空聚合視頻特征進行動作識別,同時設計RGBF 模式捕獲RGB 圖像中與動作活動對應的運動突出區域,丟棄視頻幀中的冗余特征。WOO 等[28]在HU 等[25]的基礎上提出了卷積塊注意力模型(Convolutional Block Attention Module,CBAM)。CBAM 結合空間和通道的注意力模塊,可以有效提升卷積神經網絡的表達能力,在各項任務中都取得了較好的效果。本文為了更好地提取視頻中動作的特征,在三維密集卷積神經網絡中嵌入改進的CBAM注意力模塊以提高其性能。本文的主要工作如下:
1)為充分提取視頻的時空特征,本文采用雙流網絡為基本框架,以視頻數據的RGB 圖像和視頻幀的光流圖像作為輸入,分別提取視頻動作的時間和空間特征,最后通過融合進行分類識別。
2)為更準確地提取特征并對時空網絡之間的相互作用進行建模,在雙流網絡之間使用跨流連接乘法殘差塊對時空網絡提取的特征進行融合。
3)將DenseNet網絡由二維卷積內核擴展到三維時空,加強特征傳播與重用,有效地減少了參數的數量。
4)在三維密集卷積網絡中加入空間和通道注意力機制,更加準確有效地提取了視頻中人的動作特征,在UCF101 和HMDB51 數據集上取得較好的效果。
本文使用密集連接網絡作為特征提取網絡,引入通道和空間注意力學習機制,提出一種適用于視頻中人體動作識別的算法。從特征提取、注意力機制模塊、特征融合等3 個方面對網絡模型進行詳細的描述。模型網絡框架如圖1 所示,輸入視頻幀和相應的光流圖片之后分別在空間網絡和時間網絡中進行特征提取,在提取特征過程中通過注意力模塊進一步提升特征提取效率,且時空網絡中存在特征交互,最后在分類層進行融合輸出最后的識別結果。在特征提取部分,使用雙流網絡從RGB 圖像和光流圖像兩方面對視頻幀的表觀信息和運動信息進行提取,在雙流網絡之間用乘法殘差塊使視頻的運動信息與表觀信息進行交互,從而更準確地提取視頻中的關鍵特征。為使CBAM 注意力模塊能夠融合到本文網絡中,注意力機制模塊部分將CBAM 模塊從二維擴展到了三維,以便更好地嵌入到三維密集網絡中。特征融合主要是介紹時空網絡之間的交互以及最終分類結果的融合,圖1 中時間網絡到空間網絡的連接表示時空網絡之間的交互連接。

圖1 模型網絡框架Fig.1 Model network framework
由于DenseNet 網絡具有參數更少、計算成本低和較好的圖像分類性能,本文將傳統的DenseNet 網絡的卷積核由二維擴展到三維卷積核,DenseNet 網絡使用密集連接方式,每層網絡與前層所有網絡相連接,連接方式如圖2 所示。3D卷積核的擴展源于DenseNet 和C3D,與T3D 中的DenseBlock 相似,3D 卷積層在空間上對類似于2D卷積的輸入特征圖進行卷積,并在時間上對連續視頻幀之間的時間依賴性進行建模。同樣,3D 池化層在空間和時間上對輸入特征圖的大小進行下采樣。3D 卷積層和3D 池化層的內核大小均為s×s×d,其中,s是空間大小,d是輸入視頻幀的深度/長度。

圖2 3D DenseNet 結構Fig.2 3D DenseNet structure
3D DenseBlock 與二維密集網絡中的2D DenseBlock 相似,三維密集網絡中每一層的特征直接連接到3D DenseBlock 中后續各層,連接方式是通過元素級相加,所以,對于一個lth 層的block,共有l(l+1)/2 個連接,同時lth 層與(l-1)th 層之間可能實際上包含多個卷積層。lth 層的輸入為lth 層之前所有3D Dense-Block 的輸出,lth 層的輸出為xl,該過程可以描述如下:

其中:表示前面所有層的輸入特征圖的密集連接;H(?)為非線性轉化函數,是BN-ReLU-3DConv 組合操作的復合函數。與2D DenseNet 相似,3D DenseNet 中的每個Dense-Block 模塊包含批處理歸一化(BN)、ReLU 激活函數、池化(Pooling)和3D 卷積(大小為3×3×3)三部分。與其他網絡逐層傳遞的方式不同,DenseNet 網絡每層網絡與前層所有網絡相連接,能夠直接獲得輸入的特征,通過特征在通道上的連接實現特征重用,并且魯棒性更好。
雖然三維卷積神經網絡在動作識別領域已有大量的研究,但仍然是一個具有挑戰性的問題。對于視頻來講,信息主要包含在視頻序列關鍵幀的關鍵區域中。但在實際實驗中,3D 卷積神經網絡往往缺乏提取這類關鍵信息的能力[23-24]。研究結果表明,注意力機制是一種忽略不重要信息而提取關鍵信息的方法,且在圖像領域,許多網絡模型都引入了注意力機制,并取得了良好的效果[25-26]。因此,本文提出在三維卷積神經網絡中引入注意機力機制,以便更好地提取視頻中關鍵信息的特征。
本節描述了雙流網絡中的三維CBAM 模塊。基于傳統的CBAM[26]將其中的卷積池化操作從二維擴展到了三維,生成一個三維CBAM 的注意力模塊,結合3D DenseNet 網絡能夠有效提升對視頻幀特征的提取,三維CBAM 模塊可以對特定區域選擇性聚焦來更好地捕獲視頻幀中的特征。注意力模塊框架如圖3 所示,注意力模塊由通道注意力模塊與空間注意力模塊串聯組成,在深度網絡的每個卷積塊上,使用注意力模塊能夠有效地細化網絡中的特征映射,提高特征提取效率。

圖3 三維卷積塊注意力模塊Fig.3 3D convolutional block attention module
通道注意力模塊:與傳統CBAM 模塊類似,通道注意力模塊主要是確定視頻幀中關鍵區域“是什么”,輸入的特征圖為?∈RT×C×H×W,如圖4 所示,采用3D 最大池化和3D 平均池化操作相結合的方法壓縮輸入特征映射的空間維數,提高了通道注意力的效率。通過池化操作后生成2 個不同的特征描述符輸入到含有一個隱藏層的多層感知器(MLP)中生成通道注意力特征圖ΜC(F),經過通道注意力機制模塊中激活函數σ后得到各通道的權重系數,這樣對不同的通道特征圖分配不同的權值,對包含有效關鍵信息的通道分配較高的權值,對其他通道分配較低的權值,從而確定了視頻幀中包含有效特征的通道。為了減少參數的開銷,將隱藏層的特征維數為C∕r(r為約簡率),每個特征描述符通過多層感知器后,使用按元素進行求和的方法合并輸出特征向量,通道注意力的計算公式如下:

圖4 通道注意力模塊Fig.4 Channel attention module

其 中:σ為sigmoid 激活函 數;W0,W2∈RC/r×c與W1,W3∈RC×C/r中的W0、W1和W2、W3是MLP 的權重,對于2 個輸入,分別屬于不同的多層感知器(MLP)。最后將輸入的特征圖與通道注意力特征圖進行元素的加和操作,從而對視頻幀中關鍵通道進行有效提取。
空間注意力模塊:與通道注意力機制不同,空間注意更多關注圖像中的有效特征“在哪里”,這是對通道注意提取的特征的補充??臻g注意力機制是對視頻幀中不同的空間區域分配不同的權重,對視頻幀中存在動作的關鍵區域分配較高的權重,從而確定關鍵信息在視頻幀中的位置??臻g注意力模塊如圖5 所示,本文使用3D 池化內核對空間注意力模塊進行擴展,并使用最大池化和平均池化操作得到,將其連接得到一個有效的特征描述符經過一個三維卷積層生成一個空間注意力特征圖MS(F),空間注意力的計算過程如下:

圖5 空間注意力模塊Fig.5 Spatial attention module

其中:fT×7×7為三維卷積運算,其3D 卷積過濾器大小為T×7×7。在空間注意力模塊中對輸入特征圖與空間注意力特征圖進行累積合并操作,給視頻幀中的關鍵區域較高的權重,從而提取出視頻幀中的關鍵部分。
在本文的網絡模型中,對于輸入的視頻,通過對視頻均勻采樣RGB 幀和對應的光流幀,分別輸入到具有相同CNN 結構的時空網絡,采用雙流結構能夠更好地模擬視頻中運動的外觀和運動特征的相關性。傳統的雙流網絡是時空網絡提取相應的特征后進行Softmax 預測,最后計算最終的分類結果,由于這種結構并行地提取了視頻的外觀特征和運動特征,在最終融合之前沒有交互作用,無法對視頻幀中細微的時空線索進行建模。因此,在時間網絡與空間網絡之間加入跨流連接來進一步對視頻幀中細微的時空線索進行建模,跨流連接使用乘法殘差塊對時空網絡特征進行融合,跨流連接模塊方式如圖6所示。

6 跨流連接方式Fig.6 Cross-stream connection mode
在提取特征部分對網絡進行從空間網絡到時間網絡的跨流連接特征融合,分別進行4 次融合,每次融合都在池化操作之后,融合特征后通過注意力機制模塊準確有效地提取運動特征,融合方式如式(4)所示。最后在分類層對時空網絡進行融合,時空網絡分別輸出一個Softmax 層,最后通過加權融合將兩個Softmax 層的輸出結果進行融合,得到視頻中人體動作識別的最終識別準確率。同時,在反向傳播過程中,來自每一個網絡的信號可以共同參與并影響梯度,這有助于緩解原雙流網絡在建模細微時空相關性方面的不足。

數據集主要包括以下2 種:
1)UCF101[29]數據集。UCF101 數據集是一個人體運動視頻數據,包含101類動作,共有13 320個視頻段,101 個動作類別中的視頻分為25 組,每組可包含4~7 個動作視頻,主要分為人與物體互動、人體動作、人與人互動、樂器演奏、體育運動等5 種類別,如化妝、打字、吹頭發、騎馬、跳高等動作。它在動作方面提供了最大的多樣性,并且在相機運動、物體外觀和姿勢、物體比例、視點、雜亂的背景、照明條件等方面存在較大的變化。部分動作示意圖如圖7 所示。

圖7 UCF101 數據集部分動作示意圖Fig.7 Schematic diagram of partial actions in UCF101 dataset
2)HMDB51[30]數據集。包 含51 類動作,共 有6 849 個視頻段,分辨率為320 像素×240 像素。主要分為面部動作、面部操作、身體動作、交互動作、人體動作等5 類,如微笑、吸煙、拍手、梳頭、打球、擁抱等動作。該數據集的視頻大多來源于電影剪輯片段,小部分來自YouTube 等視頻網站,像素相對較低。部分動作示意圖如圖8 所示。
本文將數據集的最終識別準確率值作為人體動作識別模型的評估指標。對于UCF101 和HMDB51這2 個數據集,采用原始訓練/測試拆分,并遵循這2 個數據集提供的標準評估協議,將3 個拆分的平均值作為最終結果,每種拆分方式都是將數據集分為70%的訓練集和30%的測試集。
對于雙流網絡,使用文獻[11]中預先計算的視頻RGB 和光流作為模型的輸入,輸入視頻后對視頻幀進行均勻取樣,以保證視頻中動作的連續性,取樣視頻的RGB 圖像和相對應的光流幀用作模型的輸入。對于空間網絡,采用數據庫ImageNet[31]對其進行預訓練。對于時間網絡,采用TL-V1[32]方法提取RGB 數據的光流運動信息,通過線性變換將光流數據離散到[0,255]上,以便與RGB 數據同區間。
由于人體動作數據集中取樣的視頻幀有限,在較深的網絡結構中容易產生過擬合現象,因此對輸入的視頻幀采用與文獻[33]相同的數據增強策略,對視頻幀進行隨機位置裁剪、適當翻轉等操作擴大訓練集。視頻的最大裁剪大小(即圖像的高度和寬度)設置為224×224,以減少GPU 內存的使用。在Linux 系統搭建Ubuntu16.04 的TensorFlow 平臺進行實驗。由于深度神經網絡容易陷入過擬合現象,因此本文將模型中空間網絡和時間網絡dropout 層的丟失率分別設置為0.7 和0.8,設置初始學習率為10-3,并在之后的訓練中對學習率進行適當調整。在對比實驗中,除了對該模型在數據集上的識別準確率進行分析外,還對是否添加注意力機制及跨流連接方式進行了消融實驗。
本文對基于注意力機制的三維密集網絡模型的注意力機制部分進行了可視化,將通過注意力機制生成的熱圖與原始圖像進行結合,可以看出,通過注意力機制模塊后,能夠準確地識別出人體動作的關鍵特征,觀察可視化圖片可以發現,人體動作的關鍵信息主要集中在運動的部分。可視化結果如圖9 所示,紅色部分表示學習到的注意力機制的預測,代表圖像中具有關鍵運動信息的部分,藍色部分代表視頻中的背景部分(彩色效果見《計算機工程》官網HTML 版)。表1 為是否添加注意力模塊對最終識別準確率的影響。從表1 可以看出,在時間網絡和空間網絡上使用添加注意力機制的網絡模型比不使用注意力機制的動作識別準確率高,表明添加注意力機制的網絡模型比視頻中人體動作識別任務更有效。

圖9 注意力機制可視化圖像Fig.9 Attention mechanism visualization images

表1 添加注意力模塊對最終識別準確率的影響Table 1 Effect of adding attention module on the final recognition accuracy %
表2 為本文方法模型和其他經典的動作識別方法模型在UCF101 和HMDB51 數據集識別準確率的結果對比。文獻[8-9]分別提出了雙流網絡模型和C3D 卷積網絡模型,文獻[11]提出的時空融合網絡,其網絡結構是雙流VGG 模型,分析了時空網絡的不同融合方式,為本文提供了工作基礎。文獻[34]引入一種新的時域層為可變時域卷積核深度建模。實驗結果表明,本文模型對視頻中人體動作的識別有較高的準確率。

表2 不同模型在UCF101 數據集和HMDB51 數據集上的識別準確率對比Table 2 Comparison of the recognition accuracy of different models on UCF101 dataset and HMDB51 dataset %
表3 為3D DenseNet 與C3D 兩種模型在UCF101和HMDB51 數據集上識別準確率的結果對比。通過實驗可以看出,基于C3D 與DenseNet 網絡改進的3D DenseNet 網絡在時間網絡、空間網絡以及雙流網絡中都取得了較好的效果。實驗中對兩種3D 網絡模型進行對比,由于未使用注意力機制,避免了注意力機制對該實驗的影響。從表3 還可以看出,與空間網絡提取的外觀信息相比,時間網絡提取的光流運動信息識別準確率更高。這也說明了在視頻中的人體動作識別任務中,運動信息更加重要。

表3 3D DenseNet 與C3D 兩種模型在UCF101 和HMDB51 數據集上識別準確率的結果對比Table 3 Comparison of results of classification accuracy between 3D DenseNet and C3D models on UCF101 and HMDB51 datasets %
從表3 可以看出,結合光流運動信息的雙流網絡能夠有效改善單支網絡的識別準確率。本文對時空網絡在最終分類層的融合進行探究,時空網絡融合的識別準確率如表4 所示,設置不同時間網絡和空間網絡分類的識別置信度,以便對時空網絡的識別準確率進行線性加權融合得到最終的識別結果,在UCF101 數據集的3 個拆分(split)方式下進行實驗,由表4 可以看出,時空網絡的識別置信度設置為1∶1 時,最終的融合識別準確率優于1∶1.2 和1∶1.5 的情況。

表4 UCF101 數據集上時空網絡融合的識別準確率Table 4 The recognition accuracy of spatiotemporal network fusion on the UCF101 dataset %
本文在特征融合的跨流連接如圖6 所示,采用乘法殘差塊對時空網絡特征進行融合,本文將加法與乘法兩種融合方式進行比較,對比結果如表5所示。使用加法進行融合,在UCF101 和HMDB51的第1 個分段上分別產生9.73%和43.86%的測試誤差,相比之下使用乘法方式進行融合,測試誤差降低到了8.56%和39.43%。因此,在進行跨流連接的選擇上本文采用的是乘法殘差塊進行特征融合。

表5 不同跨流連接方式在UCF101 和HMDB51 數據集上的測試誤差率Table 5 Different cross-stream connection modes test error rate on UCF101 and HMDB51 datasets %
表6 為雙流網絡中對不同跨流連接方向的研究,使用乘法殘差塊進行特征融合,分別對空間網絡到時間網絡、時間網絡到空間網絡以及時空網絡相互連接3 種連接方向進行了實驗。實驗結果發現,將跨流連接的方向設置為從時間網絡到空間網絡能夠有效減少測試誤差,但也發現,從空間網絡的動作表觀信息流到時間網絡的光流信息進行連接容易發生表觀信息的嚴重過擬合。

表6 在UCF101 和HMDB51 數據集上不同跨流連接方向的測試誤差率對比Table 6 Comparison of test error rates of different cross-stream connection directions on UCF101 and HMDB51 datasets %
本文提出一種基于注意力機制的三維DenseNet雙流網絡結構用于視頻中的人體動作識別。該模型針對光流圖片中動作的運動信息,有效提取視頻序列的時間特征,結合視頻動作的表觀信息,通過適當的卷積層特征融合和分類層融合,提高視頻中人體動作的識別準確率。同時,在網絡中加入注意力機制和時空網絡的跨流連接,通過提取動作關鍵特征對時空線索進行建模,進一步提升特征提取效率,從而提高識別準確率。實驗結果表明,本文模型能夠在UCF101 數據集和HMDB51 數據集上取得較好的識別準確率,并且能夠減少模型的參數,加快訓練測試過程,具有更好的泛化能力。本文模型由于訓練了時間和空間兩個網絡,導致降低模型參數的效果有限,下一步將對時空網絡進行更好的融合,減少模型參數,從而提高識別準確率。