李元祥 謝林柏
(江南大學物聯網工程學院物聯網應用技術教育部工程中心 無錫 214122)
近年來,人體行為識別被廣泛應用于人機交互、視頻檢索和視頻監控等日常生活場景中,利用人體行為識別算法可以有效自動地提取視頻數據中高層語義,從而大大降低人力成本。目前,基于傳統RGB相機的人體行為識別算法對環境要求較為苛刻,如光照、對象遮擋等因素。隨著3D體感傳感器的推出,如微軟的Kinect,許多研究者開始利用Kinect提供的多源信息,如深度圖序列、骨骼位置信息,降低環境因素對行為識別算法的影響,提高算法的魯棒性。
目前,傳統的行為識別算法主要集中對RGB視頻序列的處理,包括分類器或特征提取算法的設計,如Laptev等[1]提出使用哈里斯角點檢測器在時空3D空間檢測興趣點,取得了一定的識別效果。隨著低成本Kinect深度傳感器的推出,許多研究者開始嘗試利用深度數據或骨骼位置數據解決人體行為識別遇到的挑戰,Bulbul[2]等通過DMM計算輪廓梯度方向直方圖特征(CT-HOG)、局部二值模式特征(LBP)和邊緣方向直方圖特征(EOH),并利用分類器KELM進行分類識別,一定程度上降低光照變化和物體遮擋等不利環境因素的影響。
隨著卷積神經網絡在圖像領域取得了巨大的成功,受此鼓舞,研究者將卷積神經網絡應用到行為識別領域并取得了顯著的效果。Tomas[3]等利用二維卷積神經網絡和堆疊編碼器(SAE)分別學習RGB視頻序列和骨骼位置信息序列的高層語義,其中RGB視頻序列被預處理為運動歷史圖像序列(MHI)以提取其長時域運動信息。宋立飛[4]等在經典雙流網絡結構上,利用2D殘差網絡和多尺度輸入3D卷積融合網絡提取視頻的時空維度信息,并決策融合兩路神經網絡的預測分數。
行為識別與靜態圖像識別最主要的區別是視頻序列包含行為的時域信息,因此人體行為識別難點之一就是如何從復雜場景的視頻序列中,有效提取動作行為的時域信息。Hochreiter[5]等在傳統遞歸神經網絡(RNN)進行改進,提出了長短期記憶遞歸神經網絡(LSTM),能夠有效提取視頻序列的時域特征。Imran[6]等利用RGB視頻序列與深度圖序列分別計算MHI和DMM,并輸入到多路獨立的卷積神經網絡訓練,最后分別比較了均值法和乘積法這兩種決策融合策略的識別效果。
本文主要貢獻為以下三個方面:
1)為了提取RGB視頻序列中靜態表觀與短時域運動信息,以及深度圖序列中長時域運動信息,提出了一種結合RGB-D視頻序列和卷積神經網絡的人體行為識別算法。
2)在深度圖序列中,通過引入表示能量大小的權值變量,對不同深度圖進行加權,從而保留視頻序列中更多的細節信息。
3)為了有效融合多路卷積神經網絡的預測分數,基于常用的決策融合方法,提出一種改進的加權乘積融合策略,實現端到端的行為識別算法。
卷積神經網絡在靜態圖像識別任務中,表現出遠超人工設計的特征提取算法識別效果,但在行為識別任務中一直較難取得顯著的效果,其中一個主要原因就是用于訓練神經網絡的行為數據集偏小,使得網絡模型參數很難達到最優,且在訓練過程中網絡模型易出現過擬合。為了解決該問題,首先,使用預訓練網絡模型初始化神經網絡參數。其次,針對于深度圖序列,除了采用常規的尺度變換和裁剪翻轉等手段,同時利用仿射變換[7]模擬數據集在相機視角變化的情況,從而進一步擴大數據樣本量。為了保留視頻的更多細節信息,在將深度圖序列壓縮到一幀DMM圖像時,引入表示能量大小的權值變量,同時將改進的深度運動圖進行彩虹編碼[8]處理。
為了擴大數據樣本量,可以利用仿射變換得到不同相機視角下的深度圖像,如圖1所示。假設Kinect相機從P O位置移到P d位置,此過程可以分為以下兩步:首先,從位置P O繞y軸旋轉θ角度到位置Pt,然后再由位置Pt繞x軸旋轉β角度到P d。

