連靖,胡興,黃影平
(上海理工大學 光電信息與計算機工程學院,上海 200093)
智能視頻監(jiān)控系統(tǒng)能夠廣泛地應用于生產及生活領域的安全防護[1]。隨著監(jiān)控設備價格的降低,以“天網(wǎng)監(jiān)控系統(tǒng)”為代表的監(jiān)控系統(tǒng)已全方位深入到社會每個角落。視頻異常行為代表一類相對罕見的行為,一般與常見的行為相沖突,具有一定的危險性,及時準確地檢測視頻異常行為對于維護社會安全具有重要意義。視頻異常檢測旨在通過計算機視覺,結合機器學習等方法,在時間和空間上定位視頻序列中有違常規(guī)行為。例如,車輛逆行、打架、人群逃散等行為。合適的視頻異常行為檢測方法能夠自動學習場景中的正常行為模型,并自動判斷出與正常模型偏差較大的異常行為,不僅大大減少了勞動成本,而且有著較好的時效性和準確率。
不同于其它基于監(jiān)督學習的視頻行為識別任務,由于異常行為具有定義模糊性[2]、稀有性[3]、場景依賴性[4]等特點,所以監(jiān)督學習不能很好的適用于視頻異常檢測。因此,大多數(shù)視頻異常檢測都是通過無監(jiān)督學習的方式來實現(xiàn)的。文獻[5]中首次運用深度去噪自編碼器重建時空立方體,通過全連接層進行輸出作為習得的視頻事件表示;文獻[6]使用卷積深度自編碼器,通過卷積代替全連接層,以便更好地提取視頻特征;文獻[7]使用贏家通吃自編碼器提取視頻特征,并使用一類支持向量機進行分類等等。以上文獻均使用了深度自編碼器,并取得了較好的效果。但由于視頻具有時間上的連續(xù)性,而上述方法僅考慮了空間上的特征提取,忽略了時間序列上的關聯(lián)性。
對于視頻預測任務,空間和時間特征的結合是不可或缺的。為了解決上述問題,本文提出了一種新的基于深度學習的方法。其主要思想是,通過實現(xiàn)正常場景下的空間多尺度特征與時間信息的融合來優(yōu)化異常檢測。該方法結構如圖1 所示。首先,利用PWC-Net[8]網(wǎng)絡提取相鄰幀的光流特征圖,將RGB 圖與光流圖進行加權相加形成合成特征圖,作為編碼模塊的輸入;然后,利用三維尺度上的attention 模塊,對經3D 卷積層的特征圖進行主要信息的增強和次要信息的抑制;利用ConvLSTM 模塊在時間建模方面的優(yōu)勢來記憶時態(tài)特征,完成時空信息融合;最后根據(jù)解碼模塊獲得重建視頻數(shù)據(jù),并根據(jù)重建數(shù)據(jù)與輸入數(shù)據(jù)之間的差異獲得每個輸入的正常分數(shù)。
圖1 異常行為檢測結構框圖Fig.1 Block diagram of abnormal behavior detection
本文所提出的框架如圖2 所示,該框架整體為編碼-解碼結構,主要由3D 卷積模塊、3DSEblock 模塊和ConvLSTM 模塊組成。
圖2 異常行為檢測網(wǎng)絡框架圖Fig.2 Anomalous behavior detection network framework diagram
2D 卷積使用空間卷積核對圖像進行水平維度和垂直維度的特征提取,如公式(1)所示,只能提取圖像的空間特征。而視頻數(shù)據(jù)既有空間維度上的信息,也有時間維度上的信息,所以本文使用3D 卷積核,同時對水平維度、垂直維度和時間維度進行卷積操作,不僅提取了視頻的空間特征,還建立了空間特征在時間維度上的聯(lián)系,如公式(2)所示。
通常情況下,同一地點的視頻數(shù)據(jù)會存在大量冗余信息,而過多的冗余信息會影響模型的學習。所以,本文針對如何對主要信息進行增強,對次要信息進行抑制進行了模型上的改進。受文獻[9]中提出的SEnet 注意力機制模塊啟發(fā),本文引入3DSEblock 模塊,對視數(shù)據(jù)進行主要信息增強與次要信息抑制。
該模塊主要由Squeeze 和Excitation 兩部分組成。前者主要利用全局平均池化層統(tǒng)計每個通道的分布,來進行信息嵌入,如公式(3)所示;后者則通過學習得到一組權重,用于表示特征通道的重要程度,如公式(4)所示。
其中,zc為第c個特征通道經過全局平均池化層所得到的輸出值;T、H、W分別表示該特征的幀數(shù)、高和寬;uc(i,j,k)為第c個特征通道在位置(i,j,k)處的值;s表示通過Excitation 操作所得到的一組權重系數(shù)。由圖3 可知,W1和W2分別為第一層和第二層全連接層的權重,此2 層通過縮放因子r來控制計算的復雜程度;δ為ReLU 激活函數(shù),用于提高模塊的非線性程度;σ為sigmoid 激活函數(shù),用于將權重正則到(0,1)。最后將該權重與對應輸入相乘,得到最終的輸出,具體實現(xiàn)如公式(5)所示。yc表示第c個特征通道xc經過3DSEblock 模塊所得到的輸出值;uc是xc經3D 卷積模塊后所得到的結果;sc是通過Excitation 操作所得到的一組權重系數(shù),其系數(shù)越大,代表該特征通道越重要。
圖3 3DSEblock 模塊結構圖Fig.3 3DSEblock module structure diagram
ConvLSTM(The convolution Long Short-Term Memory)是在LSTM(Long Short-Term Memory)的基礎上改進而來。由于視頻數(shù)據(jù)需要同時考慮時間維度上的連續(xù)性和空間維度上的關聯(lián)性,而LSTM 雖然能提取數(shù)據(jù)的時序信息,但會破壞數(shù)據(jù)的空間結構。為了能夠同時提取時空特征,Shi[10]提出了卷積層和LSTM 單元相結合的ConvLSTM 模塊并用于降水預測中。相較于LSTM,全連接層被卷積操作所替代,且有著局部連接、參數(shù)共享的優(yōu)點,既有效地降低了參數(shù)量,又能夠提取視頻幀的局部特征。所以ConvLSTM模塊更適合于視頻流數(shù)據(jù)。ConvLSTM 結構如圖4 所示。其中,t表示t時刻;Xt、Ht、Ct分別表示t時刻的輸入、隱藏狀態(tài)及記憶單元;3*3 矩陣區(qū)域表示卷積核。
圖4 ConvLSTM 結構圖Fig.4 ConvLSTM structure diagram
2.1.1 UCSD 數(shù)據(jù)集
UCSD 數(shù)據(jù)集[11]是視頻異常檢測最常用的數(shù)據(jù)集之一,記錄了加州大學圣地亞哥分校兩個不同人行道上的監(jiān)控視頻數(shù)據(jù)。其中,正常行為指行人在人行道上的行走,異常行為包括不規(guī)范的機動車輛行駛、單車行駛及滑板穿梭等行為。Ped1 數(shù)據(jù)集包含34 個訓練樣本和36 個測試樣本,每個樣本由200 幀組成,每幀分辨率為158X238 像素。Ped2 數(shù)據(jù)集包含16 個訓練樣本和12 個測試樣本,每個樣本由120-200 幀組成,總幀數(shù)為4 560 幀,每幀分辨率為240X360 像素。
2.1.2 Avenue 數(shù)據(jù)集
Avenue 數(shù)據(jù)集[12]采集于香港中文大學某走廊的監(jiān)控視頻數(shù)據(jù)。其中,正常行為指行人在平行于地鐵口的方向上行走,異常行為包括但不限于行人在非平行于地鐵口的方向行走、投擲物品、奔跑、推自行車等行為。該數(shù)據(jù)集包含16 個訓練樣本和21個測試樣本,每個樣本幀數(shù)各不相同,總幀數(shù)為30 337幀,每幀分辨率為360X640 像素。
對異常檢測任務而言,其最常見的評價層次為幀層次比較與像素層次比較[11]。前者只須判斷幀內是否有異常,后者需要對異常進行空間定位。當檢測出的異常區(qū)域與真實的異常區(qū)域重合率大于40%時,該幀被認為是異常幀。為了在量上進行精確的比較,實驗中經常用受試者工作特性曲線(ROC)下的面積(AUC),以及錯誤率(EER)等,來評估視頻異常檢測的性能。ROC 曲線由不同閾值下的真陽性率(TPR)和假陽性率(FPR)繪制,其中:
TP和FP分別代表正確檢測與錯誤檢測的陽性樣本,TN和FN分別代表正確檢測與錯誤檢測的陰性樣本。幀級標準由等差錯率(EER)概括。其是在ROC曲線上FPR=TPR時的值,而像素標準則通過檢測率來概括。
此外,為了判定該模型是否有效,需要用測試集評估該模型是否能夠捕捉到異常行為,所以本論文采用正常得分來衡量模型效果。理論上正常行為得分較高,異常行為得分較低。正常得分的計算方法如公式(8)、式(9)所示:
其中,d(t)表示第t幀的重構誤差,即一幀圖像中所有像素的重構誤差;x(t)表示視頻的第t幀;fW表示已訓練好的模型;W表示已訓練模型的權重;fW(x(t))表示視頻第t幀在輸入模型后得到的重構幀。輸入幀和重構幀的二范數(shù)即為重構誤差。公式(9)對重構誤差進行了歸一化。其中,s(t)表示第t幀的重構誤差,d(t)max和d(t)min分別表示輸入幀中最大的重構誤差和最小的重構誤差。
實驗的服務器配置包括:Intel Xeon E5-2667 v4 CPU、NVIDIA GeForce GTX 2080 和11 GB 內存。實驗之前,需要對原視頻幀進行尺寸調整,數(shù)據(jù)中心化以及數(shù)據(jù)增強。本文統(tǒng)一將視頻幀大小調整為224x224,并進行數(shù)據(jù)中心化。即將訓練集中每一幀的每個像素先轉化到(0,1),然后減去μ再除以σ。本文取μ=[0.485,0.456,0.406],σ=[0.229,0.224,0.225]。為提高模型的泛化能力,避免過擬合,將中心化之后的視頻幀進行采樣,步長分別為1、2、3,然后以每8 幀為一視頻塊輸入到模型中。
表1 和表2 分別列出了UCSD Ped1 數(shù)據(jù)集和Ped2 數(shù)據(jù)集下采用ST-3DCAE 模型與其它主流方法在EER和AUC這兩個指標上的詳細定量比較。其中,若EER越小,AUC越大,說明檢測方法越可靠。從表1 和表2 可以明顯看出,本文提出的方法除遜于AMDN,與Conv-AE 性能相近之外,均優(yōu)于其它傳統(tǒng)算法。因為這兩種方法也同樣使用了以卷積自編碼器為基礎的模型結構,在提取特征方面具有一定的優(yōu)勢。
表1 不同方法在UCSDPed1 數(shù)據(jù)集上的性能比較Tab.1 Performance comparison of different methods on UCSDPed1 dataset
表2 不同方法在UCSDPed2 數(shù)據(jù)集上的性能比較Tab.2 Performance comparison of different methods on UCSDPed2 dataset
圖5 分別展示了上述兩個數(shù)據(jù)集的ROC 曲線圖。為進一步證明該方法的可靠性,圖6 可視化了UCSDPed1 數(shù)據(jù)集的正常得分,圖7 可視化了USDPed2 數(shù)據(jù)集的正常得分。其中橫軸為視頻幀數(shù),縱軸為正常得分,紅色區(qū)域為ground truth,意味著該區(qū)域發(fā)生了異常行為。理論上正常行為幀擁有較高的正常得分,異常行為幀具有較低的正常得分。
圖5 UCSDPed1 數(shù)據(jù)集與UCSDPed2 數(shù)據(jù)集ROC 曲線Fig.5 ROC curves for UCSDPed1 dataset and UCSDPed2 dataset
圖6 UCSDPed1 數(shù)據(jù)集下異常目標的正常得分Fig.6 Normal score plot for abnormal targets under UCSDPed1 dataset
圖7 UCSDPed2 數(shù)據(jù)集下異常目標(自行車)的正常得分Fig.7 Normal score plot for abnormal target(bicycle)under UCSDPed2 dataset
表3 列出了Avenue 數(shù)據(jù)集下采用ST-3DCAE模型與其它主流方法在EER和AUC指標上的詳細定量比較。從表3 中可以明顯看出本文提出的方法優(yōu)于Conv-AE,且與其它傳統(tǒng)算法的性能相近,從而驗證了ST-3DCAE 能夠較為有效地定位異常幀。圖8 展示了Avenue 數(shù)據(jù)集的ROC 曲線。為進一步證明該方法的可靠性,圖9 可視化了Avenue 數(shù)據(jù)集的正常得分。
表3 不同方法在Avenue 數(shù)據(jù)集上的性能比較Tab.3 Performance comparison of different methods on Avenue dataset
圖8 Avenue 數(shù)據(jù)集的ROC 曲線Fig.8 ROC curves for the Avenue dataset
圖9 Avenue 數(shù)據(jù)集下異常目標(行人)的正常得分圖Fig.9 Normal score plot for abnormal targets(pedestrians)under Avenue dataset
對于目前大多數(shù)的異常檢測任務使用的均為無監(jiān)督學習模型,即使用正常樣本來構建生成模型。然而,傳統(tǒng)的無監(jiān)督學習模型往往會造成假陽性率偏高。本文針對連續(xù)視頻幀的特性提出了一種改進后的無監(jiān)督學習模型。該模型使用了3D 卷積模塊和ConvLSTM 模塊充分提取了連續(xù)視頻幀的特征,并且使用了3DSEblock 模塊用于主要信息增強和次要信息抑制。實驗結果表明該模型在異常行為檢測這一任務中有著較為優(yōu)秀的性能。當然,該模型也有著一定的局限性,即同一個場景僅對應一個固定參數(shù)的模型,若更換場景,模型必須重新訓練。進一步將計劃攻克這些難題,構建出一種在絕大多數(shù)場景下通用的異常行為檢測模型。