周 波,李俊峰
(浙江理工大學 機械與自動控制學院,杭州 310018)
行為識別任務旨在從輸入的包含行為的視頻段中辨別出對應的行為類別.其應用領域十分廣泛,涵蓋了人機交互、智能監控、體育競技、虛擬現實等領域.近年來與之相關的研究也受到更多的關注.受光照條件、相機角度、人體樣貌、背景變化等因素影響,行為識別已成為一項非常具有挑戰性的任務.
早期經典的行為識別方法主要是基于手工設計的特征.如Laptev 等[1]提出的基于時空興趣點(Space-Time Interest Points,STIP)的方法能在具有較復雜背景的圖像的行為識別中取得較好效果.Knopp 等[2]提出的對2D-SURF (Speeded Up Robust Features)特征進行擴展,形成3D-SURF 特征,以期得到更多的Harr-wavelet特征.Kl?ser 等[3]將局部梯度方向直方圖(Histogram of Oriented Gradient,HOG)特征擴展到三維形成HOG-3D,以在多尺度下對時空塊進行快速密度采樣.Scovanner等[4]將SIFT 特征(Scale-Invariant Feature Transform)擴展到3D-SIFT.更多特征描述符還有光流梯度方向直方圖(Histogram of Optical Flow,HOF)[5],方向梯度直方圖(Histogram of Oriented Gradient,HOG)及運動邊界直方圖(Motion of Boundary History,MBH)[6]等.在眾多基于手工設計特征的行為識別方法中,IDT (Improved Dense Trajectory)[7]是目前實驗效果最好的方法.它通過沿著密集軌跡匯集豐富的描述符并補償相機運動來明確地考慮運動特征,然后通過編碼諸如BoW,Fisher 矢量的方法,將描述符聚合到視頻級表示中.iDT 在行為識別領域的突出表現使得其與現今基于深度學習的方法仍有結合,譬如Wang 等[8]提出的TDD(Trajectory-pooled Deep-convolutional Descriptor),首先,用深度學習的方法來做特征映射;其次,做特征正則化;最后,進行軌跡池化操作得到TDDs.
現今基于深度學習的行為識別方法按輸入圖像數據的類型可分為:RGB、光流、骨架、幀間差、RGBD、人體關鍵點、語音等類型,以及上述多模態融合的方法.Karpathy 等[9]提出基于單幀RGB 圖像的深度學習人體行為識別模型.Simonyan 等[10]提出結合RGB圖像與光流圖像的雙流卷積神經網絡的方法.模態融合方法以RGB 加光流組合較多.近來在RGB與光流組成的雙流網絡上取得較大突破的有Wang 等[11]提出的TSN (Temporal Segment Networks)與Carreira 等[12]提出的I3D (Inflated 3D)網絡等.TSN 在雙流卷積神經網絡的基礎上增加了對輸入圖像進行分段采樣的方法,以期建立能夠表征視頻級的行為識別模型;I3D 網絡由Google 提出的Inception 網絡改進而來,Inception 網絡的卷積層和池化層從2D 增加一維時間維度變為3D的卷積層與池化層,以期I3D 網絡在保證較深的網絡深度與復雜性的同時能夠提取視頻的時域信息.Sevilla-Luara 等[13]的研究也證實了將光流模態與RBG模態融合可以提升算法在行為識別數據集上的實驗精度.而為了更好地獲取視頻中的運動信息,Du 等[14]將2D-CNN 擴展到3D-CNN.為了提升行為識別算法在各數據集上的實驗精度,He 等[15]提出利用RGB,光流,語音信息的多模態行為識別算法.
基于姿態的行為識別與基于RGB 圖像的行為識別相比,前者的優點是抗干擾能力強,不易受背景和人的外貌等因素的影響.因此為了更好的利用姿態在行為識別領域的優勢,受姿態檢測算法的啟發,本文提出的算法將姿態檢測算法應用在行為識別中,利用其為行為識別數據集生成關鍵點特征,并進行連接,生成僅包含人體姿態的圖像,并與RGB和光流組成3 種模態融合的模型.最后在兩個主流公開的行為識別數據集上進行了大量實驗,實驗結果證明了本文算法的有效性.
人體姿態數據的獲取方式主要分為兩種:其一是通過深度攝像機直接獲得,例如Kinect,其二為通過對RGB 圖像中人的關節點進行估計再連接獲得.
其中,第2 種方法(姿態估計算法)又可以分為兩類,一類是自上而下的算法,另一類是自下而上的算法.姿態估計算法通過對RGB 圖像中人的關節點進行估計的原理如圖1所示.

