賈 晴,王來(lái)花,王偉勝
(曲阜師范大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院,山東 曲阜 273165)
傳統(tǒng)的視頻異常檢測(cè)[1]需要工作人員對(duì)海量的監(jiān)控?cái)?shù)據(jù)進(jìn)行長(zhǎng)期而嚴(yán)密的觀(guān)察來(lái)發(fā)現(xiàn)異常事件。這種檢測(cè)方式繁瑣且極易產(chǎn)生疲勞,容易造成關(guān)鍵信息的遺漏。為了準(zhǔn)確地發(fā)現(xiàn)異常事件并及時(shí)做出響應(yīng),設(shè)計(jì)一種高效、智能的視頻異常檢測(cè)方法變得愈來(lái)愈重要。因此,視頻異常檢測(cè)也成為近年來(lái)計(jì)算機(jī)視覺(jué)領(lǐng)域的熱門(mén)研究問(wèn)題之一。
異常事件的偶發(fā)性以及多樣性使得異常事件的數(shù)據(jù)很難收集;此外,異常事件的定義具有不明確性,使得同一行為的定義取決于所依賴(lài)的具體場(chǎng)景。例如奔跑這一行為發(fā)生在操場(chǎng)上被認(rèn)為是正常事件,但出現(xiàn)在公共場(chǎng)所則被認(rèn)為是異常行為。因此,視頻異常檢測(cè)仍然是一項(xiàng)充滿(mǎn)挑戰(zhàn)性的任務(wù)。
早期研究人員通常采用基于軌跡的或手工制作特征的方法進(jìn)行異常檢測(cè)。基于軌跡的方法[2]通過(guò)目標(biāo)跟蹤和目標(biāo)檢測(cè)等方法提取目標(biāo)對(duì)象的行為軌跡,建立正常行為軌跡模型,將與模型不匹配的行為判定為異常。這種方法在擁擠場(chǎng)景尤其是有遮擋或重疊的場(chǎng)景下很難檢測(cè)出異常。為解決這個(gè)問(wèn)題,研究者們后續(xù)提出了基于梯度直方圖[3]、光流直方圖[4]、混合動(dòng)態(tài)紋理模型[5]、社會(huì)力模型[6]等手工制作特征的方法,但這些異常檢測(cè)模型局限于底層特征,難以表征復(fù)雜的高維特征。
隨著深度學(xué)習(xí)的發(fā)展,深度學(xué)習(xí)模型[7-8]逐漸應(yīng)用到視頻異常檢測(cè)領(lǐng)域,克服了傳統(tǒng)異常檢測(cè)方法的局限性?;谡闹貥?gòu)誤差較小、而異常幀的重構(gòu)誤差較大的思想,研究人員提出了一系列基于幀重構(gòu)的異常檢測(cè)方法。Hasan等[9]提出了一種可以有效學(xué)習(xí)視頻規(guī)律的卷積自動(dòng)編碼(Convolutional AutoEncoder,Conv-AE)網(wǎng)絡(luò),通過(guò)構(gòu)建正常事件的模型來(lái)檢測(cè)視頻中的異常行為;Ionescu 等[10]提出一種基于Unmasking 框架的異常檢測(cè)模型Unmask(Unmasking),該模型通過(guò)訓(xùn)練二元分類(lèi)器來(lái)區(qū)分視頻序列,并根據(jù)訓(xùn)練準(zhǔn)確率判定異常。由于深度模型學(xué)習(xí)能力越來(lái)越強(qiáng),使得異常事件也可以被很好地重構(gòu),導(dǎo)致異常幀經(jīng)常被誤判為正常幀,降低了異常檢測(cè)的準(zhǔn)確率。因此,研究人員又基于正常行為可以預(yù)測(cè)、而異常事件不可預(yù)測(cè)的思想,提出了基于幀預(yù)測(cè)的異常檢測(cè)方法。Liu 等[11]提出一種基于U-net 的未來(lái)幀預(yù)測(cè)(Frame Prediction,F(xiàn)P)的異常檢測(cè)方法。該方法首先根據(jù)視頻幀的歷史信息預(yù)測(cè)下一幀,然后利用預(yù)測(cè)幀和真實(shí)幀之間的差別來(lái)檢測(cè)異常。Zhou 等[12]提出一種注意力驅(qū)動(dòng)(Attention Driven,AD)的未來(lái)幀預(yù)測(cè)模型,該模型解決了前景與背景之間的不平衡問(wèn)題,將更多的注意力放在視頻幀前景以提高異常檢測(cè)準(zhǔn)確度。此外,F(xiàn)an 等[13]提出了基于高斯混合變分自編碼(Gaussian Mixture Fully Convolutional Variational AutoEncoder,GMFC-VAE)網(wǎng)絡(luò)的異常檢測(cè)方法,分別利用RGB 視頻幀與動(dòng)態(tài)流提取外觀(guān)和時(shí)間信息以檢測(cè)異常事件。Deepak 等[14]提出了一種由3D 卷積層、反卷積層和卷積長(zhǎng)短記憶(Convolutional Long Short-term Memory,ConvLSTM)網(wǎng)絡(luò)組成的殘差時(shí)空自編碼(Residual SpatioTemporal AutoEncoder,R-STAE)網(wǎng)絡(luò),通過(guò)學(xué)習(xí)正常事件的行為規(guī)律,并將偏離正常模式的行為判定為異常。Nawaratne 等[15]結(jié)合卷積層和ConvLSTM 網(wǎng)絡(luò)提出了基于增量時(shí)空學(xué)習(xí)器的異常檢測(cè)方法,利用主動(dòng)學(xué)習(xí)不斷更新和區(qū)分視頻幀中的正常和異常行為。Yan 等[16]提出了由外觀(guān)流和運(yùn)動(dòng)流組成的雙流循環(huán)變分自編碼(Two-Stream Recurrent Variational AutoEncoder,R-VAE)網(wǎng)絡(luò),通過(guò)融合空間信息和時(shí)間信息來(lái)檢測(cè)異常事件。幀預(yù)測(cè)方法優(yōu)化了異常檢測(cè)模型的性能,提高了異常事件的檢測(cè)準(zhǔn)確率,但仍存在一些問(wèn)題。例如,文獻(xiàn)[11-12]中通過(guò)提取光流信息來(lái)約束運(yùn)動(dòng)信息,但無(wú)法捕獲長(zhǎng)期運(yùn)動(dòng)信息;文獻(xiàn)[13]中利用由連續(xù)光流幀組成的動(dòng)態(tài)流捕獲運(yùn)動(dòng)信息,獲取了視頻幀之間的長(zhǎng)期時(shí)間信息,但是對(duì)動(dòng)態(tài)流的處理提高了模型訓(xùn)練的時(shí)間復(fù)雜度;文獻(xiàn)[14-16]中利用卷積長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)對(duì)時(shí)間信息建模,由于該網(wǎng)絡(luò)存在梯度衰減問(wèn)題,導(dǎo)致異常檢測(cè)性能并沒(méi)有得到顯著的提升。
為解決上述問(wèn)題,本文提出了融合獨(dú)立循環(huán)神經(jīng)網(wǎng)絡(luò)(Independently Recurrent Neural Network,IndRNN)[17]和變分自編碼(Variational AutoEncoder,VAE)網(wǎng)絡(luò)[18]的預(yù)測(cè)網(wǎng)絡(luò)IndRNN-VAE(Independently Recurrent Neural Network-Variational AutoEncoder)。該網(wǎng)絡(luò)在保留視頻幀空間信息的同時(shí),能更有效地獲取視頻幀之間的時(shí)間信息。在幀預(yù)測(cè)的過(guò)程中,首先,將視頻序列逐幀輸入到VAE 的編碼網(wǎng)絡(luò),以提取空間結(jié)構(gòu)信息;然后,對(duì)捕獲的空間信息通過(guò)全連接層進(jìn)行線(xiàn)性變換等操作得到潛在特征,進(jìn)而利用獨(dú)立循環(huán)神經(jīng)網(wǎng)絡(luò)獲取視頻幀之間的時(shí)間信息;最后,將潛在特征與時(shí)間信息進(jìn)行融合并輸入到解碼網(wǎng)絡(luò),預(yù)測(cè)出下一幀信息。在模型訓(xùn)練的過(guò)程中,為了提升預(yù)測(cè)幀與真實(shí)幀的相似性,引入了全變分損失、多尺度結(jié)構(gòu)相似性損失和L1 損失的混合損失等損失函數(shù)。此外,為生成符合高斯分布的潛在特征分布,引入了生成對(duì)抗網(wǎng)絡(luò)[19]對(duì)生成器(由編碼網(wǎng)絡(luò)和潛在特征處理模塊中的全連接層FC1、FC2 組成的)和判別器進(jìn)行對(duì)抗訓(xùn)練。
異常檢測(cè)的整體流程如圖1 所示,在訓(xùn)練階段將連續(xù)4幀正常幀作為IndRNN-VAE 網(wǎng)絡(luò)的輸入來(lái)生成預(yù)測(cè)幀,并從中學(xué)習(xí)正常事件的規(guī)律特性;在測(cè)試階段將含有異常事件的測(cè)試幀輸入到已訓(xùn)練好的預(yù)測(cè)網(wǎng)絡(luò)IndRNN-VAE 中,得到預(yù)測(cè)幀。由于正常預(yù)測(cè)幀的圖像質(zhì)量更高,而異常預(yù)測(cè)幀的圖像質(zhì)量較差,可以通過(guò)計(jì)算真實(shí)幀Ιt+1與預(yù)測(cè)幀之間的峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)值,進(jìn)而得到異常得分來(lái)判斷是否發(fā)生了異常事件。
圖1 視頻異常檢測(cè)整體流程Fig.1 Overall flowchart of video anomaly detection
1.1.1 編碼網(wǎng)絡(luò)
由于變分自編碼(VAE)在圖像生成中的優(yōu)越性,本文采用VAE 的編碼網(wǎng)絡(luò)提取輸入視頻幀的空間結(jié)構(gòu)信息。如圖2 所示,編碼網(wǎng)絡(luò)Encoder 由4 個(gè)Module 模塊組成:Module1~Module3 均由兩個(gè)卷積塊與一層2×2 的最大池化層組成,Module4 由兩個(gè)卷積塊組成。其中,每個(gè)卷積塊均由一個(gè)2 維的3×3 的卷積層、一個(gè)BN(Batch Normalization)層以及一個(gè)ReLU(Rectified Linear Unit)激活函數(shù)層組成。
圖2 IndRNN-VAE網(wǎng)絡(luò)模型Fig.2 IndRNN-VAE network model
在進(jìn)行空間特征提取時(shí),首先,將大小為256×256×3的連續(xù)4 幀視頻幀依次輸入Module1 模塊進(jìn)行處理,得到大小為128×128×64 的特征圖;然后,每經(jīng)一個(gè)Module 模塊,特征圖數(shù)量增加一倍,每經(jīng)過(guò)一次最大池化層處理,特征圖的分辨率減少為原來(lái)的1/2。經(jīng)過(guò)Module1~Module4 四層處理后,最終得到大小為32×32×512 的空間特征。
1.1.2 潛在特征處理
為保持預(yù)測(cè)圖像的時(shí)空連續(xù)性,本文模型除了要獲取視頻幀的空間結(jié)構(gòu)信息,還需要學(xué)習(xí)連續(xù)視頻幀之間的時(shí)間關(guān)系。在圖2 中的潛在特征處理Latent 部分,本文利用獨(dú)立循環(huán)神經(jīng)網(wǎng)絡(luò)IndRNN 對(duì)編碼網(wǎng)絡(luò)捕獲的空間結(jié)構(gòu)信息進(jìn)一步處理,從中獲取視頻幀序列間的時(shí)間信息。具體步驟如下:
步驟1 對(duì)編碼網(wǎng)絡(luò)提取的空間結(jié)構(gòu)特征分別通過(guò)全連接層FC1、FC2 進(jìn)行線(xiàn)性變換操作,得到均值為μ、方差為σ的高斯分布,然后從高斯分布中采樣得到一個(gè)大小為4 096×20 的潛在特征分布Z_sampling,即輸入數(shù)據(jù)編碼后的特征分布。經(jīng)過(guò)一次線(xiàn)性變化和尺度調(diào)整后,得到與編碼器最終輸出大小保持一致的潛在特征z。
步驟2 如圖3 所示,將獲得的連續(xù)4 個(gè)潛在特征zt-3~zt循環(huán)輸入到循環(huán)IndRNN 中,得到時(shí)間信息以及最終的隱藏狀態(tài)ht:
圖3 循環(huán)IndRNNFig.3 Cyclically Independently recurrent neural network
其中:t代表輸入的連續(xù)視頻幀的第t幀表示預(yù)測(cè)得到的第t+1 幀的時(shí)間信息。在循環(huán)訓(xùn)練中,首先對(duì)潛在特征zt-3進(jìn)行全連接操作;然后將初始隱藏狀態(tài)ht-4與循環(huán)權(quán)重進(jìn)行向量點(diǎn)乘;最后輸入到ReLU 激活函數(shù)中得到下一層隱藏狀態(tài)ht-3:
其中:zt-3表示輸入潛在特征序列的第t-3 幀,ht-4表示第t-4 幀的隱藏狀態(tài),W表示輸入權(quán)重矩陣,c表示循環(huán)權(quán)重向量,b表示偏差,?代表Hadamard 乘積。將得到的隱藏狀態(tài)ht-3與下一幀潛在特征zt-2結(jié)合,再次輸入IndRNN,經(jīng)過(guò)不斷循環(huán)訓(xùn)練,最終得到下一幀時(shí)間信息。
步驟3 為了融合時(shí)空信息,保留時(shí)空間的聯(lián)系,本文引入了殘差塊,將最終得到的時(shí)間信息與潛在特征按通道數(shù)所在維度進(jìn)行拼接,作為解碼器的輸入以生成新的下一幀信息。
1.1.3 解碼網(wǎng)絡(luò)
如圖2 中Decoder 模塊所示,與編碼器網(wǎng)絡(luò)對(duì)稱(chēng),解碼網(wǎng)絡(luò)也由4 個(gè)Group 模塊組成。Group1~Group3 模塊均由兩個(gè)卷積塊及一個(gè)反卷積塊組成,而Group4 由兩個(gè)卷積塊、一層2 維3×3 的卷積層以及一層Tanh 激活函數(shù)組成。其中,反卷積塊由一個(gè)BN 層、一個(gè)ReLU 激活函數(shù)層以及一個(gè)大小為3×3 的反卷積層組成。
生成預(yù)測(cè)幀的具體過(guò)程如下:首先,將大小為32×32 ×1 024 的時(shí)空融合信息輸入解碼網(wǎng)絡(luò);然后,經(jīng)Group1~Group3 模塊處理后,特征圖數(shù)量減少一半,經(jīng)反卷積塊操作后,特征分辨率增加一倍;最后,通過(guò)解碼網(wǎng)絡(luò)的Group4 模塊處理后,得到大小為256×256×3 的預(yù)測(cè)幀。
在模型訓(xùn)練過(guò)程中,基于輸入數(shù)據(jù)的潛在特征分布Z_sampling服從高斯分布的假設(shè)[18],本文利用生成對(duì)抗網(wǎng)絡(luò)[20]來(lái)生成近似于真實(shí)特征分布Z_real(Z_real從預(yù)先定義的高斯分布p(d)中采樣)的潛在特征分布Z_sampling。此外,為提高預(yù)測(cè)幀與真實(shí)幀的相似度,本文利用了梯度損失、多尺度結(jié)構(gòu)相似性損失和L1 損失的混合損失、全變分損失等損失函數(shù)對(duì)IndRNN-VAE 網(wǎng)絡(luò)施加約束。
1.2.1 對(duì)抗訓(xùn)練
如圖4 所示,生成對(duì)抗網(wǎng)絡(luò)由1 個(gè)生成器(Generator,G)和1 個(gè)判別器(Discriminator,D)組成,其中,編碼網(wǎng)絡(luò)與潛在特征處理模塊中的全連接層FC1 和FC2 組合充當(dāng)生成器,判別器由3 個(gè)全連接層構(gòu)成。在IndRNN-VAE 網(wǎng)絡(luò)中的生成器訓(xùn)練中,生成器試圖欺騙判別器,使判別器認(rèn)為潛在特征分布Z_sampling來(lái)自預(yù)先定義的標(biāo)準(zhǔn)高斯分布p(d)。經(jīng)過(guò)循環(huán)往復(fù)的訓(xùn)練,使?jié)撛谔卣鞣植糧_sampling與真實(shí)特征分布Z_real逐漸接近。生成器對(duì)抗損失函數(shù)LG為:
圖4 模型訓(xùn)練結(jié)構(gòu)示意圖Fig.4 Schematic diagram of model training structure
當(dāng)生成器訓(xùn)練結(jié)束后,固定其參數(shù),對(duì)判別器進(jìn)行訓(xùn)練,其損失函數(shù)LD表示如下:
其中:(i,j)表示圖像像素的空間索引,D(?)表示判別器,G(?)表示生成器,I表示輸入的視頻幀,Z_real表示輸入的真實(shí)特征分布。
1.2.2 IndRNN-VAE網(wǎng)絡(luò)訓(xùn)練
通過(guò)生成對(duì)抗訓(xùn)練,IndRNN-VAE 網(wǎng)絡(luò)中的生成器生成符合高斯分布的潛在特征分布Z_sampling,然后經(jīng)Latent 模塊處理后輸出融合信息,將其作為解碼網(wǎng)絡(luò)的輸入以生成預(yù)測(cè)幀。為使生成的預(yù)測(cè)幀更加接近真實(shí)幀It+1,如圖4所示,本文還利用了梯度損失、多尺度結(jié)構(gòu)相似性損失和L1損失的混合損失、全變分損失等損失函數(shù)對(duì)IndRNN-VAE 網(wǎng)絡(luò)進(jìn)行約束,目標(biāo)損失函數(shù)L為:
其中:λgdl、λmix、λtvl分別為梯度損失、混合損失、全變分損失的權(quán)重值。
在式(5)中,為增強(qiáng)圖像的邊緣和灰度跳變部分,保證圖像的清晰度,引入了梯度損失函數(shù)Lgdl:
其中:(i,j)表示圖像像素的空間索引,‖?‖1表示L1 范數(shù)。為保持亮度和顏色信息不變以及保留圖像邊緣細(xì)節(jié)信息,本文引入了混合損失函數(shù)Lmix:
其中:a、b分別為多尺度結(jié)構(gòu)相似性損失Lms?ssim和L1 損失Llad的權(quán)重。
為了降低噪聲對(duì)生成圖像的影響,同時(shí)保持圖像的光滑,引入了全變分損失函數(shù)Ltvl:
其中:(i,j)表示圖像像素的空間索引;β用來(lái)控制圖像的平滑程度,本文依據(jù)Mahendran 等[21]的參數(shù)設(shè)置,將β置為2。
當(dāng)預(yù)測(cè)網(wǎng)絡(luò)IndRNN-VAE 訓(xùn)練結(jié)束后,在測(cè)試階段加載該模型生成預(yù)測(cè)幀。本文參考Liu 等[11]的方法,通過(guò)計(jì)算真實(shí)幀It+1與預(yù)測(cè)幀之間的異常得分來(lái)判斷異常。首先計(jì)算真實(shí)幀與異常幀的均方誤差,得到每一幀的PSNR 值:
其中:i表示像素索引,N表示視頻幀的像素總數(shù)表示視頻幀中的最大顏色數(shù),PSNR 值越高表示生成的圖像質(zhì)量越好。由于網(wǎng)絡(luò)在訓(xùn)練階段只學(xué)習(xí)了正常事件的規(guī)律特征,在測(cè)試階段生成的異常預(yù)測(cè)幀與真實(shí)幀之間存在比較大的誤差,即式(9)中值較高,使得PSNR 值變小,生成的異常預(yù)測(cè)幀的圖像質(zhì)量較差。然后將PSNR 值歸一化到[0,1]區(qū)間,得到視頻幀的異常分?jǐn)?shù)
其中:psnrmin、psnrmax分別表示所測(cè)試視頻數(shù)據(jù)集的PSNR 的最小值和最大值。由于異常預(yù)測(cè)幀的圖像質(zhì)量較差,即式(10)中的PSNR 值較低,且S()值隨著PSNR 值的減小而減小,導(dǎo)致異常預(yù)測(cè)幀的異常分?jǐn)?shù)S()偏低。因此,最后根據(jù)每一幀所得的異常分?jǐn)?shù)S()判斷異常,視頻幀所獲異常得分越低,表明異常事件發(fā)生的可能性越大。
UCSD Ped1 數(shù)據(jù)集是通過(guò)固定在學(xué)校人行道較高位置的攝像頭拍攝的,記錄了行人逐漸靠近和離開(kāi)攝像機(jī)的場(chǎng)景,包含了分辨率為238×158 的34 個(gè)訓(xùn)練視頻片段和36 個(gè)測(cè)試視頻片段。每個(gè)視頻片段由200 幀組成,其中異常的事件是出現(xiàn)在人行道上的自行車(chē)、滑板以及小汽車(chē)。
UCSD Ped2 數(shù)據(jù)集中行人移動(dòng)的路徑與攝像機(jī)記錄的場(chǎng)景平行,由16 個(gè)訓(xùn)練視頻片段和12 個(gè)測(cè)試視頻片段組成,分辨率為360×240。異常行為包括騎車(chē)、突然出現(xiàn)的大卡車(chē)等。
Avenue 數(shù)據(jù)集包括16 個(gè)訓(xùn)練集和21 個(gè)測(cè)試集,總共有30 652 個(gè)視頻幀,分辨率為640×360。異常事件包含行人走錯(cuò)方向、游蕩以及跑步等。圖5 給出了3 個(gè)數(shù)據(jù)集的異常事件的示例,異常事件用方框框出。
圖5 不同數(shù)據(jù)集的異常事件示例Fig.5 Examples of abnormal events in different datasets
為評(píng)估模型性能,本文利用曲線(xiàn)下面積(Area Under Curve,AUC)以及等錯(cuò)誤率(Equal Error Rate,EER)作為評(píng)價(jià)指標(biāo)。AUC 值通過(guò)繪制由假正率、真正率作為橫縱坐標(biāo)軸的接收者操作特征曲線(xiàn)并計(jì)算其與橫軸之間的面積得到。AUC 值越大,表明模型的性能效果越好。EER 的值為接收者操作特征曲線(xiàn)與由坐標(biāo)(0,1)、(1,0)構(gòu)成的直線(xiàn)相交點(diǎn)的橫坐標(biāo)值,其數(shù)值越小則模型效果越好。
在實(shí)驗(yàn)的過(guò)程中,每個(gè)視頻幀的分辨率均被調(diào)整為256×256,同時(shí)對(duì)像素值進(jìn)行了歸一化處理。實(shí)驗(yàn)中判別器的學(xué)習(xí)率設(shè)置為0.000 5,生成器的學(xué)習(xí)率設(shè)置為0.001。損失函數(shù)權(quán)重在不同的數(shù)據(jù)集差別不大,當(dāng)λgdl=0.1、λmix=1、λtvl=0.01 時(shí),UCSD Ped1、UCSD Ped2 數(shù)據(jù)集實(shí)驗(yàn)效果最好;當(dāng)λgdl=1、λmix=10、λtvl=0.01 時(shí),Avenue 數(shù)據(jù)集實(shí)驗(yàn)效果最好。為了更有效地提取時(shí)間信息,本文設(shè)置連續(xù)輸入視頻幀數(shù)為4 幀,每次循環(huán)的IndRNN 層數(shù)為5 層。
為驗(yàn)證本文方法的有效性,如表1 所示,本文在UCSD Ped1(以下簡(jiǎn)稱(chēng)Ped1)、UCSD Ped2(以下簡(jiǎn)稱(chēng)Ped2)和Avenue三個(gè)數(shù)據(jù)集上與近些年主流研究方法Conv-AE[9]、Unmask[10]、FP[11]、AD[12]、GMFC-VAE[13]、R-STAE[14]、R-VAE[16]進(jìn)行了實(shí)驗(yàn)對(duì)比,其中對(duì)比方法的結(jié)果數(shù)據(jù)均來(lái)自相應(yīng)的參考文獻(xiàn)。
表1 相關(guān)異常檢測(cè)方法的AUC值和EER值對(duì)比 單位:%Tab.1 AUC value and EER value comparison of related abnormal detection methods unit:%
由表1 可得,與其他異常檢測(cè)方法相比,本文方法的檢測(cè)性能有了明顯提升,在Ped1、Ped2 和Avenue 數(shù)據(jù)集上的AUC 值和EER 值達(dá)到84.3%、22.7%、96.2%、8.8% 和86.6%、19.0%。與GMFC-VAE 方法相比,本文方法的性能在Ped2、Avenue 數(shù)據(jù)集達(dá)到了最優(yōu),在Ped1 數(shù)據(jù)集上表現(xiàn)效果欠佳。這是由于Ped1 數(shù)據(jù)集分辨率較低,GMFC-VAE 方法利用雙流網(wǎng)絡(luò)更容易識(shí)別特征,并且該方法利用動(dòng)態(tài)流能夠捕獲長(zhǎng)時(shí)間的運(yùn)動(dòng)特征,因此GMFC-VAE 方法在Ped1 數(shù)據(jù)集上取得了較好的性能。
為進(jìn)一步驗(yàn)證本文方法的有效性,本文使用每秒生成幀數(shù)(Frames Per Socond,F(xiàn)PS)作為時(shí)間性能指標(biāo),并與相關(guān)異常檢測(cè)方法進(jìn)行了時(shí)間復(fù)雜度的對(duì)比。表2 給出了對(duì)比結(jié)果。
本文方法在NVIDIA Tesla V100 GPU 上運(yùn)行,采用pytorch 平臺(tái)上的Python 語(yǔ)言進(jìn)行編程,得到時(shí)間性能為28 FPS。通過(guò)觀(guān)察表2 可以發(fā)現(xiàn),與其他異常檢測(cè)方法相比,本文方法具有較好的時(shí)間性能。文獻(xiàn)[13]中所提GMFCVAE 模型未提供時(shí)間性能指標(biāo),但該方法利用雙流(stream)網(wǎng)絡(luò)分別提取時(shí)間和空間特征,然后進(jìn)行融合。然而動(dòng)態(tài)流的獲取首先需要提取視頻幀的光流信息,然后通過(guò)Ranking SVM 排序算法對(duì)光流信息訓(xùn)練。光流信息的提取有較高的計(jì)算成本,且利用Ranking SVM 訓(xùn)練額外增加了預(yù)處理時(shí)間成本。本文方法不需要對(duì)輸入數(shù)據(jù)進(jìn)行預(yù)處理,節(jié)約了時(shí)間成本。
表2 相關(guān)異常檢測(cè)方法的時(shí)間性能對(duì)比Tab.2 Time performance comparison of related abnormal detection methods
此外,本文在Ped1、Ped2 和Avenue 三個(gè)數(shù)據(jù)集上分別計(jì)算了正常幀和異常幀平均異常得分的差值ΔS,ΔS的值越大表明越能正確區(qū)分正常幀與異常幀。如表3 所示,與重構(gòu)模型Conv-AE[9]以及未來(lái)幀預(yù)測(cè)模型的基準(zhǔn)方法FP[11]進(jìn)行對(duì)比,可以發(fā)現(xiàn)本文方法得到的ΔS值分別為0.263、0.497、0.293,均大于其他兩種對(duì)比方法的ΔS值,這說(shuō)明了本文方法區(qū)分正常幀和異常幀的能力比較強(qiáng)。
表3 不同數(shù)據(jù)集上的差值ΔS對(duì)比Tab.3 Difference value ΔS comparison on different datasets
圖6~8 給出了本文所提方法在Ped1、Ped2 和Avenue 數(shù)據(jù)集中的一段視頻片段的異常分?jǐn)?shù)和對(duì)應(yīng)的視頻標(biāo)簽值的可視化結(jié)果。異常事件分別為Ped1 和Ped2 數(shù)據(jù)集中騎車(chē)與滑滑板以及Avenue 數(shù)據(jù)集跑步與做奇怪的動(dòng)作等。通過(guò)可視化結(jié)果可以得出正常事件的異常分?jǐn)?shù)曲線(xiàn)呈平穩(wěn)狀態(tài),分?jǐn)?shù)值趨近于1,當(dāng)異常事件出現(xiàn)時(shí),異常分?jǐn)?shù)曲線(xiàn)會(huì)有明顯的下降趨勢(shì)變化,異常得分接近于0。這說(shuō)明本文方法對(duì)異常事件的發(fā)生十分敏感,并能準(zhǔn)確響應(yīng)。
圖6 Ped1數(shù)據(jù)集上視頻幀的異常分?jǐn)?shù)Fig.6 Anomaly scores of video frames on Ped1 dataset
圖7 Ped2數(shù)據(jù)集上視頻幀的異常分?jǐn)?shù)Fig.7 Anomaly scores of video frames on Ped2 dataset
圖8 Avenue數(shù)據(jù)集上視頻幀的異常分?jǐn)?shù)Fig.8 Anomaly scores of video frames on Avenue dataset
2.5.1 IndRNN層數(shù)分析
為了分析IndRNN 層數(shù)對(duì)異常檢測(cè)性能的影響,本文設(shè)置了不同的網(wǎng)絡(luò)層數(shù)值,并在Ped2 數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),圖9 顯示了不同層數(shù)下的模型檢測(cè)性能。通過(guò)觀(guān)察可知,當(dāng)IndRNN 層數(shù)為5 層時(shí),模型的性能達(dá)到最優(yōu),故本文將IndRNN 的層數(shù)設(shè)置為5。
圖9 Ped2數(shù)據(jù)集上不同層數(shù)的AUC值Fig.9 AUC values of different layers on Ped2 dataset
2.5.2 模型分析
為了驗(yàn)證本文所提方法的每個(gè)模塊都發(fā)揮了作用,在Ped2 數(shù)據(jù)集上進(jìn)行了對(duì)比實(shí)驗(yàn)。首先,分析加入時(shí)間信息的效果,本文設(shè)計(jì)實(shí)現(xiàn)了一個(gè)只含有編解碼結(jié)構(gòu),沒(méi)有IndRNN 的模型變體,稱(chēng)為Base;然后,測(cè)試加入IndRNN 時(shí)間模塊的效果,得到Base+IndRNN 模型。通過(guò)觀(guān)察表4,發(fā)現(xiàn)性能有了明顯的提升,與Base 模型相比AUC 值提高1.6 個(gè)百分點(diǎn),EER 值降低1.5 個(gè)百分點(diǎn),驗(yàn)證了使用IndRNN 捕獲時(shí)間信息的有效性。同時(shí)為了驗(yàn)證加入生成對(duì)抗網(wǎng)絡(luò)GAN 的異常檢測(cè)性能效果,設(shè)計(jì)了Base+IndRNN+GAN 模型。觀(guān)察表4發(fā)現(xiàn),相較于Base+IndRNN 模型,AUC 值提高0.6 個(gè)百分點(diǎn),EER 值降低2.1 個(gè)百分點(diǎn)。因此,將變分自編碼器、IndRNN以及生成對(duì)抗網(wǎng)絡(luò)組合在一起可以達(dá)到更好的異常檢測(cè)效果。
表4 網(wǎng)絡(luò)中不同模塊組合的性能 單位:%Tab.4 Performance of different module combinations in network unit:%
2.5.3 損失函數(shù)分析
為了分析損失函數(shù)對(duì)異常檢測(cè)性能的影響,在Ped2 數(shù)據(jù)集上進(jìn)行了不同損失函數(shù)組合的實(shí)驗(yàn)測(cè)試。通過(guò)觀(guān)察表5 可以發(fā)現(xiàn),梯度損失+混合損失的損失組合比梯度損失+多尺度結(jié)構(gòu)相似性損失的損失組合性能提升了2 個(gè)百分點(diǎn)。加入全變分損失后,性能提升了0.3 個(gè)百分點(diǎn),這驗(yàn)證了混合損失與全變分損失的有效性。由于加入混合損失后模型性能提升更明顯,進(jìn)一步說(shuō)明了混合損失在網(wǎng)絡(luò)訓(xùn)練中發(fā)揮著更重要的作用,在參數(shù)調(diào)整時(shí),也賦予了梯度損失和混合損失更高的權(quán)重值。
表5 網(wǎng)絡(luò)中不同損失函數(shù)組合的性能 單位:%Tab.5 Performance of different loss functions combinations in network unit:%
本文提出的IndRNN-VAE 預(yù)測(cè)網(wǎng)絡(luò)分別利用變分自編碼器和獨(dú)立循環(huán)神經(jīng)網(wǎng)絡(luò)提取空間結(jié)構(gòu)信息和時(shí)間信息,并將它們進(jìn)行了有效的融合。為了使預(yù)測(cè)幀盡可能地接近真實(shí)幀,本文引入了全變分損失、多尺度結(jié)構(gòu)相似性損失與L1損失的混合損失等損失函數(shù)對(duì)IndRNN-VAE 進(jìn)行訓(xùn)練。在IndRNN-VAE 訓(xùn)練的過(guò)程中,為了獲得服從標(biāo)準(zhǔn)高斯分布的潛在特征分布,本文引入了生成對(duì)抗網(wǎng)絡(luò)。此外,本文在UCSD Ped1、UCSD Ped2、Avenue 三個(gè)典型數(shù)據(jù)集上進(jìn)行了大量的實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,與主流方法相比,本文所提方法的性能達(dá)到了較高的水平。