圖1 相機視角變化
設點(X,Y,Z)為P O的位置坐標,則P d位置坐標(X1,Y1,Z1)可以由下式得到:

其中T r y和T r x分別表示位置P O到位置P t、位置Pt到P d的的變換矩陣,可表示為

其中R y(θ),R x(β),T y(θ),T x(β)為

為了模擬出同一個動作序列下不同實驗者執行效果,需要對給定的動作序列以不同采樣間隔進行下采樣,其計算公式如下:


圖2 下采樣示意圖
近年來,卷積神經網絡在圖像分類、目標檢測和人臉識別等計算機視覺領域都表現出卓越的性能。本文利用二維卷積神經網絡善于處理靜態圖片分類與識別的特點,嘗試將深度圖視頻序列分別投影到三個正交平面(正平面、側平面和頂平面)上,然后在每個投影平面上將深度圖序列處理為一幀深度運動圖像。
為了克服動作速度和幅度對動作識別的影響,在將深度圖序列壓縮到一幀DMM時,引入表示能量大小的權值變量來保留深度圖序列更多的細節信息。在速度擴增中,不同的采樣間隔能夠得到對應不同時間尺度的采樣序列。表示在采樣間隔為l的下采樣序列中,累計計算到第i幀的深度運動圖,其中ε(i)v∈{f,s,t}表示第i幀的能量,表示第i幀深度圖投影到正平面、側平面和頂平面得到的投影圖像。


其中ξ為設定的閾值,sum(.)為計算二值圖中非零的個數。

圖3 “right hand draw circle(counter clockwise)”動作在不同模擬速度下DMM圖像
為了提取RGB視頻序列中靜態表觀、短時域運動信息和深度圖序列中長時域運動信息,本文提出了一種結合ResNet(2+1)D[9]和GoogLeNet InceptionV2(BN-Inception)[10]的多路端到端卷積神經網絡結構。四路網絡結構相互獨立訓練,其中三路BN-Inception網絡參數共享,分別用于訓練DM M f,DM M s,D MM t數據。為了避免直接融合神經網絡高層特征帶來的特征維度高、計算復雜等問題,采用后期分數融合方式計算最終行為視頻序列的預測分數。
對于給定一段RGB視頻序列V,在提取視頻序列短時域運動信息時,首先將動作視頻可重疊地分割為K個子序列片段{ }T1,T2,...,T k,利 用ResNet(2+1)D對其訓練,最后對K個子序列片段聚合得到視頻級的預測分數,其過程描述如下:

其中R(T1,T2,...,T k)V表示視頻序列V最終的預測分數,(T1,T2,...,T k)代表子序列片段,f(T k,W)函數表示基于模型參數W的ResNet(2+1)D網絡在子序列片段Ti輸入下得到的類別得分,g函數為采用均值法的聚合函數,以融合T1,T2,...,T k子序列片段的類別分數。

