王 勇,靳偉昭,馮 偉,全英匯
(西安電子科技大學 電子工程學院,陜西 西安 710071)
近年來,國內外公共安全問題日益凸顯,暴力沖突事件頻發,如倫敦、巴黎、紐約等城市發生的非法暴力行為,此類事件對公共安全危害極大。因此,及時地發現并處理此類事件,對維護公共安全具有非常重要的意義。
早期的暴力行為檢測,主要采用人工設計特征的方法。GIANNAKOPOULOS等[1]和LIN等[2]使用音頻、血液和火焰等關聯特征來檢測暴力場景。2016年,ZHANG等[3]提出了光流方向直方圖描述符進行暴力行為檢測,此描述符通過對候選區域光流直方圖進行重新排列、添加上下文信息和歸一化后構造而成,最后使用支持向量機(Support Vector Machines,SVM)分類器進行分類。2017年,SENST等[4]提出拉格朗日時空興趣點描述符用于暴力行為檢測,將基于方向的拉格朗日場測度集成到時空興趣點描述符中用于提取暴力行為特征,然后使用詞袋模型提取特征直方圖,最后使用支持向量機進行特征分類。2018年,ZHOU等[5]從運動區域中提取了兩種低層次的視覺特征:低層次方向梯度直方圖特征和低層次光流方向直方圖特征,然后在詞袋模型下對低層特征進行處理,再由支持向量機分類器進行分類。2019年,SAMUEL等[6]使用方向梯度直方圖提取圖像空間特征,然后利用雙向長短期記憶網絡對時序特征進行聚合。同年,MAHMOODI等[7]采用全局閾值和自適應閾值來獲取光流的大小和方向變化,從而構建光流大小及方向直方圖描述符,最后使用支持向量機分類器進行分類。2020年,DEEPAK等[8]設計了一種時空梯度自相關特征描述暴力行為,最后使用支持向量機進行特征分類。
在曲棍球比賽數據集和人群暴力數據集上,文獻[5]中的方法效果最佳。然而,上述基于手工特征的方法過度依賴于先驗知識,對于特定的小規模數據集特征提取效果較好,但對于其它數據集的適應性較差且特征提取效率較低。
隨著深度學習在計算機視覺領域的巨大成功,研究人員逐漸將深度網絡模型應用于暴力行為檢測領域。2016年,DONG等[9]提出了一種新的多流卷積神經網絡框架,通過卷積神經網絡分別對空間網絡的RGB圖像和時間網絡的光流圖像與加速度流圖像進行處理,最后對分類結果進行融合得到最終分類結果。2017年,ZHOU等[10]構建了暴力行為識別網絡模型,采用行為識別領域的雙流卷積神經網絡框架分別對RGB圖像、光流圖像和加速度流圖像提取特征。2020年,LI等[11]提出了一種新的多流卷積神經網絡框架,分別通過基于注意力機制的卷積神經網絡和卷積神經網絡處理RGB圖像從而獲取空間特征,并通過光流圖像提取時間特征,進而得到時空特征。但上述多流深度神經網絡模型過于復雜且計算量過大。周智等[12]參考視頻行為識別領域三維卷積網絡的思路構建了一個較為簡單的暴力行為檢測模型,直接使用三維卷積網絡提取時空特征。實驗結果表明,上述方法在暴力行為檢測方面比人工設計特征的方法提取特征效率更高,但網絡參數較多,網絡模型較復雜。
針對三維卷積神經網絡中暴力行為檢測準確度較低、網絡參數過多不易擬合的缺陷,筆者提出了一種(2+1)D密集殘差網絡的暴力行為檢測方法。此網絡結構借鑒了行為識別領域優秀的R(2+1)D網絡[13]結構,采用 (2+1)D卷積核替代三維卷積核,可以更加有效地提取暴力行為特征。受文獻[14]中的ResNet-D的結構啟發,文中將三維殘差模塊分支進行優化,由于原殘差模塊中步長(stride)為2的卷積操作忽略了3/4的特征信息,因此將其優化為步長為2的池化操作和步長為1的卷積操作。另外將殘差模塊中兩個卷積層間進行密集拼接,不僅可以增加特征復用,還可以減輕梯度消散問題。
筆者提出的(2+1)D密集殘差網絡模型結構如圖1所示。模型共有1個(2+1)D卷積層、4個(2+1)D密集殘差模塊、1個全局池化層、1個全連接層、1個分類層器。使用5個卷積模塊進行時空特征提取,卷積層后是全局平均池化層,再其次是全連接層,并在所有卷積層和全連接層之后使用批量正則化,從而加快網絡的優化速度,最后分類器采用Softmax進行分類。

