王 毅 馬翠紅 毛志強
(華北理工大學電氣工程學院 河北 唐山 063210)
人體行為識別是基于收集的視頻序列來分析人體的運動,并廣泛應用于智能視頻監(jiān)控、健身評估、人機交互、虛擬現(xiàn)實等領(lǐng)域,成為人工智能領(lǐng)域研究的熱點問題[1-2]。
傳統(tǒng)的人體行為識別主要是基于手工特征的方法,然而傳統(tǒng)方法進行特征提取的步驟繁瑣且難以提取到深層特征,使得行為識別準確率難以提升。近年來,隨著深度學習被廣泛應用于圖片分類、人臉識別和目標檢測等識別領(lǐng)域,其在人體行為特征提取上也表現(xiàn)出了很好的效果。2014年,Karpathy等[3]首次利用深度卷積網(wǎng)絡(luò)以連續(xù)的RGB視頻幀為輸入,實現(xiàn)人體行為識別,但并沒有很好地利用時間域特征;Simonyan等[4]利用雙流卷積網(wǎng)絡(luò)分別提取視頻序列中的時間和空間特征,識別精度雖然有了明顯提升,但由于該網(wǎng)絡(luò)結(jié)構(gòu)使用的是傳統(tǒng)Softmax和SVM進行人體識別,其識別準確率并不高。
在文獻[4]的基礎(chǔ)上,本文對其網(wǎng)絡(luò)結(jié)構(gòu)進行改進,在雙流卷積網(wǎng)絡(luò)基礎(chǔ)上構(gòu)建雙向長短時記憶網(wǎng)絡(luò)(Bi-LSTM)提取時序特征;輸入Attention層自適應地對相關(guān)的特征向量分配較大的權(quán)重,利用Softmax分類器對視頻進行分類,從而實現(xiàn)人體行為識別。
卷積神經(jīng)網(wǎng)絡(luò)(CNN)主要用于單一靜態(tài)圖片特征的提取,很難提取視頻的時間信息。文獻[4]提出了雙流卷積識別網(wǎng)絡(luò),與以往的視頻中人體行為識別方法相比,有效地利用了視頻中的時間信息,但仍存在一些問題:雙流結(jié)構(gòu)提取的時空特征僅在最后的Softmax層進行融合,沒有考慮到時空特征在卷積層和全連接層之間的關(guān)聯(lián)性;該模型采用的是傳統(tǒng)的Softmax-loss函數(shù)[7],對類內(nèi)距離小、類間距離大的相似行為識別效果并不好。
本文提出的基于時空雙流融合網(wǎng)絡(luò)與Attention模型的架構(gòu)如圖1所示。該網(wǎng)絡(luò)模型主要以時空雙流融合網(wǎng)絡(luò)、Bi-LSTM層、Attention機制、Softmax來實現(xiàn)行為分類識別。

圖1 總體架構(gòu)設(shè)計
為了更好地提取利用視頻中的時空信息,加強時空特征之間的相關(guān)性,提出了一種時空雙流融合網(wǎng)絡(luò)結(jié)構(gòu),具體參數(shù)設(shè)置如圖2所示。本文選擇的雙流卷積網(wǎng)絡(luò)模型是VGG-M-2048模型。

