肖進(jìn)勝 申夢(mèng)瑤 江明俊 雷俊峰 包振宇
隨著監(jiān)控?cái)z像頭的廣泛使用,其在維護(hù)社會(huì)安全、進(jìn)行法律取證等方面凸顯日益重要的作用.由于監(jiān)控視頻與審查人員數(shù)量不對(duì)等,大量監(jiān)控視頻無(wú)法得到有效處理.因此對(duì)視頻監(jiān)控進(jìn)行自動(dòng)智能分析十分必要.視頻在時(shí)間維度上蘊(yùn)含豐富信息,但其高維度的特性也使特征表達(dá)更為復(fù)雜而難以完整地提取;此外,視頻中包含大量的交互行為,增加了視頻處理的難度.在異常行為的界定上,類(lèi)似行為在不同場(chǎng)景會(huì)被認(rèn)為是不同的行為類(lèi)型.例如汽車(chē)行駛在車(chē)行道上屬于正常行為,出現(xiàn)在人行道中則屬于異常行為.異常行為種類(lèi)多、時(shí)間短、判別困難,很難找到大量數(shù)據(jù)進(jìn)行深層網(wǎng)絡(luò)訓(xùn)練.這些問(wèn)題給視頻異常行為檢測(cè)帶來(lái)巨大的挑戰(zhàn).
本文主要針對(duì)步行行人群體場(chǎng)景進(jìn)行異常行為檢測(cè).異常行為定義為緩慢人群中的快速運(yùn)動(dòng)如騎車(chē)、奔跑、高空墜物等.本文將用于異常檢測(cè)的經(jīng)典數(shù)據(jù)集進(jìn)行整合和事件重標(biāo)注,使其與本文所要解決的問(wèn)題契合,并在該數(shù)據(jù)集上進(jìn)行與其他算法的對(duì)比測(cè)試.測(cè)試結(jié)果表明,本文算法在指標(biāo)上有較大的優(yōu)勢(shì).本文第1 節(jié)介紹了異常事件檢測(cè)方面的相關(guān)工作;第2 節(jié)介紹本文提出的異常檢測(cè)算法,給出算法中各模塊和損失函數(shù)的具體介紹;第3 節(jié)首先說(shuō)明數(shù)據(jù)集的生成,然后分析了本文算法的實(shí)驗(yàn)效果,并與其他算法進(jìn)行對(duì)比,在多個(gè)指標(biāo)上進(jìn)行分析與評(píng)價(jià);第4 節(jié)給出全文總結(jié).
視頻異常事件檢測(cè)受多種因素掣肘而極具挑戰(zhàn)性,例如: 異常視頻數(shù)量少、異常事件難以定義且種類(lèi)繁多.因此,很難找到一個(gè)具有概括力的模型囊括所有異常事件,所以學(xué)者們大多從提取視頻特征的角度出發(fā),尋找異常視頻最具表現(xiàn)力的特征表示方法.視頻特征的人工提取方法著重提取分析低層次視覺(jué)特征,如導(dǎo)向梯度直方圖[1]、光流圖[2]、主成分分析[3]等.文獻(xiàn)[4]中探索了多流手動(dòng)特征進(jìn)行視頻表達(dá)的方法,構(gòu)造了由時(shí)空向量和位置向量組成的視頻立體表達(dá)結(jié)構(gòu),并改進(jìn)編碼方法使其表征能力更強(qiáng).但人工特征提取步驟復(fù)雜且不全面.
隨著深度學(xué)習(xí)的快速發(fā)展,利用神經(jīng)網(wǎng)絡(luò)[5]進(jìn)行自動(dòng)特征提取成為研究熱點(diǎn).基于視頻固有特性,有學(xué)者提出使用3D 卷積神經(jīng)網(wǎng)絡(luò)[6]實(shí)現(xiàn)對(duì)視頻時(shí)空特征的提取.文獻(xiàn)[7]學(xué)習(xí)單目標(biāo)個(gè)體的外形和三維梯度運(yùn)動(dòng)信息,分類(lèi)時(shí)將正常行為模式劃分為多個(gè)偽異常類(lèi),通過(guò)多個(gè)一對(duì)多二分類(lèi)器來(lái)進(jìn)行分類(lèi).文獻(xiàn)[8]提出了一種多尺度時(shí)間遞歸神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)對(duì)劃分的多網(wǎng)格區(qū)域提取的特征進(jìn)行空間維度和時(shí)間維度的關(guān)系建模,以此來(lái)進(jìn)行人群異常事件的檢測(cè)和定位.
基于重建誤差的方式進(jìn)行異常檢測(cè)的代表當(dāng)屬自編碼網(wǎng)絡(luò)[9],通過(guò)計(jì)算解碼器輸出數(shù)據(jù)與編碼器輸入數(shù)據(jù)之間的歐氏距離來(lái)判斷輸入偏離正常分布的程度,以此判斷是否異常.文獻(xiàn)[10]中設(shè)計(jì)了一個(gè)時(shí)空自編碼器,通過(guò)空間卷積與基于卷積的長(zhǎng)短期記憶 (Convolutional long-short term memory,ConvLSTM)[11]結(jié)構(gòu)來(lái)對(duì)視頻序列進(jìn)行編碼,再利用具有對(duì)稱(chēng)結(jié)構(gòu)的解碼器將視頻編碼轉(zhuǎn)換成原始圖像序列,通過(guò)計(jì)算解碼圖像與原始圖像的歐氏距離得到重建誤差,再得到異常分?jǐn)?shù).文獻(xiàn)[12]提出了一種變分自編碼器(Variational autoencoder,VAE),利用視頻編碼結(jié)果擬合分布函數(shù),對(duì)分布參數(shù)而非編碼值本身進(jìn)行建模.文獻(xiàn)[13]在稀疏去噪自編碼網(wǎng)絡(luò)的基礎(chǔ)上,添加了梯度差約束條件,使網(wǎng)絡(luò)的性能在全局異常行為檢測(cè)方面更有效.
文獻(xiàn)[14]中將帶有異常片段的視頻分為若干視頻段組成多個(gè)視頻實(shí)例,設(shè)計(jì)了全連接網(wǎng)絡(luò)將C3D 網(wǎng)絡(luò)[15]提取的視頻特征映射成異常分?jǐn)?shù),根據(jù)排名損失使含有異常片段的實(shí)例得分高于僅含正常片段實(shí)例的得分.
本文模型訓(xùn)練使用了包含異常和正常的視頻,使模型預(yù)測(cè)更有針對(duì)性,以視頻包為網(wǎng)絡(luò)輸入,通過(guò)端到端的網(wǎng)絡(luò)映射出視頻包得分,輸入形式靈活.本文設(shè)計(jì)的端到端異常檢測(cè)網(wǎng)絡(luò)算法具有以下幾點(diǎn)貢獻(xiàn):
1)以時(shí)空自編碼網(wǎng)絡(luò)為基礎(chǔ)、視頻包為視頻提取的基本單位,以提取更多有效特征,同時(shí)解決了時(shí)空自編碼器不能實(shí)時(shí)輸出視頻異常得分的問(wèn)題,擴(kuò)展了應(yīng)用場(chǎng)景.
2)引入多實(shí)例排名框架中重要節(jié)點(diǎn)得分高的思想,利用基于隱向量的注意力機(jī)制處理視頻包時(shí)空特征,以突出重要特征,弱化無(wú)關(guān)信息對(duì)檢測(cè)結(jié)果的干擾.
3)采用交叉熵?fù)p失耦合鉸鏈損失函數(shù),優(yōu)化網(wǎng)絡(luò)模型預(yù)測(cè)效果.
本文設(shè)計(jì)了一個(gè)端到端的異常檢測(cè)網(wǎng)絡(luò),如圖1 所示,以視頻包為輸入.視頻包由視頻中順序排列的連續(xù)τ幀圖像組成,在時(shí)間維度上以步長(zhǎng)1滑動(dòng)窗口,可得到新的視頻包.利用視頻包進(jìn)行特征提取可以在進(jìn)行空間紋理特征分析的同時(shí)保留時(shí)間信息,使提取的特征更全面、更有表現(xiàn)力.
圖1 異常行為檢測(cè)網(wǎng)絡(luò)架構(gòu)Fig.1 The framework for abnormal behavior detection
對(duì)于視頻包,首先提取單幀空間特征和多幀時(shí)間特征.為了更好地實(shí)現(xiàn)特征融合,利用三維卷積核在時(shí)間和空間維度再同時(shí)作加權(quán)特征融合,從而得到整個(gè)視頻包的時(shí)空特征表示.之后采用加入Dropout 操作的全連接層將特征轉(zhuǎn)換到一個(gè)更有表現(xiàn)力的空間中,同時(shí)降低模型過(guò)擬合風(fēng)險(xiǎn);對(duì)于視頻包的新特征表示,根據(jù)其自身特點(diǎn)利用注意力機(jī)制對(duì)其各元素進(jìn)行加權(quán)處理,再利用包級(jí)池化操作將視頻包級(jí)別的特征映射為該視頻包的異常分?jǐn)?shù)B.具體操作為
其中,I為輸入圖像,Ppre進(jìn)行圖像預(yù)處理,Fbag表示進(jìn)行視頻包特征提取,Katten表示進(jìn)行注意力機(jī)制,Pool表示進(jìn)行包級(jí)池化,將視頻包特征映射為視頻包異常得分.
動(dòng)作的發(fā)生發(fā)展具有先后順序,其中蘊(yùn)含了大量的信息.參照文獻(xiàn)[10]中對(duì)多幀序列時(shí)空特征的提取方法,首先對(duì)圖像進(jìn)行空間特征提取,之后利用ConvLSTM 針對(duì)時(shí)流中同一特征進(jìn)行狀態(tài)隨時(shí)間遷移變化過(guò)程的學(xué)習(xí).為了得到更有效的視頻包特征表示,將視頻包中提取到的各級(jí)時(shí)空特征進(jìn)行加權(quán)融合編碼,從而將幀級(jí)特征轉(zhuǎn)換為視頻包級(jí)別的特征表示.
2.1.1 單幀空間信息提取
為了獲取單幀像素之間的空間聯(lián)系及紋理結(jié)構(gòu),采用 “卷積?正則?激活”結(jié)構(gòu)[16]實(shí)現(xiàn)空間信息提取.首先利用不同權(quán)重的卷積核對(duì)輸入數(shù)據(jù)進(jìn)行線性變換,減少數(shù)據(jù)冗余的同時(shí)提取圖片結(jié)構(gòu)信息;卷積核的權(quán)重由訓(xùn)練得出.利用批規(guī)范化操作通過(guò)對(duì)隱藏層輸出的自適應(yīng)重參數(shù)化來(lái)防止梯度彌散效應(yīng),加快模型收斂速度,同時(shí)降低模型過(guò)擬合風(fēng)險(xiǎn).最后利用激活函數(shù)使網(wǎng)絡(luò)模型具有非線性性能,以便更好地?cái)M合數(shù)據(jù)分布.
在具體的網(wǎng)絡(luò)實(shí)現(xiàn)上,由于視頻包包含多幀連續(xù)圖像,為了不破壞連續(xù)幀之間的時(shí)間信息,我們?cè)跁r(shí)間維度上采用兩組 “卷積?正則?激活”結(jié)構(gòu)提取單幀空間信息.對(duì)于視頻包中的每一幀固定為224×224像素大小的圖片而言,首先經(jīng)過(guò)含128 個(gè)尺寸為 5×5 的卷積核、步長(zhǎng)為3 的卷積層,得到了128個(gè) 75×75 像素大小的特征圖,在一個(gè)批次(Batch)中對(duì)不同圖片的相應(yīng)特征圖的值進(jìn)行歸一化操作之后,采用Relu 激活函數(shù)使網(wǎng)絡(luò)具備非線性性能;之后經(jīng)過(guò)含64 個(gè)尺寸為 3×3 的卷積核、步長(zhǎng)為2 的卷積層,得到64 個(gè)大小為 38×38 像素的特征圖,同樣以一個(gè)Batch 為單位進(jìn)行歸一化操作并進(jìn)行非線性映射.正則化和激活結(jié)構(gòu)不會(huì)改變特征圖的尺寸.輸出特征圖尺寸計(jì)算式為
其中,Lout,Lin是特征圖某維度(長(zhǎng)、寬) 長(zhǎng)度,Wkernel指卷積核在對(duì)應(yīng)尺寸上的大小,Sstride為步長(zhǎng)值,為向上取整.
2.1.2 多幀時(shí)間信息提取
對(duì)于圖像序列而言,每幀像素間具有很強(qiáng)的相關(guān)性,LSTM 只能保留其時(shí)間維度上的關(guān)聯(lián)而不能很好地保留空間特征.針對(duì)這一缺陷,文獻(xiàn)[11]中加入卷積操作,使得對(duì)圖像序列特征的提取更加有效.具體為
其中,符號(hào)?表示卷積操作.記憶單元Ct記錄了從起始時(shí)刻到時(shí)刻t的累積狀態(tài)信息,ht表示輸出的時(shí)刻t的最終狀態(tài),xt表示t時(shí)刻的輸入,符號(hào)?表示Hadamard 乘積,σ和 t anh 分別表示sigmoid 和tanh 激活函數(shù),用于對(duì)提取的信息進(jìn)行非線性變換.卷積類(lèi)型1W2與卷積類(lèi)型2W3的不同之處在于其輸入數(shù)據(jù)有兩種或者三種,用上標(biāo)表示輸入數(shù)據(jù)種類(lèi)數(shù);為了區(qū)別相同類(lèi)型的不同卷積核,在式(2)和式(3)中采用權(quán)重W的不同下標(biāo)來(lái)表示不同的卷積核,如表示輸入是兩路數(shù)據(jù)但值不同的兩個(gè)卷積核.ConvLSTM 利用σ選擇性舍棄遺忘門(mén)輸入信息,輸入門(mén)利用與遺忘門(mén)相似的結(jié)構(gòu)選擇性地保留經(jīng)過(guò)tanh 非線性變換的上一時(shí)刻輸出與當(dāng)前時(shí)刻輸入的加權(quán)融合信息.
當(dāng)前時(shí)刻記憶單元狀態(tài)是由經(jīng)過(guò)遺忘門(mén)選擇性保留的上一時(shí)刻記憶單元狀態(tài)與輸入門(mén)輸出信息相加,當(dāng)前時(shí)刻輸出狀態(tài)是遺忘門(mén)選擇性保留的當(dāng)前時(shí)刻記憶單元狀態(tài)經(jīng)過(guò) t anh 非線性變換的信息,具體實(shí)現(xiàn)為
本文采用的ConvLSTM 作用的對(duì)象是經(jīng)過(guò)卷積層提取過(guò)的空間特征圖.針對(duì)視頻包序列中每幀對(duì)應(yīng)的空間特征提取其隨時(shí)間變化信息,一則可以減少圖像數(shù)據(jù)冗余,二則可以針對(duì)關(guān)鍵特征追蹤其時(shí)流信息.本文采用了兩層ConvLSTM 級(jí)聯(lián)來(lái)提取時(shí)流信息,第1 層采用64 個(gè) 3×3 的卷積核,第2 層采用32 個(gè) 3×3 的卷積層.卷積操作時(shí)保持特征圖尺寸不變,因此兩層ConvLSTM 的輸入特征圖分別為 38×38×64 和 38×38×32.
為了更好地提取視頻包的空間和時(shí)間信息、高層與低層特征,在ConvLSTM 層后利用三維卷積層在時(shí)間和空間兩個(gè)維度上對(duì)視頻包多個(gè)特征圖進(jìn)行可訓(xùn)練參數(shù)的加權(quán)融合,輸出結(jié)果作為最終的視頻包的特征表示.融合層作用于時(shí)間維度,將8×38×38×32 的特征圖轉(zhuǎn)換為 1×38×38×32 的特征圖.融合層特征輸出結(jié)果如圖2 所示.
圖2(a)為正常幀視頻包輸入網(wǎng)絡(luò)后融合層輸出的部分特征圖.每個(gè)特征圖細(xì)化了靜態(tài)背景的建模,突出顯示運(yùn)動(dòng)物體區(qū)域.圖2(b)為異常幀視頻包融合層輸出特征圖,由于快速運(yùn)動(dòng)導(dǎo)致的時(shí)間流和空間流的信息重分配,使得前景運(yùn)動(dòng)區(qū)域與背景靜態(tài)區(qū)域融合度更高,區(qū)分度降低.
圖2 融合層特征輸出結(jié)果圖Fig.2 The feature map of fusion-layer
視頻包內(nèi)各特征元素對(duì)于最終視頻包標(biāo)簽的影響是不同的,因此我們考慮利用注意力機(jī)制對(duì)不同特征分配不同權(quán)重,使關(guān)鍵特征對(duì)結(jié)果影響占比更大.首先進(jìn)行特征空間轉(zhuǎn)換,使原始視頻包特征編碼更有表現(xiàn)力;之后利用可訓(xùn)練權(quán)值矩陣計(jì)算隱藏特征,利用隱向量訓(xùn)練擬合出該特征元素的影響占比;最后將編碼特征按占比重取值,利用包級(jí)池化操作將視頻包重定義特征映射為該視頻包的異常得分.具體流程如圖3 所示.
為了得到更加緊湊的視頻包特征表示,將時(shí)空編碼器輸出的初級(jí)視頻包特征經(jīng)由兩個(gè)帶Dropout 的全連接層處理,即圖3 中的 “特征空間轉(zhuǎn)換”過(guò)程.兩層全連接層輸出維度均為512,采用Relu激活函數(shù);Dropout 參數(shù)設(shè)為0.5,即每次訓(xùn)練時(shí)有50%的神經(jīng)單元被舍棄不參與訓(xùn)練,此舉可以降低神經(jīng)網(wǎng)絡(luò)過(guò)擬合的風(fēng)險(xiǎn).經(jīng)過(guò)特征空間轉(zhuǎn)換,得到512 維的視頻包最終特征向量.
圖3 視頻包得分計(jì)算流程Fig.3 The flowchart of bag-score calculation
之后利用可訓(xùn)練權(quán)值矩陣操作將視頻包最終特征轉(zhuǎn)換為隱藏特征,隱藏層特征維度設(shè)為128.基于隱藏特征即隱向量計(jì)算出權(quán)值向量.為了增加變換的非線性性能,在最終生成權(quán)值向量前引入非線性Softmax 變換.權(quán)值向量與視頻包最終特征向量的Hadamard 乘積即為加權(quán)視頻包特征向量.記視頻包特征總數(shù)為K,第k個(gè)視頻包特征為αk,可訓(xùn)練權(quán)值矩陣V將αk轉(zhuǎn)換為隱層特征; ΨNL為隱層特征加入非線性操作,本文采用 t anh 非線性函數(shù)實(shí)現(xiàn);W將非線性隱層特征轉(zhuǎn)換回原始空間特征;之后利用softmax 操作進(jìn)行非線性映射得到特征權(quán)值κk,即
最后對(duì)加權(quán)視頻包特征進(jìn)行包級(jí)池化.借助神經(jīng)網(wǎng)絡(luò)訓(xùn)練置換不變函數(shù)求得視頻包的異常得分.將正樣本即包含異常的視頻包標(biāo)記為1,僅包含正常視頻幀的視頻包標(biāo)記為0,因此可將得出的概率作為視頻包得分的歸一化最終結(jié)果.至此最終實(shí)現(xiàn)視頻包特征到視頻包得分的映射.記 Π 是對(duì)第k個(gè)加權(quán)視頻包特征向量進(jìn)行的置換不變操作,在實(shí)驗(yàn)中取各元素累加和.σ是sigmoid 函數(shù),即圖3中的非線性映射.對(duì)應(yīng)的視頻包得分B為
網(wǎng)絡(luò)最終的輸出是使用sigmoid 處理過(guò)的[0,1]數(shù)值,該輸出既可以作為輸入被判為正類(lèi)的概率,也可作為視頻包的最終異常得分.因此損失函數(shù)的構(gòu)成也從這兩方面進(jìn)行考慮.根據(jù)sigmoid 函數(shù)的計(jì)算式,得
其中,N為樣本總數(shù),Bi為第i個(gè)樣本真實(shí)值,為第i個(gè)樣本預(yù)測(cè)值.
交叉熵?fù)p失函數(shù)在輸入噪聲時(shí)也會(huì)得到非0即1 的結(jié)果,會(huì)增加網(wǎng)絡(luò)過(guò)擬合的風(fēng)險(xiǎn),在實(shí)際應(yīng)用中不好進(jìn)行閾值的選取.考慮到視頻包的特性,我們希望包含異常幀的視頻包的異常得分要比僅含正常幀的異常得分高,因此損失函數(shù)最好可以增大類(lèi)別間距.本文加入二分類(lèi)鉸鏈損失函數(shù)lossbh,即
lossbh通過(guò)增大正樣本預(yù)測(cè)概率,減小負(fù)樣本預(yù)測(cè)概率來(lái)增大類(lèi)間距,使網(wǎng)絡(luò)在應(yīng)對(duì)少量噪聲輸入時(shí)有一定的容錯(cuò)量.最終的網(wǎng)絡(luò)訓(xùn)練損失函數(shù)為
其中,λ為lossbh的權(quán)重參數(shù),作為基礎(chǔ)分類(lèi)網(wǎng)絡(luò)損失函數(shù)lossbc的補(bǔ)充項(xiàng)協(xié)助訓(xùn)練模型參數(shù).為了探究λ對(duì)模型訓(xùn)練的影響,取其值為0.5,1,2,3 時(shí)分析損失函數(shù)整體性能,結(jié)果如圖4 所示.
圖4 不同預(yù)測(cè)分值下的loss 變化Fig.4 The loss under different predictions
取正樣本的不同預(yù)測(cè)值得到不同的損失值,網(wǎng)絡(luò)輸出sigmoid 函數(shù)歸一化[0,1]值.交叉熵?fù)p失(bc_loss)是分類(lèi)網(wǎng)絡(luò)的基礎(chǔ)損失函數(shù),其在整個(gè)預(yù)測(cè)值空間呈非線性變化,預(yù)測(cè)值與真實(shí)值差距越大,懲罰越嚴(yán)重.變種鉸鏈損失(hingle_new_loss)意圖使正樣本得分比負(fù)樣本得分高,使模型更多關(guān)注整體的分類(lèi)效果.對(duì)變種鉸鏈損失取不同權(quán)值組合成混合損失(mix_loss),從結(jié)果圖可以看到,當(dāng)λ=0.5時(shí),在基礎(chǔ)損失函數(shù)上添加的線性因素效果不甚明顯;而當(dāng)λ取值較大時(shí),過(guò)多的線性因素會(huì)遮蓋基礎(chǔ)損失函數(shù)的非線性性能.從損失函數(shù)值域考慮,兩項(xiàng)值域相近,權(quán)值加倍反而會(huì)導(dǎo)致值域的不平衡.綜合考慮,后續(xù)實(shí)驗(yàn)將采用λ=1 時(shí)訓(xùn)練的模型,結(jié)合非線性損失函數(shù)和線性損失函數(shù),增大懲罰值,使網(wǎng)絡(luò)收斂更快.
本文算法應(yīng)用場(chǎng)景為行人正常運(yùn)動(dòng)場(chǎng)景,所要進(jìn)行的異常事件檢測(cè)包括跑動(dòng)、滑板、車(chē)類(lèi)及高空拋物.異常事件的定義基于以下考慮: 1) 行人步行群體中駕駛交通工具屬于不規(guī)范行為,容易產(chǎn)生交通事故;2) 正常人群中的跑動(dòng)意味著某種緊急事情的發(fā)生,需要引起重視;3) 高空拋物有誤傷人的嫌疑,判為異常.所使用的視頻由固定角度的監(jiān)控?cái)z像頭拍攝.目前常用的數(shù)據(jù)集有Avenue,UMN,UCSD.
Avenue 數(shù)據(jù)[17]包含CUHK 校園大道拍攝的正常行人行走的視頻,其中訓(xùn)練集包含16 個(gè)視頻段共15328 幀,測(cè)試集包含21 個(gè)視頻共15324 幀.異常場(chǎng)景是人物跑動(dòng)、反方向走動(dòng)、閑逛等.UMN數(shù)據(jù)集[18]包含11 個(gè)視頻段,異常事件類(lèi)型為人群突散,長(zhǎng)度在70~ 200 幀不等.室內(nèi)場(chǎng)景光照不足而視頻整體偏暗.UCSD 數(shù)據(jù)集[19]的異常事件包括騎自行車(chē)、滑冰、小型手推車(chē)及橫穿人行道踐踏草地.Ped1 是朝向和遠(yuǎn)離攝像頭方向的片段,有34個(gè)訓(xùn)練視頻和36 個(gè)測(cè)試視頻.Ped2 是行人運(yùn)動(dòng)軌跡與攝像頭平行的場(chǎng)景,包括16 個(gè)訓(xùn)練視頻和12個(gè)測(cè)試視頻.
以上數(shù)據(jù)集中訓(xùn)練集只包含正常行人行走的視頻,本文網(wǎng)絡(luò)訓(xùn)練同時(shí)依賴(lài)正樣本與負(fù)樣本.鑒于此,本文將以上數(shù)據(jù)集進(jìn)行合并篩選,將含有異常事件的視頻重新進(jìn)行整合分配,劃分訓(xùn)練集與測(cè)試集;同時(shí)根據(jù)本文所定義的任務(wù),將原有數(shù)據(jù)集中規(guī)定的不符合本文任務(wù)目標(biāo)的異常事件去除,即重新標(biāo)定ground truth.對(duì)于整合的數(shù)據(jù)集而言,選取事件較為單一的40 個(gè)視頻文件作為訓(xùn)練集,其余33 個(gè)視頻文件為測(cè)試集.新的數(shù)據(jù)集相較于原有數(shù)據(jù)集而言,增加了不少挑戰(zhàn): 1)場(chǎng)景多.共有室內(nèi)和室外六種不同場(chǎng)景,不同場(chǎng)景攝像頭位置與角度不同,幀率及清晰度也有很大差異;2)異常事件類(lèi)型多.涉及單人和群體異常事件,對(duì)于滑板、自行車(chē)、跑動(dòng)等異常事件類(lèi)型,人物外觀與正常行走狀態(tài)相差無(wú)幾,增加了算法檢測(cè)難度.后續(xù)實(shí)驗(yàn)在該數(shù)據(jù)集上進(jìn)行.
本文所提出的神經(jīng)網(wǎng)絡(luò)在網(wǎng)絡(luò)輸入格式方面尚未做多尺度輸入設(shè)計(jì),所以在原始視頻輸入網(wǎng)絡(luò)時(shí)需要進(jìn)行預(yù)處理.對(duì)于輸入的三通道彩色圖將其轉(zhuǎn)換為 224×224 像素大小的單通道灰度圖.為了降低因噪聲而產(chǎn)生的圖像像素離群值的干擾,同時(shí)為得到圖像稀疏性表示,對(duì)輸入圖像矩陣進(jìn)行歸一化處理,并將值域限制在[0,1].
訓(xùn)練及測(cè)試代碼運(yùn)行在Centos7 系統(tǒng)下,使用Intel i5-8600K@3.60 GHz×6 及 NVIDIA Ge-Force TITAN X.算法搭建使用以tensorflow 為后端的keras 框架,語(yǔ)言為python,此外還使用了opencv等擴(kuò)展包.
3.3.1 訓(xùn)練參數(shù)變化
本文算法訓(xùn)練使用Adam 優(yōu)化器,學(xué)習(xí)率為0.0001;batch_size 為32;當(dāng)loss 連續(xù)5 個(gè)訓(xùn)練批次epoch 不變結(jié)束訓(xùn)練.網(wǎng)絡(luò)輸入視頻包,由于采用LSTM 提取時(shí)間特征,τ值不宜過(guò)小,因此參考文獻(xiàn)[10]中取τ=8,另取τ=10 分別進(jìn)行網(wǎng)絡(luò)的訓(xùn)練,訓(xùn)練損失變化如圖5.
圖5 損失訓(xùn)練變化曲線圖Fig.5 The loss curve in training stage
當(dāng)τ=8 (train_loss_t8)時(shí),每個(gè)epoch 含有15618 組輸入,在第34 個(gè)epoch 時(shí)訓(xùn)練終止,以該處模型為此次訓(xùn)練代表模型,在測(cè)試集進(jìn)行測(cè)試,所得到AUC_T8=0.754,EER_T8=0.292.當(dāng)τ=10 (train_loss_10)時(shí),每個(gè)epoch 含有15538組輸入,訓(xùn)練到第53 個(gè)epoch 終止,由于訓(xùn)練結(jié)尾模型訓(xùn)練損失產(chǎn)生波動(dòng),取相對(duì)平穩(wěn)狀態(tài)下的模型,即第48 個(gè)epoch 時(shí)訓(xùn)練的模型作為此次訓(xùn)練的代表模型,在測(cè)試集測(cè)試結(jié)果為AUC_T10=0.724,EER_T10=0.347.
從訓(xùn)練過(guò)程來(lái)看,訓(xùn)練前期τ=8 模型網(wǎng)絡(luò)損失值下降速度相對(duì)較快,模型收斂速度更快,而在訓(xùn)練終點(diǎn)處所達(dá)到的網(wǎng)絡(luò)損失值相對(duì)略高;從測(cè)試集測(cè)試定量指標(biāo)來(lái)看,τ=8 模型有較高的檢測(cè)正確率,可以預(yù)想到,雖然τ=10 模型中視頻包中包含了更多時(shí)間信息,但是由于數(shù)據(jù)維度增加,模型擬合困難,從而出現(xiàn)指標(biāo)降低的現(xiàn)象.后續(xù)實(shí)驗(yàn)中本文采用τ=8 的第34 個(gè)epoch 訓(xùn)練的模型進(jìn)行客觀指標(biāo)的對(duì)比測(cè)試.
3.3.2 測(cè)試結(jié)果對(duì)比與分析
1)客觀指標(biāo)AUC 及EER
參考文獻(xiàn)[19?20],本文同樣使用操作者操作特征 (Receiver operating characteristic,ROC)曲線及其所對(duì)應(yīng)的面積(Area under the curve,AUC)來(lái)作為模型特性的衡量指標(biāo).ROC 橫軸負(fù)正類(lèi)率(False positive rate,FPR)表示負(fù)類(lèi)被預(yù)測(cè)為正類(lèi)的概率,縱軸真正類(lèi)率(True positive rate,TPR)表示正類(lèi)預(yù)測(cè)正確的概率.理想目標(biāo)是TPR=1,FPR=0,故ROC 曲線越靠攏點(diǎn)(0,1)越好.定義錯(cuò)誤率EER=((1-TPR)+FPR)/2.
本文算法(Milfusion)與時(shí)空自編碼器 (Encoder)[10]、變分編碼器(Vae)[12]、多實(shí)例排名框架(Mir)[14]在ROC 指標(biāo)的對(duì)比結(jié)果如圖6 所示.從圖中可以看出,本文算法曲線最接近點(diǎn)(0,1),曲線下面積最大,時(shí)空自編碼算法次之,變分自編碼算法表現(xiàn)最差.
圖6 異常檢測(cè)算法ROC 曲線圖Fig.6 The ROC curve of different algorithms
AUC 及EER 指標(biāo)見(jiàn)表1,本文算法在這兩項(xiàng)指標(biāo)上效果最好,錯(cuò)誤率最低.
表1 異常檢測(cè)算法AUC 及EER 指標(biāo)Table 1 The AUC and EER of different algorithms
2)幀級(jí)正確率與事件正確率
AUC 計(jì)算時(shí)須使待檢測(cè)樣本中同時(shí)包含正例和負(fù)例.而對(duì)于一些只包含異?;蛘5囊曨l而言,該指標(biāo)無(wú)法使用,因此增加新的指標(biāo)評(píng)估模型性能.記正例判斷錯(cuò)誤的比率為幀級(jí)漏檢率,負(fù)例判斷正確的比率為幀級(jí)虛警率,二者之和為幀級(jí)錯(cuò)誤率(Frame-error rate,FER).
由于不同幀率人物運(yùn)動(dòng)速度不盡相同,對(duì)事件發(fā)生的邊緣定界有很大的歧義.因此補(bǔ)充事件級(jí)別的指標(biāo),事件識(shí)別率(EHR),根據(jù)檢測(cè)出異常幀的百分比來(lái)判斷是否檢測(cè)出該異常.事件級(jí)別的指標(biāo)優(yōu)勢(shì)在于事件邊界界定影響小.對(duì)于定義的異常事件,相差20 幀以上記為兩事件.
圖7 選取了[0,1]范圍內(nèi)以0.01 的步長(zhǎng)作為閾值,在該閾值下幾種算法在整個(gè)數(shù)據(jù)集的FER、EHR.對(duì)于一個(gè)事件,以幀級(jí)檢測(cè)率不小于60%判為檢測(cè)出該事件.從圖中可以看出,多實(shí)例排名框架的事件檢測(cè)率和幀級(jí)錯(cuò)誤率最高,綜合來(lái)看,其性能不佳.本文算法的幀級(jí)錯(cuò)誤率明顯低于其余三種算法,事件檢測(cè)率指標(biāo)略低于時(shí)空自編碼算法.因此,在整體指標(biāo)上本文算法具有很大優(yōu)勢(shì).
圖7 異常檢測(cè)算法在幀級(jí)及事件級(jí)指標(biāo)對(duì)比圖Fig.7 The frame-level and event-level index of different algorithms
3)視頻檢測(cè)效果及時(shí)間對(duì)比
從上述指標(biāo)來(lái)看,本文算法和時(shí)空自編碼算法性能最好,在此僅列舉本文算法和時(shí)空自編碼算法的效果.圖8 選取了3 個(gè)視頻的檢測(cè)結(jié)果.
圖8(a)來(lái)自于UMN 數(shù)據(jù)集,異常事件為人群突散: 本文算法在正常片段有三次持續(xù)時(shí)間較短的尖峰,在異常片段分?jǐn)?shù)較高且持續(xù)時(shí)間長(zhǎng);而時(shí)空自編碼算法在正常片段得分高.圖8(b)來(lái)自于Avenue 數(shù)據(jù)集,異常事件為高空拋物: 本文算法與對(duì)比算法都能正確檢測(cè)出異常事件,本文算法異常得分略低;在人物俯身?yè)焓皦嬄湮飼r(shí),本文算法出現(xiàn)了虛警.圖8(c)來(lái)自UCSD 數(shù)據(jù)集,異?,F(xiàn)象為騎車(chē): 對(duì)比算法出現(xiàn)漏報(bào)和虛警,但本文算法能夠檢測(cè)出該事件.
圖8 視頻檢測(cè)結(jié)果Fig.8 The results of abnormal behavior detection in videos
在檢測(cè)時(shí)間上,本文將視頻輸入到輸出結(jié)果耗時(shí)也進(jìn)行了對(duì)比,該時(shí)間也包含了圖像尺寸改變所消耗的時(shí)間,具體見(jiàn)表2.表中數(shù)據(jù)是在測(cè)試集上所有視頻從網(wǎng)絡(luò)輸入到得到輸出結(jié)果的每幀耗時(shí)的平均值.本文網(wǎng)絡(luò)處理時(shí)間要比時(shí)空自編碼算法要短.
表2 算法處理時(shí)間(CPU) (ms)Table 2 The processing time of algorithms (CPU) (ms)
本文在輸出形式有很大的優(yōu)勢(shì).自編碼算法輸出以重建損失為基礎(chǔ)進(jìn)行分?jǐn)?shù)的正則化處理,需要將所有視頻幀處理完畢后才能得到視頻每幀的異常得分.而本文算法網(wǎng)絡(luò)輸出即為視頻幀的異常得分,不需要經(jīng)過(guò)特殊處理,在使用場(chǎng)景方面有很大優(yōu)勢(shì).
本文提出了一個(gè)端到端的異常檢測(cè)網(wǎng)絡(luò),用于監(jiān)控視頻行人步行群體中劇烈運(yùn)動(dòng)的檢測(cè).該網(wǎng)絡(luò)以視頻包為輸入,有利于保存視頻本身的時(shí)序信息及圖像的紋理結(jié)構(gòu)信息.通過(guò)時(shí)空編碼器充分提取視頻時(shí)空特征后,再利用注意力機(jī)制對(duì)提取到的特征進(jìn)行加權(quán)處理,突出重要特征信息,弱化無(wú)關(guān)信息對(duì)檢測(cè)結(jié)果的干擾.最后采用包級(jí)池化將視頻包級(jí)別的特征映射為視頻包對(duì)應(yīng)的異常得分.該網(wǎng)絡(luò)在輸入形式上以滑動(dòng)步長(zhǎng)為1 的窗口進(jìn)行視頻包的歸類(lèi)提取,可以應(yīng)對(duì)視頻流等實(shí)時(shí)輸入情況,應(yīng)用場(chǎng)景得到了極大地?cái)U(kuò)展;在輸出形式上,該網(wǎng)絡(luò)直接輸出視頻幀的異常得分,不需要再做其他處理,方便使用.但是本文網(wǎng)絡(luò)的缺點(diǎn)在于在最后得到的是異常得分而非正?;虍惓5姆诸?lèi)結(jié)果,在將得分進(jìn)行類(lèi)別映射時(shí)需要設(shè)置閾值,閾值選取會(huì)極大地影響類(lèi)別映射結(jié)果.