譚等泰, 王 煒, 王軼群
(甘肅政法大學(xué)司法鑒定中心, 蘭州 730070)
近年來,示威游行、暴力犯罪和踩踏等危害社會(huì)公共安全的事件頻繁發(fā)生,這些突發(fā)的惡性事件,不但會(huì)對生命財(cái)產(chǎn)造成危害,而且對治安秩序形成嚴(yán)重的威脅[1-2]。暴力行為是以人和財(cái)產(chǎn)為侵害對象,采取暴力手段,會(huì)對身心健康和財(cái)產(chǎn)構(gòu)成威脅,嚴(yán)重情況下直接危及人的生命健康[3-5]。傳統(tǒng)的視頻識別主要依賴人工審核,但是依靠人工審核的方法很難實(shí)時(shí)檢測到異常行為的發(fā)生,而且視頻呈爆發(fā)式增長,這種方法無法滿足實(shí)際需求。因此對治安監(jiān)控視頻中出現(xiàn)的暴力行為自動(dòng)分析并預(yù)警,對維護(hù)社會(huì)治安秩序具有重要的實(shí)用價(jià)值。
暴力行為檢測是行為識別中的一項(xiàng)特殊應(yīng)用,根據(jù)輸入數(shù)據(jù)的不同,暴力行為檢測可分為3類,分別為基于音頻特征的暴力行為檢測[6-8]、基于視頻特征的暴力行為檢測[9-12]和基于音視頻混合特征的暴力行為檢測[13-15]。隨著視頻監(jiān)控的普及,從視頻中實(shí)時(shí)預(yù)判暴力事件顯得尤為重要,因此重點(diǎn)介紹基于視頻的暴力行為檢測,暴力行為檢測方法主要分為人工提取特征的方法和深度學(xué)習(xí)的方法。在基于人工提取特征的暴力行為檢測中,文獻(xiàn)[16-17]選取了暴力行為中常出現(xiàn)的血液、火焰、皮膚、爆炸和聲音等特征實(shí)現(xiàn)暴力行為的識別與檢測,但是某些暴力行為中并未出現(xiàn)血液、火焰等明顯的暴力特征,因而文獻(xiàn)[9]、[18]通過檢測人體的姿態(tài)、運(yùn)動(dòng)軌跡和光流等運(yùn)動(dòng)特征檢測暴力行為,用到的特征有加速度運(yùn)動(dòng)矢量[19]、暴力流[20]和韋伯局部描述符[21]等??傊斯ぬ崛√卣鞯谋┝π袨樽R別中,特征的提取主要靠先驗(yàn)知識,準(zhǔn)確率相對比較低。
在基于深度學(xué)習(xí)的暴力行為檢測中,網(wǎng)絡(luò)從數(shù)據(jù)集中自動(dòng)提取特征,不需要人為設(shè)計(jì)特征。二維卷積神經(jīng)網(wǎng)絡(luò)(2D CNN, 2D Convolutional Neural Networks)在圖像特征提取中取得了巨大的成功,將二維空間拓展到三維空間處理視頻數(shù)據(jù)形成三維卷積神經(jīng)網(wǎng)絡(luò)(3D CNN, 3D Convolutional Neural Networks),文獻(xiàn)[11]采用使用3DCNN對視頻中的暴力行為進(jìn)行檢測,該方法在不依賴手工提取特征的情況下達(dá)到了較好的效果。文獻(xiàn)[22]提出了基于RGB圖像和光流的暴力行為檢測算法,主要通過RGB圖像和光流圖像提取特征,然后融合長短期記憶網(wǎng)絡(luò)(LSTM,Long Short-Term Memory)進(jìn)行編碼,可以有效地提取視頻中的時(shí)空特征,但網(wǎng)絡(luò)模型比較復(fù)雜,提取光流特征計(jì)算量比較大。卷積長短期記憶網(wǎng)絡(luò)[23](ConvLSTM,Convolutional LSTM Network)是由香港科技大學(xué)的Shi提出的,并利用它建立了短時(shí)降水預(yù)報(bào)模型,它不但可以像LSTM網(wǎng)絡(luò)一樣捕獲序列信息,而且可以提取空間特征。文獻(xiàn)[12]將ConvLSTM應(yīng)用到暴力行為檢測中,能夠有效地對視頻進(jìn)行建模,該方法在暴力行為檢測中取得較好的檢測效果。
深度學(xué)習(xí)的方法能夠從數(shù)據(jù)中自主提取特征,在暴力行為檢測領(lǐng)域已經(jīng)遠(yuǎn)遠(yuǎn)超過了基于手工設(shè)計(jì)特征的傳統(tǒng)算法,但是基于深度學(xué)習(xí)的方法也存在一些缺點(diǎn),如通用性欠佳,在提取視頻數(shù)據(jù)的特征時(shí)很難完全提取高層時(shí)序特征。因此提出了一種融合3DCNN和ConvLSTM網(wǎng)絡(luò)的暴力行為檢測模型,通過3D CNN和ConvLSTM兩個(gè)模塊逐級提取視頻中的低層時(shí)空特征和高層時(shí)序特征,從而更好地檢測暴力行為。
圖1為暴力行為檢測結(jié)構(gòu)框圖,該模型主要由3D CNN模塊和ConvLSTM模塊兩部分構(gòu)成。該算法的檢測流程劃分為3個(gè)階段。
圖1 暴力行為檢測結(jié)構(gòu)框圖
第一,設(shè)計(jì)3D CNN網(wǎng)絡(luò)提取視頻的低層時(shí)空特征。3DCNN主要是用于短時(shí)序特征的建模與提取,該特征包含了暴力視頻中與行為目標(biāo)、場景和人體動(dòng)作有關(guān)的信息,使得這些特征對不同的任務(wù)都通用。
第二,設(shè)計(jì)ConvLSTM網(wǎng)絡(luò)對3D CNN提取的時(shí)空特征進(jìn)行長時(shí)空特征建模,進(jìn)一步提取局部特征并建立時(shí)序關(guān)系。ConvLSTM不但可以提取空間特征,而且可以捕獲序列信息,更好地提取深度融合特征。
第三,采用全局最大池化層(GlobalMaxpooling 2D)將特征映射到低維空間中,并在全局最大池化層之后加入隨機(jī)丟棄層(Dropout),并由Sigmoid層輸出暴力行為類別。其中,Dropout按照一定的概率使一定數(shù)量的神經(jīng)元權(quán)重等于0,在小批量的訓(xùn)練過程中,每次訓(xùn)練網(wǎng)絡(luò)的連接方式是不同的,阻止了某些特征在特定特征下才有效的情況,這樣做能夠防止模型過擬合的問題,進(jìn)而提升模型對未知數(shù)據(jù)的泛化能力。
視頻是由一系列連續(xù)的圖像數(shù)據(jù)組成,視頻中包含目標(biāo)的運(yùn)動(dòng)信息等三維信息,二維卷積神經(jīng)網(wǎng)絡(luò)具有很強(qiáng)的特征表達(dá)能力,但處理視頻任務(wù)時(shí),需要將視頻轉(zhuǎn)換為單獨(dú)的圖像幀,從而丟失了幀間運(yùn)動(dòng)信息,因此無法捕捉運(yùn)動(dòng)信息。為了更好地提取視頻的時(shí)空特征,將2D CNN在時(shí)間維度上進(jìn)行擴(kuò)展形成3D CNN提取特征,并結(jié)合參考文獻(xiàn)[24]設(shè)計(jì)了3DCNN模塊。
3DCNN模塊結(jié)構(gòu)如圖2所示,網(wǎng)絡(luò)以80×80×3×24的視頻作為輸入,其中80為視頻幀的高度和寬度,24為視頻幀的長度,3為通道數(shù)。該模型總共由1個(gè)輸入層、4個(gè)卷積層(Conv3D)、3個(gè)池化層(Pooling),3個(gè)激活層(Activiation)和3個(gè)批標(biāo)準(zhǔn)化層(BN,Batch Normalization)組成。卷積層Conv1到Conv4的濾波器數(shù)量分別為64,64,128,128。第一個(gè)池化層的內(nèi)核大小為(2,2,2),步長為(2,2,1),在第一層卷積層Conv1上,只對視頻的空間維度進(jìn)行了下采樣,即視頻的高度和寬度下采樣,保留了幀間運(yùn)動(dòng)信息,其他池化層的內(nèi)核大小為(2,2,2),步長為(2,2,2)。
圖2 3D CNN模塊
為了提高分類效果,在激活層之后選用BN層,BN層是一種對數(shù)值的特殊變換方法,把越來越偏的分布變換到比較標(biāo)準(zhǔn)的分布,可以加速網(wǎng)絡(luò)的收斂速度,有效地控制梯度爆炸和消失;池化不但可以使特征和參數(shù)減少,而且還可以使特征保持伸縮、旋轉(zhuǎn)和平移不變性。最大池化(MaxPooling3D)能提取更多的紋理特征,而平均池化(AveragePooling-3D)能提取更多的背景特征,因此網(wǎng)絡(luò)中所有的池化操作都采用MaxPooling3D,保留視頻的紋理特征;激活函數(shù)選擇“Relu”。Relu會(huì)使小于0的神經(jīng)元置0,使網(wǎng)絡(luò)變稀疏,減少了參數(shù)之間的依賴關(guān)系,可以有效的緩解過擬合。
LSTM[25]是由循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN,Recurrent Neural Network)的發(fā)展而來,它解決了反向傳播過程中梯度爆炸或梯度消失問題。雖然LSTM在序列建模任務(wù)中表現(xiàn)良好,但是對于空間數(shù)據(jù)來說,一般的LSTM通過整個(gè)全連接層將輸入圖像展平為一維矢量,這會(huì)導(dǎo)致圖像空間信息的丟失。為了保留空間信息,ConvLSTM將卷積運(yùn)算用于輸入到狀態(tài)的轉(zhuǎn)換以及狀態(tài)到狀態(tài)的轉(zhuǎn)換。它可以更好地捕獲空間信息,ConvLSTM的內(nèi)部結(jié)構(gòu)如圖3所示,公式如下:
圖3 ConvLSTM內(nèi)部結(jié)構(gòu)
it=sigmoid(Wxi*Xt+Whi*Ht-1+Wci⊙Ct-1+bi)
ft=sigmoid(Wxf*xt+Whf*Ht-1+Wcf⊙Ct-1+bf)
Gt=tanh (Wxc*xt+Whc*Ht-1+bc)
Ct=ft⊙Ct-1+it⊙Gt
ot=sigmoid(Wxo*Xt+Who*Ht-1+Wco⊙Ct+b0)
Ht=ot⊙tanh (Ct)
(1)
(1)式中*表示卷積,⊙表示元素乘法,Sigmoid表示S型激活函數(shù),tanh表示雙曲正切激活函數(shù),it表示輸入門,ft表示遺忘門,Ht是隱藏狀態(tài),ot為輸出門,xt是輸入數(shù)據(jù),Ct是單元狀態(tài)。ConvLSTM的本質(zhì)與LSTM的本質(zhì)相同,取前一層的輸出作為下一層的輸入,主要區(qū)別在于添加卷積運(yùn)算后,不僅可以獲取時(shí)間關(guān)系,還可以獲取空間關(guān)系。
為了提取高層時(shí)序特征,采用了兩級Conv-LSTM結(jié)構(gòu),輸入層為3DCNN模塊提取的特征,第一級卷積核的數(shù)量為64,第二級為128,卷積核的大小都為3×3,在第一級和第二級之間依次連接了最大池化層和BN層,在第二級最后一個(gè)輸出依次連接最大池化層和全局最大池化層,最后通過Dropout層輸出到Sigmoid分類器輸出結(jié)果,網(wǎng)絡(luò)結(jié)構(gòu)框圖如圖4所示。為了降低模型的過擬合現(xiàn)象同時(shí)結(jié)合Hockey數(shù)據(jù)集的大小,采用了兩級網(wǎng)絡(luò)結(jié)構(gòu),如果增加ConvLSTM的層數(shù)會(huì)導(dǎo)致模型的過擬合,無法提取高層時(shí)序特征。因?yàn)楸┝π袨闄z測是二分類問題,所以使用Sigmoid作為最終分類層,最終只需要一個(gè)神經(jīng)元,給出為正樣本的概率p,負(fù)樣本概率即為1-p。
圖4 網(wǎng)絡(luò)結(jié)構(gòu)框圖
為了驗(yàn)證本文提出算法的有效性,采用暴力行為檢測中最常用的Hockey數(shù)據(jù)集。該數(shù)據(jù)集為冰球比賽中的打斗視頻,一共有1 000個(gè)視頻片段,其中500個(gè)為冰球比賽中的暴力視頻片段,剩下的為非暴力視頻片段。每個(gè)視頻片段的分辨率為360×288,該數(shù)據(jù)集的部分樣本如圖5所示。
圖5 Hockey數(shù)據(jù)集
實(shí)驗(yàn)硬件環(huán)境:CPU為Core i7- 8700k,GPU為NVIDIA GTX2080Ti。軟件環(huán)境:Tensorflow1.12.0和Keras2.1.6深度學(xué)習(xí)框架,編程語言為Python3.6.5,開發(fā)工具為PyCharm。
實(shí)驗(yàn)中從原始數(shù)據(jù)隨機(jī)抽取連續(xù)的24幀圖像序列作為輸入,圖像序列大小調(diào)整為80×80×3×24,訓(xùn)練期間采用隨機(jī)裁剪方式和隨機(jī)水平翻轉(zhuǎn)的方式進(jìn)行數(shù)據(jù)增強(qiáng)。訓(xùn)練集、測試集的比例為8∶2,即暴力和非暴力視頻片段各400個(gè)作為訓(xùn)練集,剩余數(shù)據(jù)作為測試集。
bacth_size的大小受到電腦內(nèi)存的限制,隨著 batch_size的增大,模型的訓(xùn)練時(shí)間減少,提高了算法的穩(wěn)定性,因此實(shí)驗(yàn)過程中根據(jù)數(shù)據(jù)集的大小和內(nèi)存的大小,令batch_size=16,迭代次數(shù)為100,即epoch=100。
通過自動(dòng)調(diào)整學(xué)習(xí)率的方式提高模型的準(zhǔn)確率,調(diào)整過程采用線性衰減的方式。如果在3次迭代中學(xué)習(xí)停滯,準(zhǔn)確率不在提升時(shí),學(xué)習(xí)率減少50%,直到當(dāng)lr=0.000 1時(shí)停止降低學(xué)習(xí)率,如此循環(huán)。參數(shù)如表1所示。
表1 訓(xùn)練參數(shù)
單獨(dú)的3DCNN網(wǎng)絡(luò)或ConvLSTM網(wǎng)絡(luò)可以應(yīng)用到視頻分類中,為了驗(yàn)證融合模型的優(yōu)越性,在Hockey數(shù)據(jù)集上測試了3DCNN、ConvLSTM和3DCNN+ConvLSTM網(wǎng)絡(luò)的準(zhǔn)確率變化曲線,如圖6所示,其中,“加號”表示3D CNN+ConvLSTM融合網(wǎng)絡(luò)的測試結(jié)果,“圓形”表示3DCNN網(wǎng)絡(luò),“朝右三角形”表示ConvLSTM網(wǎng)絡(luò)。
圖6 準(zhǔn)確率變化曲線
網(wǎng)絡(luò)訓(xùn)練初期,3種網(wǎng)絡(luò)的準(zhǔn)確率提升非???,隨著迭代次數(shù)的逐步增加,準(zhǔn)確率上升速度比較緩慢,經(jīng)過30輪左右的迭代后,融合網(wǎng)絡(luò)和3D CNN網(wǎng)絡(luò)趨于穩(wěn)定,但ConvLSTM網(wǎng)絡(luò)在整個(gè)訓(xùn)練過程中出現(xiàn)了波動(dòng)。單獨(dú)的3DCNN網(wǎng)絡(luò)和ConvLSTM網(wǎng)絡(luò)分別達(dá)到了97.40%和96.88%的準(zhǔn)確率,在暴力行為檢測中取得了不錯(cuò)的效果,雖然兩種網(wǎng)絡(luò)精度相差不大,但是處理的思路完全不同,3DCNN網(wǎng)絡(luò)通過三維卷積核捕獲視頻中的時(shí)間和空間信息,而ConvLSTM網(wǎng)絡(luò)首先提取單幀圖像的特征,然后對特征進(jìn)行時(shí)序建模。
融合網(wǎng)絡(luò)的準(zhǔn)確率明顯高于單獨(dú)的3D CNN網(wǎng)絡(luò)和ConvLSTM網(wǎng)絡(luò),達(dá)到了98.96%的識別精度,它利用了兩種網(wǎng)絡(luò)的優(yōu)點(diǎn),3DCNN網(wǎng)絡(luò)的優(yōu)勢在于提取視頻的低層時(shí)序特征,而ConvLSTM網(wǎng)絡(luò)對數(shù)據(jù)的時(shí)序特征建模有一定的優(yōu)勢,融合網(wǎng)絡(luò)很好地結(jié)合了它們的優(yōu)點(diǎn),因此在Hockey數(shù)據(jù)集上取得了最先進(jìn)的識別精度,具有較好的泛化能力。
為了比較融合算法的高效性,表2列舉了本文融合算法與其他算法在Hockey數(shù)據(jù)集上的識別精度。融合算法在Hockey數(shù)據(jù)集上達(dá)到了98.96%的識別精度,優(yōu)于大多數(shù)的暴力行為檢測算法。與傳統(tǒng)的暴力行為檢測算法相比,比準(zhǔn)確率最高的傳統(tǒng)算法MoIWLD高2.16%,而且大多傳統(tǒng)算法使用了光流信息,這樣會(huì)大大增加算法的計(jì)算量,無法做到端到端的訓(xùn)練與識別。與深度學(xué)習(xí)的算法相比,比識別精度最高的ConvLSTM網(wǎng)絡(luò)提升了1.86%。同時(shí),也測試了單獨(dú)的3DCNN網(wǎng)絡(luò)和ConvLSTM網(wǎng)絡(luò)在Hockey數(shù)據(jù)集上的識別精度,分別為97.40%、96.88%,高于傳統(tǒng)算法,進(jìn)一步表明了深度學(xué)習(xí)方法優(yōu)于人工提取特征的方式。
表2 與其他暴力行為檢測算法比較
本文方法具有先進(jìn)的識別精度,有兩方面的原因。第一,采用了3DCNN網(wǎng)絡(luò)提取了短時(shí)空特征,它包含了暴力視頻中與行為目標(biāo)、場景、人體動(dòng)作有關(guān)的信息,使得這些特征對不同的行為分類任務(wù)都有用,是一種高效的視頻描述符。第二,利用ConvLSTM網(wǎng)絡(luò)對3D CNN提取的特征建模,提取視頻的長時(shí)空特性,更深層次的提取暴力監(jiān)控視頻中的隱藏信息。
針對治安監(jiān)控視頻中暴力行為的識別與檢測,提出了一種基于3DCNN和ConvLSTM網(wǎng)絡(luò)的暴力行為識別與檢測模型,3DCNN網(wǎng)絡(luò)是一種高效的視頻描述符,能夠很好地提取短時(shí)空特征,ConvLSTM網(wǎng)絡(luò)通過對短時(shí)空特征的建模,來提取視頻的長時(shí)空特性,因而對兩種網(wǎng)絡(luò)進(jìn)行融合,提取了視頻的高層時(shí)序特征,為了驗(yàn)證本文提出算法的高效性和魯棒性,分別對3DCNN和ConvLSTM網(wǎng)絡(luò)進(jìn)行了單獨(dú)的測試,在暴力行為識別Hockey數(shù)據(jù)集上分別達(dá)到了97.40%和96.88%的識別精度,而融合網(wǎng)絡(luò)達(dá)到了98.96%的識別精度,表明了融合網(wǎng)絡(luò)優(yōu)于單獨(dú)的3DCNN和ConvLSTM網(wǎng)絡(luò)。