曾 靜,李 瑩,戚小莎,吉根林
1.南京師范大學(xué)計(jì)算機(jī)與電子信息學(xué)院/人工智能學(xué)院,江蘇 南京 210023
2.南京師范大學(xué)數(shù)學(xué)科學(xué)學(xué)院,江蘇 南京 210023
視頻異常檢測(cè)是指在時(shí)間上或空間上定位視頻中不符合預(yù)期的外觀或行為的異常事件。隨著越來越多監(jiān)控?cái)z像頭的部署,視頻異常檢測(cè)在智能監(jiān)控系統(tǒng)中發(fā)揮著越來越重要的作用,并應(yīng)用于商場(chǎng)、機(jī)場(chǎng)、交通路口等各種關(guān)鍵場(chǎng)景,也受到了學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注。然而異常事件的發(fā)生頻率顯然很低,異常事件的類型復(fù)雜多樣,異常事件的定義也因環(huán)境的不同而發(fā)生變化,因此視頻異常檢測(cè)是極具挑戰(zhàn)性的任務(wù)[1]。
幀預(yù)測(cè)是一種常用的視頻異常檢測(cè)方法。該類方法認(rèn)為正常數(shù)據(jù)符合一定的客觀規(guī)律,能根據(jù)先前的外觀和行為對(duì)之后的外觀和行為進(jìn)行預(yù)測(cè)。若出現(xiàn)較大的預(yù)測(cè)誤差,則可判定該視頻幀為異常幀。文獻(xiàn)[2]根據(jù)異常事件的不可預(yù)知性將預(yù)測(cè)誤差作為異常指標(biāo),進(jìn)而提出了預(yù)測(cè)未來幀的方法。文獻(xiàn)[3]采用基于過去和未來的雙向方法預(yù)測(cè)中間幀,通過外觀與運(yùn)動(dòng)檢測(cè)器來檢測(cè)異常事件。文獻(xiàn)[4]將隱式角轉(zhuǎn)換的思路加入幀預(yù)測(cè)方法,再進(jìn)行視頻異常檢測(cè)。以上方法均對(duì)整個(gè)視頻幀進(jìn)行預(yù)測(cè),包含較多復(fù)雜的背景信息,而監(jiān)控視頻出現(xiàn)異常事件的區(qū)域往往在前景對(duì)象上。為了去除背景信息,涌現(xiàn)出了不少基于分塊和基于目標(biāo)檢測(cè)的方法。文獻(xiàn)[5]將視頻分塊后先用三維卷積自編碼器對(duì)圖像塊篩選,再對(duì)最終剩余的圖像塊進(jìn)行異常檢測(cè)。文獻(xiàn)[6]先用背景邊緣模型對(duì)每幀進(jìn)行判斷,再提取圖像塊的運(yùn)動(dòng)方向,最后進(jìn)行異常行為檢測(cè)。文獻(xiàn)[7]將視頻幀均勻劃分,利用卷積自編碼器對(duì)不同塊進(jìn)行異常檢測(cè)。由于對(duì)視頻分塊再篩選的方法太過繁瑣,因此隨著神經(jīng)網(wǎng)絡(luò)的發(fā)展,目標(biāo)檢測(cè)[8-9]開始應(yīng)用于各種場(chǎng)景,并出現(xiàn)了用已訓(xùn)練的目標(biāo)檢測(cè)器提取視頻前景對(duì)象的方法。文獻(xiàn)[10]設(shè)計(jì)了以對(duì)象為中心的卷積自編碼器,先由已訓(xùn)練的目標(biāo)檢測(cè)器提取對(duì)象,再用卷積自編碼器分別學(xué)習(xí)對(duì)象的外觀和運(yùn)動(dòng)信息來檢測(cè)異常。文獻(xiàn)[11]利用目標(biāo)檢測(cè)器定位前景對(duì)象,形成時(shí)空立方體分別對(duì)表觀和運(yùn)動(dòng)特征進(jìn)行幀預(yù)測(cè)。但現(xiàn)有的基于預(yù)測(cè)的方法依賴大量的正常數(shù)據(jù)訓(xùn)練模型,且只關(guān)注一次預(yù)測(cè)的結(jié)果。若異常幀被預(yù)測(cè)出的誤差較小,則可能被誤判為正常幀。
為了進(jìn)一步提高異常檢測(cè)的準(zhǔn)確率,本文提出了基于多層記憶增強(qiáng)生成對(duì)抗網(wǎng)絡(luò)二次預(yù)測(cè)(secondary prediction of multi-layer memory enhancement generative adversarial network,SP-MLMEGAN)的視頻異常檢測(cè)方法。由自編碼器初步預(yù)測(cè)未來幀,再串聯(lián)多層記憶增強(qiáng)生成對(duì)抗網(wǎng)絡(luò)(multi-layer memory enhancement generative adversarial network,MLMEGAN)預(yù)測(cè)未來幀。為了去除復(fù)雜的背景信息,利用已訓(xùn)練的目標(biāo)檢測(cè)器[12]提取視頻中的前景對(duì)象,著重關(guān)注可能發(fā)生異常的重點(diǎn)區(qū)域。為了減小運(yùn)動(dòng)特征被遺漏的可能性,將預(yù)測(cè)幀的表觀特征和對(duì)應(yīng)真實(shí)幀的光流特征融合作為MLMEGAN 的輸入,使預(yù)測(cè)的未來幀更加接近正常幀,拉大預(yù)測(cè)幀與異常幀的差距。
本文提出了SP-MLMEGAN 視頻異常檢測(cè)方法,其處理過程如圖1所示。
圖1 SP-MLMEGAN 處理過程Figure 1 Processing process for SP-MLMEGAN
整個(gè)異常檢測(cè)模型在視頻幀前景對(duì)象上進(jìn)行訓(xùn)練。先由自編碼器根據(jù)連續(xù)4 幀的前景對(duì)象預(yù)測(cè)第5 幀,再將預(yù)測(cè)幀序列和對(duì)應(yīng)真實(shí)幀的光流序列融合,利用MLMEGAN 網(wǎng)絡(luò)預(yù)測(cè)未來幀,并根據(jù)兩次預(yù)測(cè)誤差構(gòu)成前景對(duì)象的異常分?jǐn)?shù)。取一幀中前景對(duì)象異常分?jǐn)?shù)最大的值作為異常分?jǐn)?shù),并與設(shè)定的閾值進(jìn)行比較,若前者大于后者,則可判定該幀包含異常事件,也就是異常幀。
提取前景對(duì)象的目的是去除復(fù)雜的背景信息,只保留前景對(duì)象活動(dòng)的區(qū)域。將一個(gè)時(shí)空立方體作為視頻異常檢測(cè)的基本處理單元進(jìn)行精確而全面的定位,達(dá)到使前景對(duì)象的活動(dòng)區(qū)域盡量小且剔除復(fù)雜背景環(huán)境的理想狀態(tài),這是視頻前景對(duì)象提取的關(guān)鍵。前景對(duì)象提取過程如圖2所示。
圖2 前景對(duì)象的提取過程Figure 2 Extraction process of foreground objects
將外觀條件和運(yùn)動(dòng)條件進(jìn)行相互補(bǔ)充,實(shí)現(xiàn)前景對(duì)象的定位。對(duì)于外觀條件,用目標(biāo)檢測(cè)器[12]在微軟COCO 這樣大規(guī)模公共的數(shù)據(jù)集進(jìn)行預(yù)訓(xùn)練,使已訓(xùn)練的目標(biāo)檢測(cè)器可以精確地定位每個(gè)前景對(duì)象,并用一個(gè)邊界框來標(biāo)識(shí);為每個(gè)邊界框的面積設(shè)定一個(gè)閾值,過濾掉較小的邊界框;通過非極大值抑制消除顯著重疊的邊界框,獲得外觀邊界框的集合Ba。對(duì)于運(yùn)動(dòng)條件,利用幀差法處理相鄰兩幀,得到前景對(duì)象的運(yùn)動(dòng)區(qū)域;將運(yùn)動(dòng)區(qū)域邊界框與外觀邊界框相減,既可以定位未被外觀線索檢測(cè)到的對(duì)象,又可以降低邊界框重疊率,避免產(chǎn)生較大且不精確的邊界框,還可以減少計(jì)算量,從而獲得運(yùn)動(dòng)邊界框的集合Bm。最終,將外觀邊界框集合Ba和運(yùn)動(dòng)邊界框集合Bm合并,形成前景對(duì)象合適的邊界框集合B。每個(gè)邊界框構(gòu)建一個(gè)時(shí)空立方體(F1,···,Ft?1,Ft),它不僅包含當(dāng)前幀的前景對(duì)象,還包含之前t ?1 幀相同邊界框中的內(nèi)容,其中t=8,時(shí)空立方體的寬度和高度均被調(diào)整為32。
本文提出了SP-MLMEGAN 方法,根據(jù)連續(xù)的幀序列初步預(yù)測(cè)未來幀序列,隨后預(yù)測(cè)下一時(shí)刻未來幀,基本定義如下:
定義1真實(shí)幀序列。真實(shí)幀序列SF由多個(gè)連續(xù)的真實(shí)視頻幀F(xiàn)i組成,即=,其中表示第t ?j到第t個(gè)真實(shí)幀的視頻序列。
定義2光流序列。光流序列SO由多個(gè)連續(xù)的真實(shí)幀對(duì)應(yīng)的光流Oi組成,即=,其中表示第t ?j到第t個(gè)真實(shí)幀對(duì)應(yīng)的光流序列。
定義3預(yù)測(cè)幀序列。預(yù)測(cè)幀序列由多個(gè)連續(xù)的預(yù)測(cè)幀組成,即=,其中表示第t ?j到第t個(gè)第1 次預(yù)測(cè)的幀序列,表示第n次預(yù)測(cè)的第i幀。
定義4預(yù)測(cè)函數(shù)。視頻序列通過預(yù)測(cè)函數(shù)預(yù)測(cè)未來幀。用φ1表示第1 次預(yù)測(cè)函數(shù),輸入真實(shí)視頻幀序列進(jìn)行第1 次預(yù)測(cè),則生成預(yù)測(cè)幀為
用φ2表示第2 次預(yù)測(cè)函數(shù),輸入預(yù)測(cè)幀序列和對(duì)應(yīng)真實(shí)幀的光流序列進(jìn)行第2 次預(yù)測(cè),則生成預(yù)測(cè)幀為
再用預(yù)測(cè)函數(shù)φ2對(duì)預(yù)測(cè)幀序列和真實(shí)幀序列對(duì)應(yīng)的光流序列進(jìn)行第2 次預(yù)測(cè),得到預(yù)測(cè)幀為
為了解決部分異常幀被誤判為正常幀的問題,在不同層次特征上添加記憶模塊。將編碼器產(chǎn)生的編碼特征作為查詢項(xiàng)檢索記憶內(nèi)存中最相關(guān)的內(nèi)存項(xiàng),再將這些內(nèi)存項(xiàng)聚合輸入到解碼器中。在訓(xùn)練階段,不斷更新記憶內(nèi)存中的內(nèi)存項(xiàng);在測(cè)試階段,從記憶內(nèi)存中選取最相關(guān)的內(nèi)存項(xiàng)聚合,使預(yù)測(cè)的未來幀更趨向于正常幀。擁有記憶模塊的自編碼器也應(yīng)用在視頻異常檢測(cè)領(lǐng)域中[13-14],但它們都是在編碼器最底層特征添加記憶模塊,只記錄最底層特征的語義信息。如果僅添加一個(gè)記憶模塊,就不能記錄所有正常模式,因此需要在多個(gè)不同層次特征均添加記憶模塊,有效地記錄多層特征的正常模式。
利用幀預(yù)測(cè)常見的Unet 網(wǎng)絡(luò)作為自編碼器和MLMEGAN 網(wǎng)絡(luò)中生成器的結(jié)構(gòu)。在Unet 網(wǎng)絡(luò)中,每層添加一個(gè)跳躍連接就可以獲取相同層次的特征,捕獲更多的上下文語義信息,解決每層信息不平衡的問題。不同于自編碼器結(jié)構(gòu),MLMEGAN 的生成器結(jié)構(gòu)將記憶模塊添加至每層特征跳躍連接之前,但過多的記憶模塊會(huì)過濾掉部分信息,使網(wǎng)絡(luò)無法記住最具代表性的正常模式。因此,在Unet 網(wǎng)絡(luò)第2 層、第3 層添加記憶模塊,生成器結(jié)構(gòu)如圖3所示。
圖3 MLMEGAN 的生成器結(jié)構(gòu)Figure 3 Generator structure of MLMEGAN
將記憶內(nèi)存設(shè)計(jì)成一個(gè)矩陣M ∈RN×C,其中包含N個(gè)維數(shù)為C的特征向量,記憶內(nèi)存M記錄訓(xùn)練過程中正常的模式。設(shè)定C和特征z的維數(shù)相同,于是有Z=RC;設(shè)行向量mi表示矩陣M中的一個(gè)記憶內(nèi)存項(xiàng),i表示矩陣M的第i行。給定一個(gè)查詢特征z ∈RC,通過檢索得到相似記憶內(nèi)存項(xiàng),并與系數(shù)wi相乘得到重構(gòu)特征?z為
式中:系數(shù)wi表示查詢特征z和記憶內(nèi)存項(xiàng)的相似性,可以表示為
式中:d() 表示相似性度量,可設(shè)置成余弦相似度
綜上所述,查詢特征z使用一定數(shù)量具有正常模式的記憶內(nèi)存項(xiàng)進(jìn)行聚合,有助于異常樣本形成較大的預(yù)測(cè)誤差,但仍有一些異常模式可能通過數(shù)量密集且相似度小的記憶內(nèi)存項(xiàng)聚合。為了防止異常特征通過較多記憶內(nèi)存項(xiàng)聚合,進(jìn)行組合的記憶內(nèi)存項(xiàng)應(yīng)越稀疏越好。利用收縮操作增大系數(shù)wi的稀疏性,可以表示為
式中:max(?,0) 表示ReLU 激活函數(shù),ε表示一個(gè)非常小的正標(biāo)量,λ為收縮閾值。
記憶模塊檢索出特征z最相似的記憶內(nèi)存項(xiàng),得到重構(gòu)特征?z。正常樣本可以經(jīng)過記憶模塊得到準(zhǔn)確的預(yù)測(cè),而異常樣本經(jīng)過具有正常模式的記憶內(nèi)存項(xiàng)聚合,得到的預(yù)測(cè)結(jié)果更趨向于正常,因此產(chǎn)生的預(yù)測(cè)誤差較大。
對(duì)于MLMEGAN 中的鑒別器,使用馬爾可夫鑒別器PatchGAN 作為幀鑒別器。不同于傳統(tǒng)的鑒別器,PatchGAN 先把圖像分割成N ×N的矩陣patch,再對(duì)所有patch 分別進(jìn)行判別,最后根據(jù)判別結(jié)果平均值判定該幀的真假。
考慮到預(yù)測(cè)幀序列并不清晰,如果只將預(yù)測(cè)幀序列作為輸入,那么很可能預(yù)測(cè)出更加模糊甚至異常的模式。不僅如此,單一的表觀信息并不能概括前景對(duì)象的全部特征,且大多數(shù)方法往往忽略了前景對(duì)象的運(yùn)動(dòng)信息,而這些反常的運(yùn)動(dòng)信息可用來檢測(cè)某些異常事件,如人行道上出現(xiàn)與行人速度不一致的車輛,有規(guī)律移動(dòng)的人群突然奔跑等。因此,利用FlowNet2網(wǎng)絡(luò)[15]提取的光流特征作為前景對(duì)象的運(yùn)動(dòng)特征,再將模糊的表觀特征和真實(shí)的運(yùn)動(dòng)特征融合后輸入MLMEGAN,如圖4所示。
圖4 特征融合圖Figure 4 Feature fusion graph
融合特征提供了真實(shí)的運(yùn)動(dòng)模式,而不完全使用預(yù)測(cè)出的虛假模式,從而減少運(yùn)動(dòng)特征被遺漏的可能性,豐富了前景對(duì)象的表觀特征和運(yùn)動(dòng)特征。
因?yàn)镾P-MLMEGAN 包含自編碼器和MLMEGAN,所以分別對(duì)兩次預(yù)測(cè)模型進(jìn)行訓(xùn)練。本文設(shè)Ft表示真實(shí)的第t幀圖像,表示第n次預(yù)測(cè)的第t幀圖像。為了使預(yù)測(cè)幀與真實(shí)幀盡可能相似,用強(qiáng)度損失和梯度損失進(jìn)行約束。
1.5.1 第1 次預(yù)測(cè)
梯度損失可通過計(jì)算視頻幀相鄰像素點(diǎn)之間的差距得到,即
式中:i和j分別表示視頻幀中像素的橫坐標(biāo)和縱坐標(biāo)。通過縮小預(yù)測(cè)幀相鄰像素點(diǎn)之間的距離和真實(shí)幀F(xiàn)t相鄰像素點(diǎn)之間的距離,使生成的預(yù)測(cè)幀更加清晰。
平衡上述兩個(gè)損失函數(shù)的權(quán)重,得到第1 次預(yù)測(cè)自編碼器的目標(biāo)函數(shù)為
式中:α和β為平衡這兩個(gè)損失函數(shù)的權(quán)重系數(shù)。
1.5.2 第2 次預(yù)測(cè)
MLMEGAN 包含生成器和鑒別器,兩者需要交替訓(xùn)練。生成器旨在生成一個(gè)接近真實(shí)的未來幀,并試圖欺騙鑒別器;而鑒別器則需要區(qū)分圖像是真實(shí)的還是虛假的。本文將強(qiáng)度損失Lint、梯度損失Lgd、稀疏性損失Lmem和生成器對(duì)抗性損失LGadv結(jié)合,構(gòu)成生成器的目標(biāo)函數(shù)為
式中:λint、λgd、λmem、λadv分別代表各自損失的權(quán)重。
MLMEGAN 中的記憶模塊會(huì)產(chǎn)生一個(gè)稀疏性損失Lmem為
式中:Q為記憶模塊數(shù)量,N為一個(gè)記憶模塊中的內(nèi)存項(xiàng)數(shù)量,為查詢特征和記憶內(nèi)存項(xiàng)的相似性系數(shù)。
為了生成接近真實(shí)圖像的預(yù)測(cè)幀,欺騙鑒別器,采用生成器對(duì)抗性損失公式為
為了鑒別真假圖像,將生成器生成的預(yù)測(cè)幀判斷為0,真實(shí)幀判斷為1,則鑒別器的目標(biāo)函數(shù)為
每個(gè)前景對(duì)象的異常分?jǐn)?shù)由自編碼器預(yù)測(cè)的異常分?jǐn)?shù)Sq和MLMEGAN 預(yù)測(cè)的異常分?jǐn)?shù)Sp組成,可以表示為
式中:wq和wp分別為權(quán)重系數(shù)。
自編碼器預(yù)測(cè)的異常分?jǐn)?shù)Sq為4 次預(yù)測(cè)的異常分?jǐn)?shù)總和,可以表示為
MLMEGAN 預(yù)測(cè)的異常分?jǐn)?shù)Sp為
式中:均方誤差(mean squared error,MSE)作為圖像相似性評(píng)價(jià)指標(biāo),可以表示為
由于一個(gè)視頻幀中包含多個(gè)前景對(duì)象,因此取一幀中前景對(duì)象最高的異常分?jǐn)?shù)作為該幀的異常分?jǐn)?shù)Sall,于是有
若該幀的異常分?jǐn)?shù)Sall大于設(shè)定的閾值T,則判定該幀為異常幀;相反,則判定該幀為正常幀,不包含異常事件。
本文在兩個(gè)公開數(shù)據(jù)集UCSD Ped2 和CUHK Avenue 上進(jìn)行實(shí)驗(yàn)驗(yàn)證。每個(gè)數(shù)據(jù)集都有訓(xùn)練集和測(cè)試集,而異常事件僅出現(xiàn)在測(cè)試集中。分別用UCSD Ped2 和CUHK Avenue 的正常視頻數(shù)據(jù)對(duì)模型進(jìn)行訓(xùn)練,在含有異常行為的視頻數(shù)據(jù)進(jìn)行測(cè)試。UCSD Ped2 數(shù)據(jù)集是在人行道上拍攝的行人走動(dòng)視頻,含有28 個(gè)視頻片段,其中16 個(gè)視頻序列全部為正常行為視頻,另外12 個(gè)視頻序列包含異常行為,如騎自行車、開小轎車、滑滑板等。每個(gè)視頻分辨率為240×360 像素。CUHK Avenue 數(shù)據(jù)集中的視頻是在地鐵口從平視角度拍攝的,含有37個(gè)視頻片段,其中16 個(gè)視頻序列全部為正常行為視頻,另外21 個(gè)視頻序列包含異常行為,如行人奔跑、扔擲雜物等。每個(gè)視頻分辨率為360×640 像素。
在訓(xùn)練和測(cè)試前,對(duì)數(shù)據(jù)集CUHK Avenue 和UCSD Ped2 中的視頻幀提取前景對(duì)象,使每個(gè)前景對(duì)象形成一個(gè)時(shí)空立方體,并將該時(shí)空立方體的圖像設(shè)置為32×32。整個(gè)實(shí)驗(yàn)在NVIDIA GeForce RTX3080 進(jìn)行訓(xùn)練和測(cè)試,以PyTorch 框架構(gòu)建相應(yīng)的模型,根據(jù)受試者工作特征(receiver operating characteristic,ROC)曲線下的面積(area under curve,AUC)評(píng)判模型的性能。當(dāng)自編碼器預(yù)測(cè)時(shí),將強(qiáng)度損失和梯度損失前面系數(shù)α和β均設(shè)置為1.0。當(dāng)MLMEGAN 預(yù)測(cè)時(shí),訓(xùn)練生成器的總目標(biāo)函數(shù)強(qiáng)度損失Lint、梯度損失Lgd、稀疏性損失Lmem和生成器目標(biāo)函數(shù)LGadv前面的系數(shù),并將λint、λgd、λmem、λadv分別設(shè)置為0.000 2、1.000 0、0.000 2、0.050 0。對(duì)于自編碼器預(yù)測(cè)的異常分?jǐn)?shù)Sq和MLMEGAN 預(yù)測(cè)的異常分?jǐn)?shù)Sp,其權(quán)重系數(shù)在Ped2 數(shù)據(jù)集分別設(shè)置為0.4 和0.6,在Avenue 數(shù)據(jù)集分別設(shè)置為0.3 和0.7。
本文用幀級(jí)別的AUC 進(jìn)行評(píng)估,AUC 值越高表示異常檢測(cè)的性能越好。若視頻幀中出現(xiàn)一個(gè)或多個(gè)異常事件,則判定該幀為異常幀。本文自編碼器預(yù)測(cè)的異常分?jǐn)?shù)Sq和MLMEGAN 預(yù)測(cè)的異常分?jǐn)?shù)Sp所對(duì)應(yīng)的權(quán)重系數(shù)wq和wp是兩個(gè)重要的參數(shù),因?yàn)檫@兩個(gè)權(quán)重系數(shù)比例的不同對(duì)單個(gè)視頻幀的異常分?jǐn)?shù)有著至關(guān)重要的影響。將wq與wp之和設(shè)置為1,在wp∈[0,1]范圍內(nèi)進(jìn)行調(diào)整,則在Ped2 和Avenue 數(shù)據(jù)集幀級(jí)別的AUC 結(jié)果如圖5所示。
圖5 在Ped2 和Avenue 數(shù)據(jù)集中不同wp 幀級(jí)別的AUC 結(jié)果Figure 5 Frame level AUC results of different wp in Ped2 dataset and Avenue dataset
從圖5中可以觀察到:當(dāng)Ped2 數(shù)據(jù)集的權(quán)重系數(shù)wq和wp分別設(shè)置為0.4 和0.6 且Avenue 數(shù)據(jù)集的權(quán)重系數(shù)wq和wp分別設(shè)置為0.3 和0.7 時(shí),幀級(jí)別AUC 最高,兩次預(yù)測(cè)的異常分?jǐn)?shù)比例權(quán)重最為合適。第2 次預(yù)測(cè)的異常分?jǐn)?shù)并不能代表最終的異常分?jǐn)?shù),因?yàn)榈? 次預(yù)測(cè)的異常分?jǐn)?shù)對(duì)整個(gè)異常分?jǐn)?shù)也有一定的影響,所以不能被忽略,這也驗(yàn)證了本文提出的SP-MLMEGAN 方法的有效性。
SP-MLMEGAN 方法在UCSD Ped2 和CUHK Avenue 數(shù)據(jù)集幀的級(jí)別ROC 曲線如圖6所示。
圖6 在Ped2 和Avenue 數(shù)據(jù)集的ROC 曲線Figure 6 ROC curve in Ped2 and Avenue dataset
為了展示SP-MLMEGAN 方法的有效性,本文還同視頻異常檢測(cè)的其他方法在UCSD Ped2 和CUHK Avenue 數(shù)據(jù)集上進(jìn)行了幀級(jí)別AUC 的比較,如表1所示。
由表1可以觀察到:本文方法在兩個(gè)基準(zhǔn)數(shù)據(jù)集上幀級(jí)別AUC 的結(jié)果均高于其他的視頻異常檢測(cè)方法。其中,文獻(xiàn)[17-18,20]提出了重構(gòu)和預(yù)測(cè)結(jié)合的方法,而本文直接串聯(lián)兩個(gè)預(yù)測(cè)模型并根據(jù)兩次預(yù)測(cè)誤差區(qū)分異常幀,故幀級(jí)別AUC 的結(jié)果明顯高于其他對(duì)比方法。尤其在Avenue 數(shù)據(jù)集上進(jìn)行幀預(yù)測(cè)能比單幀重構(gòu)保留更多的時(shí)空信息,因此選用二次預(yù)測(cè)方法。
表1 與其他方法的AUC 性能對(duì)比Table 1 Comparison of AUC performance with other methods
本文展示了Ped2 和Avenue 數(shù)據(jù)集中測(cè)試視頻4 的各幀異常分?jǐn)?shù),被紅色覆蓋的區(qū)域?yàn)楫惓?,如圖7所示??梢钥闯稣漠惓7?jǐn)?shù)較低,而包含異常事件的異常幀往往有較高的分?jǐn)?shù)。
圖7 Ped2 和Avenue 數(shù)據(jù)集中測(cè)試視頻4 的異常分?jǐn)?shù)Figure 7 Abnormal scores of test video 4 in Ped2 and Avenue dataset
本文針對(duì)兩個(gè)基準(zhǔn)數(shù)據(jù)集中的測(cè)試視頻4,選取了異常分?jǐn)?shù)處于較低區(qū)域的正常幀和較高區(qū)域的異常幀,其中異常事件已用綠色框標(biāo)注,如圖8所示。在Ped2 數(shù)據(jù)集中出現(xiàn)的車輛、騎自行車以及Avenue 數(shù)據(jù)集中出現(xiàn)的行人奔跑時(shí),會(huì)有較高的異常分?jǐn)?shù),從而可以判斷此時(shí)的幀為異常幀。
圖8 Ped2 和Avenue 數(shù)據(jù)集中測(cè)試視頻4 的正常幀和異常幀F(xiàn)igure 8 Normal and abnormal frames of test video 4 in Ped2 and Avenue dataset
2.3.1 SP-MLMEGAN 中各個(gè)組件的重要性
為了研究SP-MLMEGAN 方法中二次預(yù)測(cè)模型、添加記憶模塊和運(yùn)動(dòng)特征對(duì)性能的影響,在Ped2 和Avenue 數(shù)據(jù)集針對(duì)不同情況進(jìn)行消融實(shí)驗(yàn),所得結(jié)果如表2所示。其中,U1為第1 次預(yù)測(cè)網(wǎng)絡(luò),U2為第2 次預(yù)測(cè)網(wǎng)絡(luò)。
表2 各個(gè)組件的AUC 性能對(duì)比Table 2 Comparison of AUC performance with each component
從表2中可以看出:MLMEGAN 方法中添加多層記憶模塊能明顯改善模型性能,且第2次預(yù)測(cè)比單用一次自編碼器預(yù)測(cè)得到的幀級(jí)別AUC更大。此外,運(yùn)動(dòng)特征的融合又豐富了特征的表示,尤其在Ped2 數(shù)據(jù)集上添加了運(yùn)動(dòng)特征,使幀級(jí)別AUC 有明顯的提升,由此可知Ped2 數(shù)據(jù)集對(duì)運(yùn)動(dòng)特征更加敏感,更利于視頻異常檢測(cè)。因此,在第2 次預(yù)測(cè)階段添加多層記憶模塊和運(yùn)動(dòng)特征,可以進(jìn)一步提高準(zhǔn)確率。
2.3.2 記憶模塊位置和數(shù)量的影響
由于在網(wǎng)絡(luò)中記憶模塊的數(shù)量和位置對(duì)視頻異常檢測(cè)的效果均有一定的影響,因此在Ped2 和Avenue 數(shù)據(jù)集上對(duì)Unet 網(wǎng)絡(luò)的不同層次特征添加記憶模塊,得到的幀級(jí)別AUC 如圖9所示。
圖9 不同位置的記憶模塊在Ped2 和Avenue 數(shù)據(jù)集上的AUCFigure 9 AUC of memory module at different locations in Ped2 and Avenue dataset
隨著記憶模塊不斷添加到更高層特征上,幀級(jí)別AUC 先逐漸上升再緩慢下降。這可能是因?yàn)樵诘讓犹卣魈砑佑洃浤K而導(dǎo)致記錄的正常模式并不細(xì)致,所以應(yīng)該剔除正常模式含有的大量無關(guān)信息。如果在高層特征添加記憶模塊就可能丟失部分重要信息,使記錄的正常模式并不完全而預(yù)測(cè)不準(zhǔn)。本文還在多個(gè)層級(jí)特征添加記憶模塊進(jìn)行實(shí)驗(yàn),得到Ped2 和Avenue 數(shù)據(jù)集上的結(jié)果如表3所示。
表3 記憶模塊在不同位置的AUC 結(jié)果Table 3 AUC results of memory modules at different locations
在多層特征添加記憶模塊的實(shí)驗(yàn)表明:只添加一個(gè)記憶模塊并不能記錄所有正常模式,而只有在不同層次特征均添加記憶模塊才可以有效地記錄不同的語義信息。如果在Unet 網(wǎng)絡(luò)第2 層和第3 層添加記憶模塊,那么不僅可以剔除無關(guān)信息而且能保留大量重要信息,使模型發(fā)揮最優(yōu)性能。
本文提出了SP-MLMEGAN 視頻異常檢測(cè)方法,先用自編碼器初步預(yù)測(cè)未來幀序列,再串聯(lián)一個(gè)MLMEGAN 網(wǎng)絡(luò)二次預(yù)測(cè)未來幀,最后在兩個(gè)基準(zhǔn)數(shù)據(jù)集上進(jìn)行大量實(shí)驗(yàn),驗(yàn)證了該方法對(duì)視頻異常檢測(cè)的有效性。分析原因如下:1)兩次連續(xù)預(yù)測(cè)能增大未來幀預(yù)測(cè)誤差,更容易區(qū)分異常幀;2)第2 次預(yù)測(cè)將模糊的表觀特征和真實(shí)的運(yùn)動(dòng)特征融合,并在不同層次特征上添加記憶模塊,防止預(yù)測(cè)的視頻幀變得更加模糊;3)在不同層次特征上添加記憶模塊,可以更好地記錄不同層次的語義信息,加大預(yù)測(cè)幀和異常幀的差距。因此,本文方法明顯優(yōu)于以往的僅重構(gòu)或僅預(yù)測(cè)甚至重構(gòu)和預(yù)測(cè)相結(jié)合的方法。未來我們將進(jìn)一步考慮如何提升訓(xùn)練和測(cè)試的效率,降低時(shí)間復(fù)雜度,提高視頻異常檢測(cè)的實(shí)時(shí)性。