祁大健,杜慧敏,張 霞,常立博
西安郵電大學 電子工程學院,西安710121
人體行為識別技術是指利用模式識別、機器學習等方法,從一段未知的視頻中自動分析識別人體的行為,在人機交互、智能化家居、智能視頻監控、機器人等領域有著廣泛的應用[1]。人體行為識別技術包括人體行為的特征提取和對人體行為特征的識別及理解,其中人體行為的特征提取方法可分為兩類:(1)基于人工特征的方法,如HOG特征[2]、HOF特征[3]、密集軌跡[4]、改進的密集軌跡(iDT)[5]等。該類方法雖然算法復雜度低、實現簡單,但是行為表達的能力會受到所提取特征的限制,算法的精度和魯棒性較差。(2)基于深度學習提取人體行為特征的方法。由于卷積神經網絡(Convolutional Neural Network,CNN)可以獲取魯棒的空間表達,因此與基于人工特征的方法相比,采用CNN 進行行為識別的算法的精度和魯棒性均有較大的提高[6-7]。2014年Simonyan等人[8]提出使用雙流框架來進行動作識別,將視頻看作一段圖像序列,使用了空間流和時間流兩個獨立的卷積網絡。與傳統的單流卷積網絡相比,該算法的動作識別精度有很大的提升。2017年Wang等人[9]在雙流架構的基礎上將時間流細分為局部時間流和全局時間流,動作圖像特征和光流特征分別作為空間流和局部時間流的輸入,并將運動疊差圖像的CNN 特征作為全局時間流的輸入。實驗表明該算法在HMDB51 數據集[10]中比雙流CNN方法提高了1.9%的識別精度。
長短時記憶網絡[11](Long Short-Term Memory Network,LSTM)是一種新型的遞歸神經網絡,它將之前若干時刻的數據作為當前時刻的數據輸入,從而保留時間維度上的信息。Donahue 等人[12]針對視頻的識別與描述,將CNN與LSTM結合,提出了長時遞歸卷積神經網絡,并取得了較好的識別率。2017 年Yu 等人[13]提出了一種遞歸混合網絡模型,該模型首先從彩色圖像和光流中提取空間特征和短時時間特征,然后對相鄰的P 幀特征進行池化并將池化結果輸入LSTM中,最后將LSTM模型學到的特征與視頻的其他兩種特征(STP 和IDT)進行融合,并經線性SVM 得到視頻分類的最終結果。該方法雖然提高了行為識別的精度,但是計算復雜度過高。
綜上所述,視頻中各幀圖像的有效特征提取和表達,以及對各幀時空上下文信息的挖掘和建模是提高視頻行為識別算法精度的關鍵。本文結合卷積神經網絡和LSTM 提出了一種基于上下文特征融合的卷積長短時記憶網絡算法。首先使用多維卷積核獲得相鄰幀包含的時間特征,并將多通道信息進行融合,使網絡能夠學習局部短期的時空特征。然后使用LSTM 進行長期時間的特征學習,獲取上下文的長期時空信息,最后用softmax分類器進行人體行為的分類。
行為識別的目標是從一個時空序列中分析正在進行的行為,既要提取序列的空間特征,又要提取序列的時間特征。為此,本文采用基于上下文特征融合的卷積長短時記憶網絡模型學習動作序列的時空特征信息。
本文設計的網絡整體架構如圖1所示。網絡模型共有三個部分,分別為短期時序特征學習模塊、ConvLSTM模塊和Softmax分類模塊。首先將原始視頻序列進行預處理,生成圖像幀序列。接著依次提取圖像幀序列的T幀圖像形成動作序列<x1,x2,…,xT>,將其作為網絡的輸入以此來保持圖像序列在時域上的短時連續性。然后使用3D卷積核對輸入的動作序列提取其空間特征和短時時間特征,并通過特征相加的方式進行特征融合,將融合后的特征作為下一級卷積神經網絡的輸入。卷積神經網絡處理后的特征數據會通過調整規模送入LSTM 層中,并按照時間順序進行運算,每次運算的結果是當前時刻特征與之前時刻所有特征的融合。LSTM網絡是在前一層卷積核處理各幀空間信息的基礎上,進一步提取每幀圖像之間的時域信息。為了避免長短時記憶神經網絡出現過擬合的情況,在LSTM 層融入了Dropout 技術,以提高網絡的泛化能力和準確率。最后經過全連接層和Softmax分類器獲得視頻序列中行為的分類結果。
當卷積神經網絡應用于單幀靜態圖像中動作的識別時,其具有很好的效果。而當卷積神經網絡被應用到視頻或者是長序列圖像中時,視頻文件則需要被解碼成單獨的圖像幀數據進行處理。為了不丟失相鄰幀之間的時域相關性,使網絡適用于序列化的圖像,本文使用3D 卷積核提取輸入動作序列的短時動作特征,即將傳統二維卷積核(3×3)拓展為3D卷積核(3×3×T),T 為輸入圖像序列的長度。3D卷積示意圖如圖2所示。