圖1 姿態估計算法原理
本文選取第2 種方法中的Openpose[16]算法對行為識別標準數據集中視頻段抽取的每一幀做姿態估計,獲得每一幀中關于人體關鍵點的熱圖,根據熱圖中的關鍵點生成每一幀的姿態圖.Openpose 在COCO validation set 2014,COCO test-dev 2015 以及COCO 2016 keypoint challenge的mAP 分別為58.4%,61.8%,60.5%.
Openpose 屬于自下而上的人體姿態估計算法,與自上向下的算法不同的是,其先檢測人體關鍵點的位置,再通過關鍵點生成骨架.自上而下的姿態檢測算法則是先檢測人的區域,再回歸關鍵點,該算法的計算效果會直接受影響于前一步驟中人體區域的檢測效果,且計算損耗的時長隨著圖像中人的個數的增加而增加.自下而上的算法不受上述兩種情況的限制.
Openpose 網絡可以大致分為3 個部分.第1 部分為VGG-19 特征提取網絡,網絡的結構如圖2所示.輸入W×H大小的圖像經過預訓練的VGG-19 前10 層網絡得到特征圖F.W為圖像的寬,H為圖像的高.

圖2 VGG 特征提取器
輸入圖像經過了三層池化層,特征圖F的大小變為原來的1/64.卷積層輸出的特征圖大小Wf×Hf與原始圖像大小W×H及卷積層參數之間的計算公式如下:

其中,Wf為卷積層輸出的特征圖的寬,Hf為卷積層輸出的特征圖的高,K卷積核的大小,P為padding的值,S為stride的值,池化計算公式與卷積公式基本一致,池化向上取整,卷積向下取整.
第2 部分與第3 部分的網絡結構圖如圖2所示.特征圖F經過圖3左半部分所示的重復的4 個階段,此階段為人體關鍵點熱圖的特征提取部分,輸出為身體各軀干部分親和力的特征圖集(二維矢量場)G.

圖3 多階段CNN 架構
特征圖集G與第1 部分VGG-19 網絡輸出的特征圖F在通道維度疊加后作為第3 部分的最后2 個階段的輸入,該階段用來生成人體各部分關節點信息的二維置信圖集L.
從二維置信圖集L解析得到人體關鍵點,由二維矢量場G可以推測出每一個關鍵點與其他關鍵點之間連接關系.最后的解析步驟執行一組二分匹配以關聯身體部位候選關鍵點,生成所需的姿態圖像.受數據集的圖像質量的影響,所用姿態估計算法無法在所有待訓練與測試的圖像中得到令人滿意的對應數據,所以本文實驗中對圖像中檢測到的檢測到的人的數量以及每個人體關鍵點的數量進行評估,篩選,留下適合的數據作為訓練與測試的數據.而未能參與姿態模型測試的圖像,其在多流網絡融合中,姿態網絡的得分置0.在本文實驗中,融合算法采用平均權重法,即每個網絡的最后得分占最終結果的1/3.圖4顯示了Openpose 算法在人體行為識別數據集UCF101與HMDB51中的部分圖像的姿態估計效果.

圖4 Openpose 處理數據集圖像效果圖
本文提出的多流神經網絡的總體結構如圖5所示.多流神經網絡包含3 個部分,分別為RGB 網絡,光流網絡與姿態網絡.