圖2 雙流融合卷積網(wǎng)絡(luò)結(jié)構(gòu)
空間流卷積神經(jīng)網(wǎng)絡(luò)本質(zhì)上是一個圖片分類網(wǎng)絡(luò)結(jié)構(gòu),以單個多尺度RGB視頻幀作為輸入,提取圖片中人類動作的表觀運動特征。時間流卷積神經(jīng)網(wǎng)絡(luò)以連續(xù)的光流圖作為輸入,提取光流圖中的人體運動的時間信息。本文采用OpenCV中的稠密光流幀提取方法[5],分別提取視頻中水平和垂直方向的光流幀,將20幅光流圖構(gòu)成一個光流組(flow_x,flow_y)作為時間流卷積神經(jīng)網(wǎng)絡(luò)的輸入。
時空雙流融合網(wǎng)絡(luò)是利用空間流網(wǎng)絡(luò)來提取表觀運動信息,利用時間流網(wǎng)絡(luò)來提取長時運動信息,利用其特征的相關(guān)性來識別人體的行為。在時空雙流融合網(wǎng)絡(luò)內(nèi)部,采用一種時間流到空間流的單向連接,將時間流提取到的運動特征輸入到空間流,將其與表觀信息相關(guān)聯(lián)以提取更深層次的人體行為特征。
將雙流網(wǎng)絡(luò)結(jié)構(gòu)提取的時空特征嘗試在不同的網(wǎng)絡(luò)層進行融合,找到表征能力最強的層數(shù),然后作為Bi-LSTM層的輸入。雖然在雙流卷積網(wǎng)絡(luò)內(nèi)部各層進行了單向連接,各層也進行了關(guān)聯(lián)性學習,但是由于運動特征是重要的人體行為信息,仍會將時間流的全連接層輸出與空間流的輸出特征進行融合,視頻序列中的運動特征會作為網(wǎng)絡(luò)模型的主導特征進行人體行為識別。
Bi-LSTM由一個前向傳播和一個后向傳播的LSTM組成。LSTM的內(nèi)部結(jié)構(gòu)如圖3所示。

圖3 LSTM內(nèi)部結(jié)構(gòu)
LSTM的核心部分就是記憶單元ct,其作用是選擇有用的信息,去除多余的信息。同時LSTM通過其特殊的門結(jié)構(gòu)來控制信息與記憶單元之間的傳播能力[6],LSTM門的結(jié)構(gòu)是一個Sigmoid函數(shù),這里用σ(x)=(1+e-x)-1表示,Sigmoid函數(shù)的輸出在(0,1)范圍內(nèi),反映了信息保存情況。具體如下:
it=σ(Wxixt+Whiht-1+bi)
(1)
ft=σ(Wxfxt+Whfht-1+bf)
(2)
Ot=σ(Wxoxt+Whoht-1+bo)
(3)
gt=tanh(Wxcxt+Whcht-1+bc)
(4)
ct=ft×ct-1+it×gt
(5)
ht=Ot×tanh(ct)
(6)
式中:xt代表當前記憶單元的輸入;ht-1表示上一時刻細胞的輸出;it決定存留的信息;ft決定刪除的信息;Ot確定記憶單元ct的輸出;gt為候選值向量。如式(6)所示,LSTM的輸出ht是由輸出門Ot控制是否激活記憶單元ct。
傳統(tǒng)的LSTM僅能單向?qū)W習而忽略了視頻前后的關(guān)聯(lián)信息。Bi-LSTM中,當前時刻的輸入同時依賴于前后的視頻幀,充分考慮了視頻幀的時序信息,其模型結(jié)構(gòu)如圖4所示。

圖4 Bi-LSTM網(wǎng)絡(luò)模型

h1=f(w1x1+w2ht+1+b1)
(7)
(8)
(9)
(10)
(11)

Attention機制是根據(jù)人類視覺特性研究的一種類似大腦的信息處理機制,它能夠根據(jù)不同時刻Bi-LSTM網(wǎng)絡(luò)的輸出為視頻幀序列動態(tài)分配不同的權(quán)重,突出某些幀的重要性,提高識別性能。模型加入Attention機制有利于區(qū)分視頻的重要信息和無關(guān)信息,例如常見的籃球運動中與彈跳、投籃、籃球有關(guān)的視頻幀能提供更多信息,Attention機制會分配更大的權(quán)重,有利于特征提取,提高識別準確率。Attention機制模型如圖5所示。