圖1 網絡整體架構

圖2 3D卷積示意圖
3D卷積過程可以通過式(1)來表示:

式(1)中,x、y 分別表示圖像序列中第z 張圖像的像素坐標。 Pi、Qi、Ri表示圖像序列中圖像的高度、寬度和該張圖像在圖像序列中的位置。表示第i 層第j個特征塊經過神經元運算后(x,y,z) 位置的輸出。表示第i 層第j 個特征塊中第m 張圖像中(p,q,r)位置的權重。bij表示第i 層第j 個特征塊的偏置。
在卷積處理過程中,卷積核以固定步長平移,對圖像序列進行卷積運算。使用多個不同的卷積核進行卷積,獲得多樣的高層次特征。
3DCNN 模塊用于學習短期時空特征,且采用了3D Conv+ReLU+Pooling架構,3D卷積層濾波器的卷積核大小為3×3×T ,步長為1×1×1,并采用最大值池化,步長為1×2×2。為了提取到效果較好的短期時間信息,本文在UCF-101 數據集上研究了不同時間深度對網絡檢測精度的影響。圖3 顯示了不同時間深度下的實驗結果。可見,在T 值取3的時候網絡表現最好。

圖3 不同時間深度時的網絡檢測精度對比
為了提高網絡檢測效率,本文網絡架構將輸入視頻序列下采樣到固定的N 幀,如果某一輸入視頻序列少于N 幀,則最后一幀使用相同圖像進行填充。3D卷積層接收輸入數據,數據規模為320×240×N,N 為幀數或者序列的長度,320×240 為每個時間戳上圖像的大小。數據經過3D卷積層輸出的特征圖通過相加的操作進行特征融合降低維度,然后送入ConvLSTM網絡進行處理。網絡中每一層所使用的激活函數都是ReLU 激活函數。ReLU 激活函數計算量小,一部分神經元的輸出為0,形成網絡的稀疏性,可減少參數的相互依存關系,緩解了過擬合問題的發生。
LSTM 網絡模型的構建思想主要是通過使用預訓練好的卷積神經網絡與LSTM 節點進行結合來搭建新的網絡結構。因此,該多任務遞歸卷積神經網絡可以分為兩個部分,一是卷積神經網絡部分,二是遞歸神經網絡部分。在遞歸神經網絡模型部分中采用長短時記憶網絡模型,即LSTM,并采用Dropout 技術,避免過擬合和訓練困難問題。由于LSTM 具有長時間記憶信息的能力,因此該網絡具有學習長時間序列的能力,在行為識別領域具有更好的特征表達能力。圖4所示為LSTM記憶單元。

圖4 LSTM單元
一個LSTM 記憶單元包含了四個門結構的特殊網絡結構:輸入門、輸出門、遺忘門和一個記憶細胞。其中,輸入門和輸出門是控制門,是為了解決輸入輸出時更新權值產生的沖突。遺忘門可以控制記憶細胞的狀態,即自連接的權重不是一個固定的值,而是通過遺忘門動態輸出一個值,它能夠控制記憶細胞狀態的值。當遺忘門取值為0時,起到遺忘的作用。每個門有一個激活函數,輸入門、輸出門、遺忘門使用的是Sigmoid激活函數,令σ 為Sigmoid激活函數,cell記憶細胞采用Tanh激活函數。具體LSTM每個門的公式定義如下:

其中,xt為輸入的數據序列,σ 為激活函數,⊙符號為點乘運算,W、b 分別表示為系數矩陣和偏置向量,it、ft、ot分別表示t 時刻輸入門、遺忘門、輸出門的計算方法。ct表示t 時刻記憶單元的計算方法,ht為t 時刻LSTM的狀態輸出。
由于使用CNN 全連接層進行特征融合,全連接層后的高層特征會丟失空間特征在時域上的信息,因此本文使用LSTM網絡對CNN最后一層輸出的卷積特征進行融合以獲取CNN輸出特征的長時域信息。如公式(7)所示,xt是CNN層提取得到的視頻特征。

