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