圖5 多流CNN 體系結構
3 個網絡均由Softmax 層輸出預測類別的概率,最后由SVM 算法進行最后的得分融合,得出最終多流神經網絡的預測的行為類別.
Softmax 層:假設卷積神經網絡全連接層的輸出為γ1,γ2,…,γn,這些輸出值經由Softmax 層計算之后會得出一個概率值,概率值的大小為:

視頻的單幀RGB 圖像包含視頻中所展現的場景信息以及對象信息,因此從視頻中提取的RGB 圖像對行為識別任務具有非常重要的作用.采用RGB 圖像另一個優點在于相對于光流和RGB diff 等其他類型數據表示,靜態的RGB 圖像不需要額外處理,效率較高.在本文算法中,利用RGB 網絡來提取視頻中圖像信息的表觀特征.RGB 卷積神經網絡由五層卷積層,兩層全連接層組成,卷積層用來提取特征,全連接層用來分類,最后一層為Softmax 層,用來對要輸出的概率進行歸一化.本文構建的RGB 流卷積網絡采用的是牛津大學視覺幾何組(Visual Geometry Group,VGG) 開發的VGG-M2048 模型,網絡結構如圖6所示.

圖6 RGB 網絡
光流卷積神經網絡結構如圖7所示,與RGB 網絡類似,采用的是VGG-M-2048 模型.與RGB 網的輸入不同的是,光流卷積神經網絡輸入是按時間發生的前后順序連續堆疊的光流圖像.光流是分析相鄰兩幀圖像之間像素變化的重要圖像亮度模式,光流圖能夠被解釋為圖像中的運動物體的表觀運動,它提供的是圖像中像素點的“瞬時速度”,因此能夠更加直觀清晰的表征人體運動信息.光流網絡能有效地提取視頻中的運動信息,網絡預測類別的得分與RGB 網絡預測類別分數融合,能顯著提高人體行為實驗的識別精度.

圖7 光流網絡
本文實驗中的光流幀是采用OpenCV中的稠密光流提取法生成的.光流計算時分別生成了相鄰幀的水平方向和垂直方向的光流圖像,將10 幀水平方向上的光流圖與10 幀垂直方向上的光流圖按時間順序堆疊構成一個光流組,作為光流卷積神經網絡的輸入.
姿態網絡可以看作是光流網絡的一種擴展.姿態網絡的結構與光流網絡的結構相同,不同的是,網絡的輸入從連續堆疊的光流圖像變為連續堆疊的姿態圖像.為彌補因相鄰幀姿態的相似度高而使姿態網絡不能建模長時的姿態信息的不足,本文對姿態圖像進行了分段采樣,再按時間順序進行堆疊作為姿態網絡的輸入進行訓練.考慮到不同數量的堆疊姿態圖像會對實驗結果造成影響,本文實驗部分加入了相關參數的對比實驗.姿態網絡結構如圖8所示.

圖8 姿態網絡
本文提出的多流卷積神經網絡在行為識別任務上不僅考慮了圖像的表觀信息(RGB 網絡)與運動信息(光流網絡),而且融合了行為識別任務中占主導地位的人體的姿態信息(姿態網絡),最后進行信息融合來互補,有效地提升行為識別任務的準確率.
為了便于和目前的主流方法比較,本文算法在兩個比較受歡迎的行為識別數據集上進行了實驗,分別為UCF101 數據集與HMDB51 數據集.
UCF101 數據集:包含101 個類別的真實場景下的行為識別數據集.該數據集從Youtube 網站上取得,并經過剪輯,是同為行為識別數據集UCF50的擴展.UCF101 數據集中的行為類別共101 類,其中每類動作都具有很強的多樣性,這種多樣性具體體現在視頻中相機的運動,運動物體的外貌,形態變化,背景雜亂等.
HMDB51 數據集:HMDB51中的視頻剪輯主要來源于電影,剩余部分取自公共數據庫和主流的視頻網站等.該數據集包含6849 個剪輯,分為51 個動作類別,每個動畫類別至少包含101 個剪輯.
實驗條件:本文算法進行實驗過程中的計算機的配置為Intel Core i5-8500@3.0 GHz,NVIDA GeForce 1080TI GPU,操作系統為Ubuntu16.04,實驗框架為Tensorflow.訓練的超參數上,學習率設置為0.001,動量0.9,權重衰減系數為0.0008,批量大小設為16,使用預訓練的雙流卷積神經網絡,總的epoch 大小為80.
本文使用輸入為224×224 大小圖像的神經網絡的模型大小為353 M.表1顯示了本文所用模型的以常見的輸入圖像大小112×112為例,神經網絡各層的參數.

