祁大健,杜慧敏,張 霞,常立博
西安郵電大學(xué) 電子工程學(xué)院,西安710121
人體行為識別技術(shù)是指利用模式識別、機器學(xué)習(xí)等方法,從一段未知的視頻中自動分析識別人體的行為,在人機交互、智能化家居、智能視頻監(jiān)控、機器人等領(lǐng)域有著廣泛的應(yīng)用[1]。人體行為識別技術(shù)包括人體行為的特征提取和對人體行為特征的識別及理解,其中人體行為的特征提取方法可分為兩類:(1)基于人工特征的方法,如HOG特征[2]、HOF特征[3]、密集軌跡[4]、改進的密集軌跡(iDT)[5]等。該類方法雖然算法復(fù)雜度低、實現(xiàn)簡單,但是行為表達的能力會受到所提取特征的限制,算法的精度和魯棒性較差。(2)基于深度學(xué)習(xí)提取人體行為特征的方法。由于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)可以獲取魯棒的空間表達,因此與基于人工特征的方法相比,采用CNN 進行行為識別的算法的精度和魯棒性均有較大的提高[6-7]。2014年Simonyan等人[8]提出使用雙流框架來進行動作識別,將視頻看作一段圖像序列,使用了空間流和時間流兩個獨立的卷積網(wǎng)絡(luò)。與傳統(tǒng)的單流卷積網(wǎng)絡(luò)相比,該算法的動作識別精度有很大的提升。2017年Wang等人[9]在雙流架構(gòu)的基礎(chǔ)上將時間流細分為局部時間流和全局時間流,動作圖像特征和光流特征分別作為空間流和局部時間流的輸入,并將運動疊差圖像的CNN 特征作為全局時間流的輸入。實驗表明該算法在HMDB51 數(shù)據(jù)集[10]中比雙流CNN方法提高了1.9%的識別精度。
長短時記憶網(wǎng)絡(luò)[11](Long Short-Term Memory Network,LSTM)是一種新型的遞歸神經(jīng)網(wǎng)絡(luò),它將之前若干時刻的數(shù)據(jù)作為當(dāng)前時刻的數(shù)據(jù)輸入,從而保留時間維度上的信息。Donahue 等人[12]針對視頻的識別與描述,將CNN與LSTM結(jié)合,提出了長時遞歸卷積神經(jīng)網(wǎng)絡(luò),并取得了較好的識別率。2017 年Yu 等人[13]提出了一種遞歸混合網(wǎng)絡(luò)模型,該模型首先從彩色圖像和光流中提取空間特征和短時時間特征,然后對相鄰的P 幀特征進行池化并將池化結(jié)果輸入LSTM中,最后將LSTM模型學(xué)到的特征與視頻的其他兩種特征(STP 和IDT)進行融合,并經(jīng)線性SVM 得到視頻分類的最終結(jié)果。該方法雖然提高了行為識別的精度,但是計算復(fù)雜度過高。
綜上所述,視頻中各幀圖像的有效特征提取和表達,以及對各幀時空上下文信息的挖掘和建模是提高視頻行為識別算法精度的關(guān)鍵。本文結(jié)合卷積神經(jīng)網(wǎng)絡(luò)和LSTM 提出了一種基于上下文特征融合的卷積長短時記憶網(wǎng)絡(luò)算法。首先使用多維卷積核獲得相鄰幀包含的時間特征,并將多通道信息進行融合,使網(wǎng)絡(luò)能夠?qū)W習(xí)局部短期的時空特征。然后使用LSTM 進行長期時間的特征學(xué)習(xí),獲取上下文的長期時空信息,最后用softmax分類器進行人體行為的分類。
行為識別的目標(biāo)是從一個時空序列中分析正在進行的行為,既要提取序列的空間特征,又要提取序列的時間特征。為此,本文采用基于上下文特征融合的卷積長短時記憶網(wǎng)絡(luò)模型學(xué)習(xí)動作序列的時空特征信息。
本文設(shè)計的網(wǎng)絡(luò)整體架構(gòu)如圖1所示。網(wǎng)絡(luò)模型共有三個部分,分別為短期時序特征學(xué)習(xí)模塊、ConvLSTM模塊和Softmax分類模塊。首先將原始視頻序列進行預(yù)處理,生成圖像幀序列。接著依次提取圖像幀序列的T幀圖像形成動作序列<x1,x2,…,xT>,將其作為網(wǎng)絡(luò)的輸入以此來保持圖像序列在時域上的短時連續(xù)性。然后使用3D卷積核對輸入的動作序列提取其空間特征和短時時間特征,并通過特征相加的方式進行特征融合,將融合后的特征作為下一級卷積神經(jīng)網(wǎng)絡(luò)的輸入。卷積神經(jīng)網(wǎng)絡(luò)處理后的特征數(shù)據(jù)會通過調(diào)整規(guī)模送入LSTM 層中,并按照時間順序進行運算,每次運算的結(jié)果是當(dāng)前時刻特征與之前時刻所有特征的融合。LSTM網(wǎng)絡(luò)是在前一層卷積核處理各幀空間信息的基礎(chǔ)上,進一步提取每幀圖像之間的時域信息。為了避免長短時記憶神經(jīng)網(wǎng)絡(luò)出現(xiàn)過擬合的情況,在LSTM 層融入了Dropout 技術(shù),以提高網(wǎng)絡(luò)的泛化能力和準(zhǔn)確率。最后經(jīng)過全連接層和Softmax分類器獲得視頻序列中行為的分類結(jié)果。
當(dāng)卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于單幀靜態(tài)圖像中動作的識別時,其具有很好的效果。而當(dāng)卷積神經(jīng)網(wǎng)絡(luò)被應(yīng)用到視頻或者是長序列圖像中時,視頻文件則需要被解碼成單獨的圖像幀數(shù)據(jù)進行處理。為了不丟失相鄰幀之間的時域相關(guān)性,使網(wǎng)絡(luò)適用于序列化的圖像,本文使用3D 卷積核提取輸入動作序列的短時動作特征,即將傳統(tǒng)二維卷積核(3×3)拓展為3D卷積核(3×3×T),T 為輸入圖像序列的長度。3D卷積示意圖如圖2所示。
圖1 網(wǎng)絡(luò)整體架構(gòu)
圖2 3D卷積示意圖
3D卷積過程可以通過式(1)來表示:
式(1)中,x、y 分別表示圖像序列中第z 張圖像的像素坐標(biāo)。 Pi、Qi、Ri表示圖像序列中圖像的高度、寬度和該張圖像在圖像序列中的位置。表示第i 層第j個特征塊經(jīng)過神經(jīng)元運算后(x,y,z) 位置的輸出。表示第i 層第j 個特征塊中第m 張圖像中(p,q,r)位置的權(quán)重。bij表示第i 層第j 個特征塊的偏置。
在卷積處理過程中,卷積核以固定步長平移,對圖像序列進行卷積運算。使用多個不同的卷積核進行卷積,獲得多樣的高層次特征。
3DCNN 模塊用于學(xué)習(xí)短期時空特征,且采用了3D Conv+ReLU+Pooling架構(gòu),3D卷積層濾波器的卷積核大小為3×3×T ,步長為1×1×1,并采用最大值池化,步長為1×2×2。為了提取到效果較好的短期時間信息,本文在UCF-101 數(shù)據(jù)集上研究了不同時間深度對網(wǎng)絡(luò)檢測精度的影響。圖3 顯示了不同時間深度下的實驗結(jié)果??梢?,在T 值取3的時候網(wǎng)絡(luò)表現(xiàn)最好。
圖3 不同時間深度時的網(wǎng)絡(luò)檢測精度對比
為了提高網(wǎng)絡(luò)檢測效率,本文網(wǎng)絡(luò)架構(gòu)將輸入視頻序列下采樣到固定的N 幀,如果某一輸入視頻序列少于N 幀,則最后一幀使用相同圖像進行填充。3D卷積層接收輸入數(shù)據(jù),數(shù)據(jù)規(guī)模為320×240×N,N 為幀數(shù)或者序列的長度,320×240 為每個時間戳上圖像的大小。數(shù)據(jù)經(jīng)過3D卷積層輸出的特征圖通過相加的操作進行特征融合降低維度,然后送入ConvLSTM網(wǎng)絡(luò)進行處理。網(wǎng)絡(luò)中每一層所使用的激活函數(shù)都是ReLU 激活函數(shù)。ReLU 激活函數(shù)計算量小,一部分神經(jīng)元的輸出為0,形成網(wǎng)絡(luò)的稀疏性,可減少參數(shù)的相互依存關(guān)系,緩解了過擬合問題的發(fā)生。
LSTM 網(wǎng)絡(luò)模型的構(gòu)建思想主要是通過使用預(yù)訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò)與LSTM 節(jié)點進行結(jié)合來搭建新的網(wǎng)絡(luò)結(jié)構(gòu)。因此,該多任務(wù)遞歸卷積神經(jīng)網(wǎng)絡(luò)可以分為兩個部分,一是卷積神經(jīng)網(wǎng)絡(luò)部分,二是遞歸神經(jīng)網(wǎng)絡(luò)部分。在遞歸神經(jīng)網(wǎng)絡(luò)模型部分中采用長短時記憶網(wǎng)絡(luò)模型,即LSTM,并采用Dropout 技術(shù),避免過擬合和訓(xùn)練困難問題。由于LSTM 具有長時間記憶信息的能力,因此該網(wǎng)絡(luò)具有學(xué)習(xí)長時間序列的能力,在行為識別領(lǐng)域具有更好的特征表達能力。圖4所示為LSTM記憶單元。
圖4 LSTM單元
一個LSTM 記憶單元包含了四個門結(jié)構(gòu)的特殊網(wǎng)絡(luò)結(jié)構(gòu):輸入門、輸出門、遺忘門和一個記憶細胞。其中,輸入門和輸出門是控制門,是為了解決輸入輸出時更新權(quán)值產(chǎn)生的沖突。遺忘門可以控制記憶細胞的狀態(tài),即自連接的權(quán)重不是一個固定的值,而是通過遺忘門動態(tài)輸出一個值,它能夠控制記憶細胞狀態(tài)的值。當(dāng)遺忘門取值為0時,起到遺忘的作用。每個門有一個激活函數(shù),輸入門、輸出門、遺忘門使用的是Sigmoid激活函數(shù),令σ 為Sigmoid激活函數(shù),cell記憶細胞采用Tanh激活函數(shù)。具體LSTM每個門的公式定義如下:
其中,xt為輸入的數(shù)據(jù)序列,σ 為激活函數(shù),⊙符號為點乘運算,W、b 分別表示為系數(shù)矩陣和偏置向量,it、ft、ot分別表示t 時刻輸入門、遺忘門、輸出門的計算方法。ct表示t 時刻記憶單元的計算方法,ht為t 時刻LSTM的狀態(tài)輸出。
由于使用CNN 全連接層進行特征融合,全連接層后的高層特征會丟失空間特征在時域上的信息,因此本文使用LSTM網(wǎng)絡(luò)對CNN最后一層輸出的卷積特征進行融合以獲取CNN輸出特征的長時域信息。如公式(7)所示,xt是CNN層提取得到的視頻特征。
在公式(7)中,feacnns是CNN層提取到的1 024維陣列,feacnns作為LSTM的輸入,每一時刻運算的結(jié)果是前面所有特征和當(dāng)前特征的融合。同時,長短時記憶網(wǎng)絡(luò)后面接全連接層對所有輸入值進行平均操作,綜合各個時間輸出對分類結(jié)果的影響,最后由Softmax 分類層對人體行為進行分類。
本文的實驗環(huán)境基于Ubuntu 16.04 LTS 系統(tǒng),實驗使用的處理器是Inter Core E3 2.8 GHz處理器,8 GB內(nèi)存和具有2 GB顯存的NVIDIA 960 GPU。實驗所采用的深度學(xué)習(xí)框架為keras,集成開發(fā)環(huán)境是Pycharm,使用GPU加速網(wǎng)絡(luò)模型訓(xùn)練。
本文使用廣泛的人體行為數(shù)據(jù)集UCF101 公用數(shù)據(jù)集[14]進行行為識別實驗。UCF101是目前人體行為最大的數(shù)據(jù)集之一,它包括101個動作類,超過13 KB的剪輯和27小時的視頻數(shù)據(jù)。該數(shù)據(jù)集的視頻由實際用戶上傳,視頻包含相機運動和混亂的背景。本次實驗選取整個UCF的101種動作作為數(shù)據(jù)集,將數(shù)據(jù)集的80%作為訓(xùn)練集,余下的20%作為測試集,使用ffmpeg 編解碼器[15]將數(shù)據(jù)集的視頻數(shù)據(jù)轉(zhuǎn)化為圖像幀序列,對數(shù)據(jù)集進行處理。UCF-101 數(shù)據(jù)集中每個動作視頻的單幀圖像大多為相似且重復(fù)的動作,因此為提高算法效率,本文網(wǎng)絡(luò)架構(gòu)將輸入視頻序列下采樣到固定的32 幀,如果某一輸入視頻序列少于32 幀,則最后一幀使用相同圖像進行填充。
網(wǎng)絡(luò)訓(xùn)練使用交叉熵代價函數(shù)作為損失函數(shù)[16]來評估當(dāng)前訓(xùn)練得到的概率分布與真實分布的差異情況,同時利用交叉熵代價函數(shù)解決權(quán)重更新過慢的問題。
本文將所提出的基于上下文特征融合的卷積長短時記憶模型與未做特征融合的卷積長短時記憶模型作對比實驗。實驗使用反向傳播和梯度下降算法不斷迭代更新權(quán)重和偏置。模型的學(xué)習(xí)率設(shè)置為0.002 5,訓(xùn)練集訓(xùn)練批次大小設(shè)置為64。
兩種網(wǎng)絡(luò)模型訓(xùn)練過程的準(zhǔn)確率變化曲線如圖5所示。圖6 表示兩種網(wǎng)絡(luò)模型在訓(xùn)練過程中的損失變化情況。圖中用Our module表示本文將所提出的基于上下文特征融合的卷積長短時記憶模型,用CNN+LSTM表示未作特征融合的卷積長短時記憶模型。
圖5 兩種網(wǎng)絡(luò)模型訓(xùn)練過程的準(zhǔn)確率變化曲線
圖6 兩種網(wǎng)絡(luò)模型的損失變化曲線
使用UCF101 數(shù)據(jù)集作為訓(xùn)練集與驗證集測試網(wǎng)絡(luò)的識別率,文中算法與典型算法對比如表1 所示,典型算法性能數(shù)據(jù)參考文獻[5,10]。
表1 不同算法在UCF101數(shù)據(jù)集上的準(zhǔn)確率對比
在數(shù)據(jù)集中隨機挑選6種行為,使用本文算法與未進行特征融合的卷積長短時記憶算法在測試行為識別所需時間上進行對比,結(jié)果如表2所示。
表2 模型測試時間對比 s
由表1可見,本文提出的基于上下文特征融合的卷積長短時記憶模型的行為識別準(zhǔn)確率要高于iDT 算法和LRCN算法,相比于未做特征融合的卷積長短時記憶模型的準(zhǔn)確率提高了1.28%。由表2 可見,基于上下文特征融合的卷積長短時記憶網(wǎng)絡(luò)的平均檢測時間相比于未做特征融合的卷積長短時記憶模型的平均檢測時間降低了37.1%??梢?,對運動背景較為復(fù)雜且包含相機運動的UCF101數(shù)據(jù)集,加入上下文特征融合能提升人體行為識別的性能,在復(fù)雜背景環(huán)境中有助于提高算法的檢測效率和識別效果。
為了分析本文網(wǎng)絡(luò)算法對行為的識別效果,圖7給出了在UCF101數(shù)據(jù)集下的部分檢測結(jié)果圖,圖7(a)為本文算法的檢測結(jié)果,圖7(b)為未使用特征融合的卷積長短時記憶算法(CNN+LSTM)的檢測結(jié)果。
圖7(a)本文算法結(jié)果示意圖
圖7(b)CNN+LSTM算法結(jié)果示意圖
從圖7看出,本文算法在BreastStroke、BandMarching有較高的識別精度,分別為95%、99%的精度。而未使用特征融合的卷積長短時記憶算法在其他動作上容易發(fā)生混淆,其中在BandMarching 的行為識別中出現(xiàn)錯誤檢測的情況。從以上多個實驗可以得出:本文提出的基于上下文特征融合卷積長短時記憶網(wǎng)絡(luò)架構(gòu)對運動信息識別具有良好的結(jié)果,獲得了93.62%的準(zhǔn)確率。
本文提出了一種融合上下文特征信息的卷積長短時記憶網(wǎng)絡(luò)模型。在UCF101 數(shù)據(jù)集上的測試結(jié)果表明該網(wǎng)絡(luò)模型能夠獲得93.62%的行為識別準(zhǔn)確率,說明該網(wǎng)絡(luò)提取出了行為數(shù)據(jù)庫中的具有共性的特征信息,在行為識別領(lǐng)域中具有較好的表達能力。