在公式(7)中,feacnns是CNN層提取到的1 024維陣列,feacnns作為LSTM的輸入,每一時刻運算的結果是前面所有特征和當前特征的融合。同時,長短時記憶網絡后面接全連接層對所有輸入值進行平均操作,綜合各個時間輸出對分類結果的影響,最后由Softmax 分類層對人體行為進行分類。
本文的實驗環境基于Ubuntu 16.04 LTS 系統,實驗使用的處理器是Inter Core E3 2.8 GHz處理器,8 GB內存和具有2 GB顯存的NVIDIA 960 GPU。實驗所采用的深度學習框架為keras,集成開發環境是Pycharm,使用GPU加速網絡模型訓練。
本文使用廣泛的人體行為數據集UCF101 公用數據集[14]進行行為識別實驗。UCF101是目前人體行為最大的數據集之一,它包括101個動作類,超過13 KB的剪輯和27小時的視頻數據。該數據集的視頻由實際用戶上傳,視頻包含相機運動和混亂的背景。本次實驗選取整個UCF的101種動作作為數據集,將數據集的80%作為訓練集,余下的20%作為測試集,使用ffmpeg 編解碼器[15]將數據集的視頻數據轉化為圖像幀序列,對數據集進行處理。UCF-101 數據集中每個動作視頻的單幀圖像大多為相似且重復的動作,因此為提高算法效率,本文網絡架構將輸入視頻序列下采樣到固定的32 幀,如果某一輸入視頻序列少于32 幀,則最后一幀使用相同圖像進行填充。
網絡訓練使用交叉熵代價函數作為損失函數[16]來評估當前訓練得到的概率分布與真實分布的差異情況,同時利用交叉熵代價函數解決權重更新過慢的問題。
本文將所提出的基于上下文特征融合的卷積長短時記憶模型與未做特征融合的卷積長短時記憶模型作對比實驗。實驗使用反向傳播和梯度下降算法不斷迭代更新權重和偏置。模型的學習率設置為0.002 5,訓練集訓練批次大小設置為64。
兩種網絡模型訓練過程的準確率變化曲線如圖5所示。圖6 表示兩種網絡模型在訓練過程中的損失變化情況。圖中用Our module表示本文將所提出的基于上下文特征融合的卷積長短時記憶模型,用CNN+LSTM表示未作特征融合的卷積長短時記憶模型。

圖5 兩種網絡模型訓練過程的準確率變化曲線

圖6 兩種網絡模型的損失變化曲線
使用UCF101 數據集作為訓練集與驗證集測試網絡的識別率,文中算法與典型算法對比如表1 所示,典型算法性能數據參考文獻[5,10]。

表1 不同算法在UCF101數據集上的準確率對比
在數據集中隨機挑選6種行為,使用本文算法與未進行特征融合的卷積長短時記憶算法在測試行為識別所需時間上進行對比,結果如表2所示。

表2 模型測試時間對比 s
由表1可見,本文提出的基于上下文特征融合的卷積長短時記憶模型的行為識別準確率要高于iDT 算法和LRCN算法,相比于未做特征融合的卷積長短時記憶模型的準確率提高了1.28%。由表2 可見,基于上下文特征融合的卷積長短時記憶網絡的平均檢測時間相比于未做特征融合的卷積長短時記憶模型的平均檢測時間降低了37.1%。可見,對運動背景較為復雜且包含相機運動的UCF101數據集,加入上下文特征融合能提升人體行為識別的性能,在復雜背景環境中有助于提高算法的檢測效率和識別效果。
為了分析本文網絡算法對行為的識別效果,圖7給出了在UCF101數據集下的部分檢測結果圖,圖7(a)為本文算法的檢測結果,圖7(b)為未使用特征融合的卷積長短時記憶算法(CNN+LSTM)的檢測結果。

圖7(a)本文算法結果示意圖

圖7(b)CNN+LSTM算法結果示意圖
從圖7看出,本文算法在BreastStroke、BandMarching有較高的識別精度,分別為95%、99%的精度。而未使用特征融合的卷積長短時記憶算法在其他動作上容易發生混淆,其中在BandMarching 的行為識別中出現錯誤檢測的情況。從以上多個實驗可以得出:本文提出的基于上下文特征融合卷積長短時記憶網絡架構對運動信息識別具有良好的結果,獲得了93.62%的準確率。
本文提出了一種融合上下文特征信息的卷積長短時記憶網絡模型。在UCF101 數據集上的測試結果表明該網絡模型能夠獲得93.62%的行為識別準確率,說明該網絡提取出了行為數據庫中的具有共性的特征信息,在行為識別領域中具有較好的表達能力。