圖1 (2+1)D密集殘差網絡結構
TRAN等[13]提出了一種三維時空特征提取方法,通過將三維卷積核優化為(2+1)D卷積核,即空間二維卷積與時間一維卷積實現三維時空卷積,有效減小了訓練時長并提高了分類精度。因此,文中采用(2+1)D卷積核構造卷積模塊,實現三維時空特征提取。此外,在(2+1)D卷積核中兩個子卷積之間增加一個修正線性單元(Rectified Linear Unit,ReLU)函數,使得網絡中非線性操作的數量增加了1倍,進而可以提高網絡分類精度。其網絡結構如圖2(b)所示。

(a) 三維卷積核網絡結構
殘差模塊是殘差網絡的基本組成部分,可以有效地減少梯度彌散問題。它分為直接映射和殘差兩部分(如圖3所示),數學公式可表示為
x1=h(x0)+F(x0,w0) ,
(1)
其中,h(x0)表示直接映射部分,F(x0,w0)表示殘差部分,x0表示輸入特征圖,x1表示輸出特征圖。由于x0與x1的特征圖數量不同,直接映射部分需要對特征圖進行降維處理。

圖3 殘差模塊結構圖
由于原始殘差模塊結構中直接映射部分stride=2的卷積操作忽略了原特征圖中3/4的信息,導致丟失某些有用的特征。因此,文中通過將殘差模塊直接映射部分優化為stride=2的均值池化操作和stride=1的卷積操作,stride=1的卷積操作可以保證特征信息不丟失,同時均值池化操作可以使高層特征具有更大的感受野,還可以增加它的平移不變性,具體如圖4所示。
另外,借鑒密集連接的思想,在圖4結構之上將殘差模塊中兩個卷積層間特征圖進行拼接,使得殘差塊中的兩個卷積層輸出的特征圖可以重復使用,以強化特征的傳輸減輕梯度消散問題,從而構建了(2+1)D密集殘差模塊,如圖5所示。

圖4 改進后殘差模塊結構圖
分別在兩個數據集上對3D-CNN網絡[12]、R(2+1)D網絡、改進后R(2+1)D網絡、(2+1)D密集殘差網絡進行了對比分析。3D-CNN網絡是周智等借鑒行為分類領域的C3D網絡構建的暴力行為檢測模型;R(2+1)D網絡是C3D網絡的升級版;改進后R(2+1)D網絡是由改進后殘差模塊構建而成;(2+1)D密集殘差網絡是依據(2+1)D密集殘差模塊構建而成的。
實驗數據集包括曲棍球比賽數據集和自制數據集。曲棍球比賽數據集是暴力行為檢測領域最常用數據集,由冰球比賽場景中的視頻剪輯而成,共包括1 000個視頻片段,500個暴力行為視頻,500個非暴力行為視頻。圖6為曲棍球比賽數據集中的暴力行為示例圖,圖7為非暴力行為示例圖。
由于曲棍球比賽數據集背景過于單一,筆者自制了一個暴力行為數據集,此數據集中的視頻主要包括50個從網上電影中剪輯的視頻片段、1 000個曲棍球比賽數據集中的視頻片段、200個Movies數據集中的視頻片段以及250個從UCF101數據集中拳擊動作集、相撲動作集、曲棍球點球動作集以及拳擊訓練動作集挑選的視頻片段。該數據集共有1 500個視頻,包括750個暴力行為視頻和750個非暴力行為視頻。自制數據集示例幀如圖8與圖9所示,此數據集背景多樣,背景光線變化明顯,更加具有挑戰性。

圖6 曲棍球比賽數據集暴力行為示例圖
2.2.1 實驗環境
實驗訓練的軟件平臺為:Google Colaboratory云平臺,硬件平臺為:Tesla P100 GPU,開發框架為:pytorch 0.40,開發語言為:python 3.6。
2.2.2 網絡架構
采用經典的殘差網絡7層架構。該架構首先以時間長為16 幀,空間大小112×112的圖像作為輸入,然后使用5層卷積模塊提取暴力行為時空特征,再使用全局池化層(Global Average Pooling)與全連接層(Fully Connected Layer,FC layer)進行特征向量轉換,最后使用Softmax層進行分類,具體網絡結構如表1所示。為清晰表達出網絡架構,表中省略了卷積模塊2~卷積模塊5中直接映射部分。


表1 網絡結構參數
文中所用4種網絡模型的參數量(Parameters,Params)以及計算量(FLoating point Operations Persecond,FLOPs),如表2所示。