圖4 多路卷積神經網絡結構
ResNet(2+1)D網絡是在3D ResNet[11]網絡結構基礎上,將3D卷積分解為2D空間卷積和1D時間卷積。在與3D ResNet網絡保持相同參數量下,通過在2D空間卷積與1D時間卷積之間引入非線性激活函數ReLu,同時分別優化2D空間卷積和1D時間卷積,使得ResNet(2+1)D的訓練錯誤率比3D ResNet更低。本文采用連續32幀圖像作為片段T i,并基于R(2+1)D結構的ResNet-34網絡下訓練子序列片段。
對于一段給定的深度圖視頻序列,首先分別投影到正平面、側平面和頂平面,并根據不同的采樣間隔l,得到對應的下采樣序列和。然后分別計算得到多個深度運動圖作為三路BN-Inception網絡的訓練集。
GoogLeNet Inception V1[12]是Google在2014年提出一種22層網絡的深度學習架構,通過對卷積神經網絡的傳統卷積層進行修改,提出了Inception結構用于增加網絡模型的深度和寬度,并在減小網絡參數數量的同時提高了神經網絡的學習能力。BN-Inception是在Inception V1基礎上進行了改進,一方面使用兩個3×3卷積代替Inception結構的5×5卷積,另一方面增加了Batch Normalization層,進一步降低網絡的參數數量,同時提高了網絡訓練速度。
對于多個獨立分類器融合(Multiple Classifier Fusion MCF)[13],常分為有監督分數融合[14]和無監督分數融合。其中有監督分數融合是將每個分類器的輸出作為另一個分類器的輸入再次進行訓練,為了設計一個端到端的行為識別算法,本文基于無監督分數融合方式設計多分類器融合算法。
設V為卷積神經網絡的輸入(子序列片段或深度運動圖),{ }1,2,...,c為設定數據集的類別標簽,M為獨立分類器的數量,Pi,j(V)表示在第i個分類器下類別標簽為j的預測分數,則決策矩陣可表示為

目前常用的多分類器無監督分數融合有加權求和融合(weight sum rule)、乘積法(product rule)和投票法(majority voting)。
1)加權求和融合
對于一個測試深度圖序列V,首先利用求和法得到三路BN-Inception網絡的融合分數B NV,然后使用不同的權值融合ResNet(2+1)D網絡和BN-Inception網絡的預測分數,得到視頻序列V在多路卷積神經網絡結構下的預測分數scoreV:

2)乘積法
設類別標簽j在M個分類器下得到的預測分數矩陣DV(V)如下:

根據product rule,類別標簽j的融合預測分數如下:

3)投票法
對于視頻序列V,傳統投票法是分別統計各個分類器給出的類別標簽,最后選擇類別標簽重復次數最多的標簽作為最終的分類結果,如果存在多個相同重復次數的標簽,則會在相同次數標簽中隨機選擇一個標簽作為最終的分類結果。
基于多分類器融合方法中的均值法和乘積法,提出一種改進的加權乘積融合法(weight product rule)。對于任意一個測試深度圖序列V,利用均值法求得三路BN-Inception網絡下類別標簽為j的預測分數:

其中M=3表示三路BN-Inception網絡對應的softmax分類器,L表示時間尺度,(V)表示在第i路BN-Inception網絡對應的softmax分類器下,時間尺度為k且類別標簽為j的預測分數,P(BN|V j)表示在三路BN-Inception網絡下,類別標簽為j的均值融合分數。
在多路卷積神經網絡下,類別標簽為j的乘積融合分數如下:

其中P(R|V j)由式(7)計算得到的類別標簽為j的分 數,w1,w2為 對 應 的ResNet(2+1)D網 絡 和BN-Inception網絡的權值,最后測試視頻序列V的類別標簽判定如下式所示:

其中ω*表示最終識別的類別標簽,c為設定的類別標簽。
在數據預處理中,時間尺度L設為5,即采樣間隔l取值分別為1,2,3,4,5。在三路BN-Inception網絡中,網絡模型采用基于動量值為0.9的批處理隨機梯度下降法和誤差反向傳播進行模型參數更新,網絡訓練參數設置如文獻[15],同時使用在ImageNet[16]的預訓練模型,批次次數設置為64,學習率設置為0.001,訓練的最大迭代次數設置為20000次,其中每5000次迭代學習率下降0.1倍。在ResNet(2+1)D網絡中,網絡訓練參數設置如文獻[9]。利用caffe2實現ResNet(2+1)D網絡結構,同時使用基于Kinetics[17]的預訓練模型,批次次數設置為4,學習率設置為0.0002,訓練的最大迭代次數設置為40000次,其中每10000次迭代學習率下降0.1倍。在改進的加權乘積融合法中,權值w1=w2=1 2。
UTD-MHAD是由Chen[18]等利用Kinect和可穿戴式傳感器制作的RGB-D公開行為數據集,該數據集中存在一些相似動作,如“順時針畫圓”,“逆時針畫圓”,因此在該數據集進行行為識別仍有一定的難度。
在上文相機視角擴增中,θ,β分別從[-30°,30°]區間中等間隔取5個離散值,速度擴增中,時間尺度L設為5,同時在UTD-MHAD數據集中,選擇序號為奇數的數據作為訓練集,其余作為測試集。最后,對所有類別動作的分數使用算術平均法計算最終的識別率。