表1 VGG-2048M 參數
圖9分別顯示了實驗過程中姿態網絡在UCF101數據集split2與HMDB51 數據集訓練時的收斂過程.可見二者分別在20 k與35 k 步數趨穩.

圖9 姿態網絡在HMDB51與UCF101的訓練收斂特性圖
圖10顯示了在兩個不同的數據集中,本文提出的多流網絡較雙流網絡在測試時實驗精度上提升最大的行為類別及其提升的效果.而在本文實驗中,這些類別在姿態估計算法對其進行姿態估計時,能產生較其它類別更多的訓練與測試數據.而具體在UCF101與HMDB51中具有姿態訓練數據較多且經多流網絡融合后實驗精度提升最大的3 個類別分別為Baby Crawling,Sky Diving,Archery與Kick Ball,Swing Baseball,Push Up.這些類別數據的一個顯著的特點是在姿態上與其它數據集具有較強的區分性.

圖10 不同數據集部分類別提升效果直方圖
反之,如果一個類別與另一個或多個類別的姿態相似性較強,則引入姿態網絡會起到反作用.實驗過程中多流較雙流網絡在數據集UCF101與HMDB51 實驗精度上下降精度最多的3 個類別分別為Hands Stand Push Ups,Diving,Front Crawl與Run,Sit,Climb.圖11直觀地顯示了兩種方法在上述類別的精度對比直方圖.

圖11 不同數據集部分類別效果降低直方圖
表2顯示了本文提出算法較原雙流卷積算法的消融實驗數據對比.在未融合的雙流卷積神經網絡的結果上,為使本文算法的雙流網絡與原雙流卷積神經網絡的結果基本一致,實驗中采用預訓練的網絡,并且進行了十倍數據增廣,添加了BN 層等優化操作,并與雙流中的實驗結果逐一對比,最后融合姿態的實驗數據.考慮堆疊的姿態圖像的幀數L對實驗精度影響,本文選取了從3 到10的不同的堆疊幀數,并進行了實驗,實驗結果如表2所示.

表2 消融實驗結果準確度對比(%)
由表3中的實驗結果可知,融合了姿態圖像的多流卷積神經網絡在UCF101 數據集與HMDB51 數據集上較原方法實驗精度分別高出2.3%,與3.1%.驗證了本文提出算法的有效性.

表3 不同算法在UCF101與HMDB51 數據集上識別準確率對比(%)
不同的圖像數據類型包含了不同的圖像特征,將不同類型的圖像作為深度學習神經網絡的訓練數據并做融合,能夠提升在單一模態下行為識別的準確度.具體結論如下:
本文提出了一種結合RGB、光流、姿態的多流卷積神經網絡的行為識別方法,該方法很好的利用了姿態與行為的強相關性以及在行為表達上的優勢,并且相比于RGB 圖像,姿態數據更不易受光照,人的外貌變化等因素的影響.相較于光流圖像,姿態數據能更好地提供圖像種人的形態特征.實驗結果表明,本文算法在UCF101與HMDB51 數據集上的實驗較主流算法有較大提升,也證實了本文提出的算法的有效性.接下來的工作是在多模態的基礎上實現能夠實時運算的方法.此外,因光流和姿態圖像需要額外的存儲空間,如何將光流和姿態圖像數據并入端到端的訓練將是實現實時多模態網絡的一個關鍵的待解決的問題.