表2 網絡模型參數量對比
由表2可知,筆者構建的2種網絡結構相比3D-CNN網絡和R(2+1)D網絡,網絡參數量更少,網絡參數更加高效,網絡更易優化。
2.2.3 損失函數及評價指標
文中實驗采用動量梯度下降法對網絡進行優化,初始學習率為0.005,每隔20代學習率乘以0.1,權重衰減設置為0.000 5,動量因子設置為0.9,批處理大小設置為16,損失函數使用二分類交叉熵函數
L=-(ylog(y1)+(1-y)log(1-y1)) ,
(2)
其中,L表示損失值(Loss),y1表示模型預測樣本是正例的概率;y表示樣本標簽,如果樣本屬于正例,y取值為1,否則取值為0。實驗中暴力行為類別為正例,非暴力行為為負例。
文中采用精度作為網絡的評價標準:
(3)
其中,A表示精度值,TP表示測試樣本的真實類別是正例并且模型預測的結果也是正例的樣本數量,TN表示測試樣本的真實類別是負例并且模型將其預測為負例的樣本數量,T表示測試樣本的總數。
文中為驗證(2+1)D密集殘差網絡的性能分別在曲棍球比賽數據集和自制數據集上,分別對3D-CNN網絡、R(2+1)D網絡、改進后R(2+1)D網絡以及(2+1)D密集殘差網絡進行了訓練及測試。
首先將數據集以4∶1的比例劃分為訓練集和測試集。隨機選取每個視頻的16幀圖像作為一個視頻序列,并將每一幀圖像的大小調整為171×128。訓練時,將訓練集以4∶1的比例劃分為訓練和驗證兩部分,在訓練的過程中,為提高數據多樣性并且避免過度擬合問題,文中將視頻序列中的每幀圖像隨機裁剪為112×112的圖像,再以50%的概率對每幀圖像進行水平翻轉操作,將這些圖像作為網絡的輸入。驗證和測試過程中,從每幀圖像中心位置裁剪出尺寸大小為112×112的圖像作為網絡的輸入。
在曲棍球比賽數據集上,筆者分別對R(2+1)D網絡(n1)、改進后R(2+1)D網絡(n2)及(2+1)D密集殘差網絡(n3)進行了訓練。如圖10~13所示,在訓練過程中損失函數Loss值整體呈現下降趨勢,準確率整體呈上升趨勢,當訓練進行到30輪后,Loss值和準確率均基本達到穩定狀態,其中(2+1)D密集殘差網絡的Loss值最小,準確率最高。數據分析參見圖10~圖13。
在自制數據集上,筆者分別對3D-CNN網絡(n0)、R(2+1)D網絡(n1)、改進后R(2+1)D網絡(n2)及(2+1)D密集殘差網絡(n3)進行了訓練。如圖12所示,在訓練過程中損失函數Loss值整體呈現下降趨勢,準確率整體呈上升趨勢,當訓練進行到40輪后,Loss值和準確率均基本達到穩定狀態,其中(2+1)D密集殘差網絡的Loss值最小,準確率最高。


從表3中可以看出,在曲棍球比賽數據集和自制數據集上,改進后R(2+1)D網絡相比原網絡取得了更好的結果,準確率相比原網絡分別提高了約2.30%和1.00%,從而驗證了文中對殘差模塊直接映射部分改進的有效性;筆者構建的(2+1)D密集殘差網絡與改進后(2+1)D網絡相比,準確率分別提高了約1.47%和 0.93%,從而驗證了密集殘差模塊的有效性。
另外,改進后的R(2+1)D網絡和(2+1)D密集殘差網絡均比3D-CNN網絡取得了更好的結果。在曲棍球比賽數據集上,準確率分別比3D-CNN網絡提高了約1.21%和 2.68%,在自制數據集上,準確率分別比3D-CNN網絡提高了約0.67%和 1.61%。從而驗證了該網絡模型的有效性及優越性能。

表3 網絡模型實驗結果對比
筆者提出了一種(2+1)D密集殘差網絡的暴力行為檢測方法,其中(2+1)D密集殘差模塊可以有效提取暴力行為時空特征。在公開的經典暴力行為檢測數據集曲棍球比賽和自制數據集上與其他三種網絡進行了實驗對比評估,驗證了該網絡模型能夠更好地表示暴力行為信息,是一種簡單有效的暴力行為檢測方法。在今后研究中,筆者將考慮采用遷移學習、模型融合和擴充數據集等方法來提高網絡的識別精度及魯棒性,構建更加貼近實際生活應用的網絡模型。