圖5 混淆矩陣:平均識別率為96.49%
圖5 為本文算法在UTD-MHAD數據集上得到的混淆矩陣,可以看出:本文算法在很多動作上都取得了優異效果,但對于一些相似動作依然存在誤識別。表1對比了不同輸入流以及不同融合策略的識別效果。可以看出,在不同輸入流下,D MM f對應的Softmax分類效果優于DM M s和DMMt對應的Softmax,主要由于將深度圖視頻序列分別投影到側平面和頂平面計算得到的深度運動圖,會損失部分動作時域信息;在不同融合策略下,結合各個分類器分數的加權求和融合法、乘積法和本文提出改進的加權乘積融合法,優于基于分類器標簽的投票法。同時改進的加權乘積融合法相對乘積法提高了0.63%,主要原因是乘積法要求各個分類器都具有較好的分類效果,才能得到較高的識別率,但從表1可以看出DMM s和DMMt對應的Softmax分類效果遠低于DMMf對應的Softmax。表2將本文算法與近幾年的其他優秀方法進行了比較,相比文獻[2]、[6]和[20]分別提高了8.09%、5.29%和3.23%,主要由于R(2+1)D網絡結構能有效提取RGB視頻序列短時域運動信息,同時在計算DMM時引入能量權重,并且采用改進的加權乘積融合多分類器的結果。
MSR Daily Activity 3D[21]數據庫是采用Kinect深度傳感器錄制的人體行為公共數據庫,該數據庫包含骨骼關節位置、深度信息和RGB視頻三種數據。在本實驗中我們僅使用了該數據庫中的深度信息和RGB視頻序列,同時采用和UTD-MHAD數據集相同的數據擴增方式和實驗參數。

表1 UTD-MHAD數據庫,不同輸入流或融合策略的識別率比較

表2 在UTD-MHAD數據庫上,現有方法與本文方法的識別率比較
在該數據庫上的混淆矩陣如圖6所示。可以看出在一些相似動作依然存在誤識別,如“看書”與“寫字”。表3比較了不同輸入流及不同融合策略的識別效果,其中改進的加權乘積融合法相對乘積法提高了1.36%,主要原因是DM M s和D MM t對應的Softmax分類效果遠低于D MM f對應的Softmax,因此對三路BN-Inception網絡的輸出分數采用均值融合要優于乘積法融合策略。表4將本文算法與近幾年的其他優秀方法進行了比較,相比文獻[23]和[3]分別提高了6.87%和2.45%,相對于UTD-MHAD數據庫,MSR Daily Activity 3D數據庫背景更為復雜,同時很多動作存在與物體交互的情況,因此識別率提升相對較低。

圖6 混淆矩陣:平均識別率為93.75%

表3 MSR Daily Activity 3D數據庫,不同輸入流或融合策略的識別率比較
為了提取行為動作的靜態表觀和時域運動信息,同時解決行為特征在融合時存在計算量較大,融合后特征維度高等問題,提出了結合RGB-D視頻序列和卷積神經網絡,并實現端到端的行為識別算法。首先利用ResNet(2+1)D網絡提取RGB視頻的靜態表觀和短時域運動信息,三路獨立BN-Inception網絡提取深度圖序列的長時域運動信息,最后利用改進的加權乘積法融合上述四路網絡的輸出分數,得到最終行為動作的類分數。在兩個公開數據集上實驗表明,我們的算法對相似動作具有一定的判別性,但如何在樣本背景復雜、動作交互的情況下,有效提取行為動作的長時域運動信息,這將是我們下一步的工作方向。