圖5 注意力機制模型
圖5中:Ot為Bi-LSTM網(wǎng)絡(luò)輸出的第t個特征向量;經(jīng)過Atention中的隱層后得到初始向量St;αt為權(quán)重系數(shù)。計算公式如下:
et=tanh(wtst+bt)
(12)
(13)
(14)
式中:wt和bt分別為權(quán)重和偏置。通過式(13)可以得到權(quán)重系數(shù),達到初始狀態(tài)向注意力狀態(tài)轉(zhuǎn)換的目的,通過式(14)得到輸出狀態(tài)向量Y,最后全連接層整合作為輸出值,減少特征位置對分類造成的干擾,經(jīng)Softmax分類器將輸出映射到(0,1)內(nèi)。
實驗選擇Python語言在GPU下用深度學習框架TensorFlow進行實驗,電腦配置為Ubuntu 16.04、32 GB運行內(nèi)存、GTX 1080TI(11 GB)顯存。具體參數(shù)設(shè)置如表1所示。

表1 實驗參數(shù)
實驗數(shù)據(jù)集采用KTH數(shù)據(jù)集,其包含4個不同場景下25個人的6類動作視頻:走(Walk)、慢跑(Jog)、跑(Run)、打拳(Box)、揮手(Wave)和拍手(Clap),如圖6所示。

圖6 KTH樣本數(shù)據(jù)集
為了保證實驗的準確性,將KTH數(shù)據(jù)集隨機分為3組,每次選取80%作為訓練集,20%作為測試集。最后取3組測試的平均準確率作為評估指標。
通過時空雙流融合網(wǎng)絡(luò)提取時空特征,在模型內(nèi)部時間網(wǎng)絡(luò)到空間網(wǎng)絡(luò)的采用單向連接方式,進行長時運動與表觀特征的關(guān)聯(lián)性學習。實驗中,分別在雙流結(jié)構(gòu)全連接層的不同位置進行時空特征融合,識別精度如表2所示。

表2 不同全連接層輸出特征識別準確率的比較
可以看出,隨著時空特征融合層數(shù)的加深,其識別精度不斷提高,尤其在空間流的fc6層與時間流的fc7層進行融合時,識別效果最好,說明更深層次的語義信息,對行為的表征能力更強,而且當視頻序列中的運動特征主導模型訓練時,有利于識別準確率的提升。
采用LSTM、Bi-LSTM、Bi-LSTM-Attention三種方法,結(jié)合時空雙流融合網(wǎng)絡(luò)在KTH數(shù)據(jù)集上進行測試。選取100個視頻樣本作為測試集,其余作為訓練集,作為第一次交叉驗證記作Dataset1,共進行3次,取平均值作為結(jié)果,如表3所示。

表3 KTH數(shù)據(jù)集交叉驗證精度比較 %
可以看出,本文算法在KTH數(shù)據(jù)集上識別率達98.4%。
為了便于觀察識別準確率,制作了各種行為的混淆矩陣,如表4所示。

表4 各種行為的混淆矩陣
可以看出,本文算法識別率較高,對于Jog、Walk、Run相似度較高的行為,誤識別率只為0.01~0.05,因此,本文算法具備很好的識別效果。
將本文方法與當前精度較高的行為識別算法在KTH數(shù)據(jù)集上測試進行比較,結(jié)果如表5所示。

表5 不同算法在KTH上的比較結(jié)果
可以看出,本文提出的基于時空雙流融合網(wǎng)絡(luò)與Attention算法優(yōu)于其他算法,在KTH數(shù)據(jù)集上有良好的表現(xiàn),降低了內(nèi)存占有率,并且算法精度損失小于其他算法,行為識別準確率明顯提高。
本文從人體行為類內(nèi)與類間的差異的角度出發(fā),提出了基于時空雙流融合網(wǎng)絡(luò)與Attention模型的行為識別方法。通過時空雙流卷積網(wǎng)絡(luò)分別提取視頻幀中的表觀短時特征和長時運動流特征,且在卷積層內(nèi)部采用時空單向連接將時空特征進行關(guān)聯(lián)性學習;構(gòu)建Bi-LSTM層學習時序信息;再通過Attention機制自適應分配權(quán)重,最后利用Softmax實現(xiàn)分類。在KTH數(shù)據(jù)集上的測試結(jié)果表明,本文方法提高了識別精度,可以有效解決LSTM無法提取視頻幀時序信息的缺點,能夠最大化類間距離、最小化類內(nèi)距離,有利于人體行為分類。