李自強(qiáng),王正勇,陳洪剛*,李林怡,何小海
(1.四川大學(xué)電子信息學(xué)院,成都 610065;2.中國(guó)民航局第二研究所,成都 610041)
視頻的異常行為檢測(cè)是計(jì)算機(jī)視覺(jué)領(lǐng)域極具挑戰(zhàn)性的問(wèn)題,其中一個(gè)主要原因在于對(duì)異常沒(méi)有一個(gè)通用的定義,其判定通常依賴(lài)于所處的特定場(chǎng)景。例如一輛汽車(chē)行駛在步行街上是一個(gè)異常行為,而在公路上則是正常的。這種非常依賴(lài)于場(chǎng)景前后關(guān)系的行為識(shí)別是當(dāng)前異常行為檢測(cè)所面臨的重大挑戰(zhàn)。為了應(yīng)對(duì)這個(gè)問(wèn)題,一個(gè)典型的方法就是將與正常視頻差異過(guò)大或未出現(xiàn)過(guò)的行為作為異常行為,但是這一方法可能將未在訓(xùn)練集中出現(xiàn)的正常行為當(dāng)作異常。一方面,異常行為發(fā)生頻率較低,而監(jiān)控視頻數(shù)據(jù)量大且多以正常行為為主,因此對(duì)視頻進(jìn)行人工標(biāo)注成本太高;另一方面,實(shí)際獲取的數(shù)據(jù)集只是真實(shí)場(chǎng)景下正常行為和異常行為的子集,故無(wú)法囊括所有發(fā)生的行為[1]。這種數(shù)據(jù)不平衡和異常樣本缺乏的問(wèn)題使得當(dāng)前大多數(shù)研究都采用弱監(jiān)督學(xué)習(xí)和半監(jiān)督學(xué)習(xí)方法。
當(dāng)前提出的弱監(jiān)督學(xué)習(xí)方法[2-3]多是采用基于多示例學(xué)習(xí)(Multiple Instance Learning,MIL)的異常檢測(cè)方法,將訓(xùn)練集中的每個(gè)視頻當(dāng)作一個(gè)包,視頻的每一幀當(dāng)作一個(gè)實(shí)例,把含有異常幀的視頻標(biāo)記為正包,全是正常幀的記為負(fù)包。這類(lèi)方法是在已經(jīng)獲知一個(gè)視頻是否含有異常事件的假設(shè)下來(lái)研究異常檢測(cè)問(wèn)題,只是不知道異常的時(shí)序位置和類(lèi)型,但真實(shí)情況下這種先驗(yàn)知識(shí)是不存在的。因此當(dāng)前研究多采用基于重建或預(yù)測(cè)的半監(jiān)督學(xué)習(xí)方法。對(duì)于基于重建的方法[4-6],其通常使用卷積自編碼器或者生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)來(lái)學(xué)習(xí)以較小的重建誤差來(lái)重建正常樣本,并希望當(dāng)重建異常樣本時(shí),訓(xùn)練好的模型能夠產(chǎn)生較大的誤差。而對(duì)于基于預(yù)測(cè)的方法[7-9],研究者們認(rèn)為異常事件是意料之外的,難以被預(yù)測(cè),故在正常視頻上訓(xùn)練的網(wǎng)絡(luò)能夠在異常幀上產(chǎn)生更大的預(yù)測(cè)誤差。然而這兩種方法并未達(dá)到理想的效果,主要在于這些方法只關(guān)注視頻幀外觀上的重建和預(yù)測(cè),而忽略了異常事件的區(qū)分是通過(guò)外觀、動(dòng)作或兩者兼之來(lái)判斷,比如:步行街上行駛的汽車(chē)與正常場(chǎng)景的區(qū)別在于外觀;而打架、游蕩等行為需要通過(guò)動(dòng)作判定,拋擲物品需要兩者共同判定。考慮到動(dòng)作信息對(duì)于異常檢測(cè)的重要作用,很多基于重建或預(yù)測(cè)的方法采用預(yù)訓(xùn)練模型來(lái)提取動(dòng)作信息,例如:Liu 等[9]和Nguyen 等[10]采用光流網(wǎng)絡(luò)來(lái)提取動(dòng)作特征,Morais等[7]使用姿態(tài)估計(jì)網(wǎng)絡(luò)提取人體關(guān)節(jié)點(diǎn)表征動(dòng)作信息。然而這些方法會(huì)使得網(wǎng)絡(luò)更加復(fù)雜,且容易受預(yù)訓(xùn)練模型本身的影響。
為了解決上述問(wèn)題,更好地學(xué)習(xí)視頻表征,本文提出了一種對(duì)動(dòng)作和外觀進(jìn)行聯(lián)合預(yù)測(cè)的孿生網(wǎng)絡(luò)。該網(wǎng)絡(luò)的兩個(gè)分支采用相同結(jié)構(gòu)的自編碼器,每個(gè)分支網(wǎng)絡(luò)由編碼器、記憶增強(qiáng)模塊和解碼器組成,其中編碼器和解碼器采用殘差結(jié)構(gòu)的上下采樣層用于更好地提取特征和預(yù)測(cè)幀圖。兩個(gè)子網(wǎng)絡(luò)的輸入不同,外觀子網(wǎng)絡(luò)輸入RGB 視頻幀預(yù)測(cè)未來(lái)幀,而動(dòng)作子網(wǎng)絡(luò)則使用相同長(zhǎng)度且更容易獲得的RGB 幀差圖代替光流圖作為輸入預(yù)測(cè)未來(lái)幀差圖,最后將兩個(gè)分支網(wǎng)絡(luò)的預(yù)測(cè)幀圖再融合相加得到預(yù)測(cè)幀的下一幀,即預(yù)測(cè)未來(lái)兩幀。
視頻異常檢測(cè)方法大致可以分為基于傳統(tǒng)機(jī)器學(xué)習(xí)的方法和深度學(xué)習(xí)的方法兩類(lèi)。傳統(tǒng)方法主要是通過(guò)手動(dòng)提取的動(dòng)作和外觀特征來(lái)檢測(cè)異常,比如定向光流直方圖[11]、定向梯度直方圖[12]和3D梯度特征[13]等,例如:Kim等[14]為了能更好地捕捉局部運(yùn)動(dòng)特征,利用混合概率主成分分析來(lái)建模光流;Mahadevan 等[15]使用混合動(dòng)態(tài)紋理(Mixture of Dynamic Texture,MDT)來(lái)檢測(cè)時(shí)間上的異常;胡學(xué)敏等[16]提出使用運(yùn)動(dòng)特征圖來(lái)檢測(cè)人群異常行為。這些傳統(tǒng)方法所提取的特征有限,而視頻中包含豐富的高維特征難以通過(guò)傳統(tǒng)方法提取。
近些年來(lái),由于深度學(xué)習(xí)在異常檢測(cè)領(lǐng)域的顯著表現(xiàn),大量的研究都采用基于神經(jīng)網(wǎng)絡(luò)的方法[5-10,17-21]。由于視頻中的異常一般被定義為與正常行為差異較大或很少發(fā)生的行為,加上其異常數(shù)據(jù)獲取困難、人工標(biāo)注成本高等因素的影響,絕大部分研究采用半監(jiān)督學(xué)習(xí)方法,即只使用正常樣本進(jìn)行訓(xùn)練。Hasan 等[19]采用卷積自編碼器進(jìn)行重建幀圖像,通過(guò)重建誤差的大小檢測(cè)視頻幀的異常。在此基礎(chǔ)上,Luo 等[20]在自編碼網(wǎng)絡(luò)中加入卷積長(zhǎng)短記憶(Convolutional Long Short-Term Memory,ConvLSTM)網(wǎng)絡(luò)捕捉正常樣本的時(shí)間信息??紤]到基于重建模型的方法無(wú)法充分提取視頻中豐富的動(dòng)作特征,而異常行為又多包含大量的動(dòng)作特征,為此Liu 等[9]提出基于GAN 的未來(lái)幀預(yù)測(cè)模型,使用連續(xù)幾幀圖像預(yù)測(cè)下一幀圖像,同時(shí)通過(guò)加入光流約束來(lái)提取動(dòng)作特征。Morias等[7]認(rèn)為視頻中異常多與行人相關(guān),而基于像素的特征對(duì)噪聲比較敏感,會(huì)將場(chǎng)景[9]中的重要信息掩蓋,故提出一個(gè)預(yù)測(cè)行人關(guān)節(jié)點(diǎn)軌跡的異常檢測(cè)網(wǎng)絡(luò),但該方法適合處理與行人相關(guān)的異常,而其他類(lèi)型的異常(如汽車(chē))無(wú)法檢測(cè),此外人體骨架的檢測(cè)對(duì)遠(yuǎn)鏡頭處的行人效果較差。為了更好地提取動(dòng)作和外觀特征,許多研究[10,21]使用雙流網(wǎng)絡(luò)結(jié)構(gòu)分別提取動(dòng)作和外觀特征進(jìn)行異常檢測(cè),并取得了較好的效果。
盡管基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)的方法很大程度上優(yōu)于傳統(tǒng)方法,但是由于CNN 強(qiáng)大的表征和“生成”能力,使得一些異常樣本也能被重建或預(yù)測(cè)得很好。為了降低CNN 的“生成”能力,更好地建模正常樣本的深層特征的分布,Abati 等[5]在自編碼器的瓶頸層(Bottleneck)加入自回歸模塊;Fan 等[21]則訓(xùn)練兩個(gè)高斯混合變分自編碼器,通過(guò)高斯混合模型學(xué)習(xí)正常樣本的表征;Gong等[4]通過(guò)在編碼器后級(jí)聯(lián)一個(gè)內(nèi)存尋址的記憶模塊來(lái)使得自編碼器在重建樣本時(shí)更加關(guān)注正常樣本的特有特征。
受到上述研究的啟發(fā),本文提出將預(yù)測(cè)模型應(yīng)用在外觀和動(dòng)作的孿生網(wǎng)絡(luò)結(jié)構(gòu)中,期望其更好地對(duì)動(dòng)作和外觀信息進(jìn)行預(yù)測(cè),同時(shí)為了更好地提取特征和重建圖像,在編解碼器中采用殘差結(jié)構(gòu)的上下采樣模塊。此外本文不再使用許多方法廣泛使用的光流法來(lái)提取動(dòng)作特征,而是使用不需額外計(jì)算的視頻幀差圖,最后通過(guò)引入記憶增強(qiáng)模塊來(lái)應(yīng)對(duì)正常樣本多樣性和CNN的“生成”能力過(guò)強(qiáng)的問(wèn)題。
為了更好地實(shí)現(xiàn)基于視頻的異常檢測(cè),本文提出了一個(gè)能同時(shí)對(duì)動(dòng)作和外觀進(jìn)行預(yù)測(cè)的半監(jiān)督異常檢測(cè)方法,其網(wǎng)絡(luò)框架如圖1所示。
圖1 視頻異常行為檢測(cè)方法的網(wǎng)絡(luò)框架Fig.1 Network framework of video abnormal behavior detection method
本文網(wǎng)絡(luò)框架由上下兩個(gè)外觀和動(dòng)作子網(wǎng)絡(luò)組成雙流結(jié)構(gòu),兩個(gè)子網(wǎng)絡(luò)分別由編碼器、記憶增強(qiáng)模塊以及解碼器依次級(jí)聯(lián)組成。兩個(gè)子網(wǎng)絡(luò)的輸入為長(zhǎng)度都為t的RGB 幀圖和幀差圖,而最終兩子網(wǎng)絡(luò)輸出結(jié)果融合相加得到預(yù)測(cè)的t+2 幀視頻圖像。
外觀自編碼器的作用是提取視頻中靜態(tài)場(chǎng)景和所關(guān)注目標(biāo)的外觀特征,通過(guò)連續(xù)幾幀RGB 圖來(lái)預(yù)測(cè)下一幀。該子網(wǎng)絡(luò)結(jié)構(gòu)借鑒廣泛用于圖像重建和預(yù)測(cè)的U-Net,如圖1 所示。在編碼器和與解碼器相同分辨率的高維特征層和低維特征層加入跳連接(skip-connection)來(lái)抑制梯度爆炸和每層的信息不平衡,從而保證較高的圖像預(yù)測(cè)質(zhì)量。
對(duì)于編解碼器部分,以 Conv-AE(Convolutional AutoEncoder)[19]為基礎(chǔ),對(duì)編碼器的下采樣層和解碼器的上采樣層進(jìn)行改進(jìn),將原有的單流結(jié)構(gòu)調(diào)整為圖2 所示的殘差結(jié)構(gòu)來(lái)鼓勵(lì)網(wǎng)絡(luò)更好地提取特征和提高幀圖的預(yù)測(cè)質(zhì)量。編碼器由1個(gè)預(yù)處理模塊和3個(gè)殘差結(jié)構(gòu)的下采樣模塊組成,該下采樣模塊的兩個(gè)分支分別采用卷積和池化來(lái)壓縮特征,如圖2(a)。同理,解碼器由3個(gè)殘差結(jié)構(gòu)的上采樣模塊和1個(gè)生成模塊組成,而上采樣模塊采用不同大小的卷積核的反卷積來(lái)實(shí)現(xiàn),如圖2(b)。編碼器與解碼器形成對(duì)稱(chēng)結(jié)構(gòu),編碼器的預(yù)處理模塊通過(guò)連續(xù)兩次卷積操作將輸入的幾幀視頻提取為64維的低維特征,而解碼器的生成模塊與之相反,通過(guò)3個(gè)卷積層將低維特征轉(zhuǎn)為3維的圖像。
圖2 下采樣及上采樣模塊網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Network architecture of down-sampling and up-sampling modules
給定連續(xù)輸入視頻幀I1,I2,…,It,經(jīng)過(guò)編碼器Ea下采樣提取關(guān)于圖像場(chǎng)景、目標(biāo)外觀信息等深層特征后,解碼器Da通過(guò)Za預(yù)測(cè)得到第t+1幀
除了較大的目標(biāo)外觀變化外,不尋常的目標(biāo)動(dòng)作也可以作為衡量視頻幀是否異常的重要條件,而動(dòng)作自編碼器被鼓勵(lì)學(xué)習(xí)連續(xù)視頻幀間的動(dòng)作關(guān)系。為了簡(jiǎn)化網(wǎng)絡(luò)的設(shè)計(jì),動(dòng)作自編碼子網(wǎng)絡(luò)采用與外觀自編碼器相同的網(wǎng)絡(luò)結(jié)構(gòu),只有輸入數(shù)據(jù)不同。當(dāng)前大部分研究提取動(dòng)作特征采用的是光流估計(jì)法[22],提取的目標(biāo)光流可以很好地表示目標(biāo)的運(yùn)動(dòng)變化;但是其需要通過(guò)額外的神經(jīng)網(wǎng)絡(luò)生成,故計(jì)算量較大,不適合在實(shí)際應(yīng)用環(huán)境中使用。此外光流估計(jì)本身并不是專(zhuān)門(mén)為檢測(cè)異常行為而設(shè)計(jì)的網(wǎng)絡(luò),直接將其嵌入到圖1 中所設(shè)計(jì)的網(wǎng)絡(luò)中,實(shí)際效果并不理想,這一點(diǎn)將在實(shí)驗(yàn)部分說(shuō)明。受到Wang 等[23]和Ionescu 等[24]采用了連續(xù)視頻幀的幀差圖來(lái)提取動(dòng)作特征的啟發(fā),本文提出使用幀差圖代替光流圖,從而達(dá)到不使用預(yù)訓(xùn)練模型、減少計(jì)算量的目的。故動(dòng)作自編碼器輸入與外觀子網(wǎng)絡(luò)相同長(zhǎng)度的連續(xù)幀差圖來(lái)預(yù)測(cè)下一幀幀差圖。
與式(1)類(lèi)似,定義輸入的連續(xù)幀差圖為X1,X2,…,Xt,該t張幀差圖通過(guò)連續(xù)t+1 張視頻幀I1,I2,…,It,It+1前后幀相減處理獲得,其中,Zm表示編碼器Em輸出的動(dòng)作特征向量,然后解碼器Dm重建得到最終的幀差圖
在半監(jiān)督的異常檢測(cè)研究中,如何使得設(shè)計(jì)的網(wǎng)絡(luò)更好地學(xué)習(xí)到正常樣本的特征,盡可能降低與異常行為無(wú)關(guān)的背景噪聲影響是富有挑戰(zhàn)性的問(wèn)題。在使用自編碼器實(shí)現(xiàn)重建和預(yù)測(cè)任務(wù)時(shí),由于神經(jīng)網(wǎng)絡(luò)極強(qiáng)的學(xué)習(xí)能力,使得部分異常樣本也能重建得和正常樣本一樣好,導(dǎo)致最終的異常分?jǐn)?shù)差異不明顯,出現(xiàn)較高的誤檢率。參照Gong 等[4]和Park 等[17]所提方法,本文方法引入記憶增強(qiáng)模塊旨在學(xué)習(xí)最能表征所有正常樣本的有限個(gè)原型特征,并保存在內(nèi)存項(xiàng)中,在預(yù)測(cè)時(shí)給與內(nèi)存項(xiàng)相似度高的特征分配更高的權(quán)重,從而期望異常樣本獲得較大的重建誤差。
如圖1 所示,外觀和動(dòng)作自編碼子網(wǎng)絡(luò)都嵌入了記憶增強(qiáng)模塊。定義記憶增強(qiáng)模塊的輸入和輸出為z和,大小為H×W×C,其中H、W、C分別表示特征向量的高、寬和通道數(shù)。定義zk(k=1,2,…,K),其表示z中大小為1×1×C的一項(xiàng),其中K=H×W。記憶增強(qiáng)模塊中還包含存儲(chǔ)M個(gè)正常樣本特征的內(nèi)存項(xiàng),同理定義每個(gè)內(nèi)存項(xiàng)為pm(m=1,2,…,M),大小為1×1×C。在訓(xùn)練過(guò)程中會(huì)不斷更新和讀取內(nèi)存項(xiàng)。
對(duì)于讀取操作,首先計(jì)算每個(gè)z與所有pm的余弦相似度,生成一個(gè)大小為M×K的二維的相似度矩陣,之后在M維度上對(duì)該相似度矩陣應(yīng)用softmax 函數(shù),獲得相應(yīng)的匹配概率ωk,m,計(jì)算式如下:
式中:s(?,?)代表余弦相似度計(jì)算,如式(8)所示:
對(duì)于每個(gè)zk,該模塊將讀取內(nèi)存項(xiàng)中所有pm,計(jì)算相應(yīng)的權(quán)重ωk,m,即zk與內(nèi)存項(xiàng)中的特征越相似,其權(quán)重ωk,m越大。最后在原輸入特征zk的基礎(chǔ)上,將內(nèi)存項(xiàng)中保存的正常特征通過(guò)對(duì)應(yīng)權(quán)重ωk,m加到zk上,對(duì)正常特征起到增強(qiáng)效果,從而解碼器將更加關(guān)注正常特征的重建預(yù)測(cè)。增強(qiáng)后的特征如式(9)所示:
從圖1 所示的記憶增強(qiáng)模塊網(wǎng)絡(luò)結(jié)構(gòu)可知,更新操作與讀取操作的前期都要計(jì)算余弦相似度和應(yīng)用softmax 函數(shù)。故對(duì)應(yīng)的權(quán)重νk,m計(jì)算如下:
更新后的特征計(jì)算與式(9)的過(guò)程相反。在訓(xùn)練階段,輸入都為正常視頻,內(nèi)存項(xiàng)在不斷更新的過(guò)程中,期望學(xué)習(xí)到正常樣本廣泛具有的正常特征,故在迭代過(guò)程中,通過(guò)相似度計(jì)算,不斷將與pm相似度高的特征通過(guò)權(quán)重νk,m加入原有特征pm中。更新每個(gè)內(nèi)存項(xiàng)如式(11)所示:
式中l(wèi)2(?,?)表示L2正則化。
為了使內(nèi)存項(xiàng)真正記住正常樣本的特征,該模塊使用特征壓縮損失Lc和特征分離損失Ls兩個(gè)損失函數(shù)來(lái)保證網(wǎng)絡(luò)的收斂。Lc希望輸入特征zk與內(nèi)存中與其最相似的一項(xiàng)的相似度更加接近。如式(12)所示,引入L2范數(shù)懲罰它們之間的差異。
式中:pτ表示所有內(nèi)存項(xiàng)與zk相似度最高的一項(xiàng),即固定k時(shí),式(7)中ωk,m取得最大值時(shí)的m定義為τ。
網(wǎng)絡(luò)原本的目的是希望每個(gè)內(nèi)存項(xiàng)都能學(xué)習(xí)到不同的正常樣本特征,僅僅使用Lc可能會(huì)使得內(nèi)存中所有項(xiàng)都越來(lái)越相似,這會(huì)完全背離該設(shè)計(jì)的初衷。因此,引入特征分離損失函數(shù)來(lái)鼓勵(lì)內(nèi)存項(xiàng)間差異更大,降低相似度,從而學(xué)習(xí)到不同的特征,損失函數(shù)定義如下:
式中:τ和γ分別表示式(7)中ωk,m取得最大值和第二大值時(shí)的索引m的值。
根據(jù)圖1 所示,外觀自編碼網(wǎng)絡(luò)被鼓勵(lì)預(yù)測(cè)好It+1,而動(dòng)作自編碼網(wǎng)絡(luò)被鼓勵(lì)預(yù)測(cè)Xt+1,同時(shí)為了聯(lián)合利用到外觀特征與動(dòng)作特征,保證預(yù)測(cè)的It+1和Xt+1真實(shí)有效,將It+1與Xt+1相加獲得預(yù)測(cè)的It+2。因此總損失函數(shù)由三部分組成:外觀損失La、動(dòng)作損失Lm和預(yù)測(cè)損失Lp,其中,Lp是第t+2幀的真實(shí)圖It+2與預(yù)測(cè)圖的密度損失函數(shù),計(jì)算方法可參照式(3)。通過(guò)超參數(shù)λa、λm和λp來(lái)平衡3 個(gè)損失函數(shù),如式(14)所示:
其中:La是由外觀自編碼器網(wǎng)絡(luò)的密度損失和對(duì)應(yīng)的特征壓縮損失和特征分離損失構(gòu)成。La如式(15)所示:
同理Lm定義如下:
式中αc、αs為超參數(shù)。
在測(cè)試階段,本文將給定連續(xù)t+1 幀視頻,前t幀圖直接送入外觀子網(wǎng)絡(luò)預(yù)測(cè)第t+1幀RGB圖,同時(shí)這t+1幀計(jì)算得到t張連續(xù)幀差圖后送入動(dòng)作子網(wǎng)絡(luò)預(yù)測(cè)第t+1幀與第t+2幀真實(shí)視頻間的幀差圖,最終兩子網(wǎng)絡(luò)預(yù)測(cè)結(jié)果相加得到第t+2幀的預(yù)測(cè)圖。對(duì)于基于預(yù)測(cè)思想的異常檢測(cè)網(wǎng)絡(luò)來(lái)說(shuō),預(yù)測(cè)的圖與真實(shí)圖的差異大小決定該幀是否異常,而本文采用動(dòng)作和外觀雙預(yù)測(cè)的孿生網(wǎng)絡(luò),外觀方面的異常會(huì)使得的預(yù)測(cè)效果較差,動(dòng)作層面的異常會(huì)導(dǎo)致的預(yù)測(cè)效果較差,而外觀和外觀兼有的異常則會(huì)導(dǎo)致的預(yù)測(cè)效果都不理想。為了更全面地評(píng)價(jià)所有的異常情況,同時(shí)簡(jiǎn)化異常分?jǐn)?shù)的計(jì)算,本文網(wǎng)絡(luò)將t+2幀的預(yù)測(cè)圖質(zhì)量作為評(píng)估依據(jù),這是因?yàn)樯鲜鋈N異常情況都會(huì)導(dǎo)致t+2幀的預(yù)測(cè)效果下降。峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)是一種比較常用的圖像質(zhì)量評(píng)價(jià)方法,廣泛用于基于重建或預(yù)測(cè)的異常檢測(cè)模型。參考Liu等[9]的方法,計(jì)算的PSNR:
式中N表示視頻幀中的像素?cái)?shù)量。的值越小,代表圖像預(yù)測(cè)的質(zhì)量越差,就越可能是異常幀。此外,由于內(nèi)存增強(qiáng)模塊中的內(nèi)存單元存儲(chǔ)了正常樣本的原型特征,在測(cè)試階段,當(dāng)輸入的是正常視頻幀時(shí),其深層特征zk與內(nèi)存項(xiàng)pm的相似度較高,而輸入異常樣本則相反,故可以計(jì)算zk和與之最相近的pτ之間的L2距離:
因此最終的分?jǐn)?shù)由三部分構(gòu)成:P和Dm(z,p),其中Da(z,p)和Dm(z,p)是D(z,p)分別在外觀和動(dòng)作子網(wǎng)絡(luò)的分?jǐn)?shù)表示。為了將這3 個(gè)分?jǐn)?shù)進(jìn)行融合,將式(17)、(18)的值歸一化到[0,1]得到和。然后通過(guò)超參數(shù)β來(lái)平衡三個(gè)分?jǐn)?shù)得到最終的異常評(píng)價(jià)分?jǐn)?shù)S:
實(shí)驗(yàn)在3 個(gè)公共的異常檢測(cè)數(shù)據(jù)集UCSD-ped2[15]、Avenue[13]和ShanghaiTech[25]上進(jìn)行。UCSD-ped2 包含16 個(gè)正常視頻和14 個(gè)異常視頻,正常視頻中主要是攝像頭拍攝的人行道上的正常行走的行人,而異常視頻內(nèi)包括在人行道上騎自行車(chē)、溜冰、開(kāi)小汽車(chē)、橫穿馬路等行為。測(cè)試集提供幀級(jí)別和像素級(jí)的標(biāo)簽,所有視頻分辨率為320×240。Avenue 數(shù)據(jù)集包含15 個(gè)正常視頻和21 個(gè)異常視頻,分辨率為640×360,其使用固定攝像頭拍攝學(xué)校走廊的場(chǎng)景,提供矩形框標(biāo)記異常對(duì)象的標(biāo)簽。異常視頻則涵蓋行人奔跑、拋擲物品和穿越草坪等行為。ShanghaiTech 數(shù)據(jù)集是當(dāng)前最具挑戰(zhàn)和難度的異常檢測(cè)公共數(shù)據(jù)集之一,它包含來(lái)自13 個(gè)攝像頭下的330 個(gè)訓(xùn)練視頻和107 個(gè)測(cè)試視頻,每個(gè)視頻分辨率為480×856。圖3 展示在3 個(gè)數(shù)據(jù)集中的正常與異常樣本示例,紅色矩形框標(biāo)注出正在發(fā)生的異常行為。
圖3 三個(gè)數(shù)據(jù)集中的一些正常和異常樣本Fig.3 Some normal and abnormal samples in three datasets
當(dāng)前常用的評(píng)估方法就是采用受試者操作特征(Receiver Operating Characteristic,ROC)曲線,然后取曲線下面積(Area Under Curve,AUC)作為最終的評(píng)價(jià)指標(biāo),AUC 越高,代表異常檢測(cè)效果越好,本文將計(jì)算幀級(jí)別AUC 來(lái)評(píng)估模型的檢測(cè)效果。整個(gè)實(shí)驗(yàn)在Ubuntu 20.04、NVIDIA GeForce RTX 2080 Ti、Intel Core i7-9700 CPU 3.00 GHz的平臺(tái)上進(jìn)行,采用的深度學(xué)習(xí)框架為pytorch1.1。網(wǎng)絡(luò)輸入圖片尺寸將修改為256×256,使用Adam 優(yōu)化器優(yōu)化訓(xùn)練損失,初始學(xué)習(xí)率lr設(shè)為1E-4,其中記憶增強(qiáng)模塊的內(nèi)存項(xiàng)個(gè)數(shù)M=15,超參數(shù)λa=λm=1.0,λp=0.4,αc=0.1,αs=0.4,β=0.65。網(wǎng)絡(luò)訓(xùn)練50個(gè)epoch后損失收斂。
3.3.1 與其他方法的比較
表1 展示了本文所提方法與其他方法的比較。從表1 實(shí)驗(yàn)結(jié)果可以看出,所提方法與手動(dòng)提取特征的經(jīng)典方法MDT相比在UCSD-ped2 上AUC 提升了17.6%。AMC(Appearance-Motion Correspondence)[10]和TWD(TWo-stream Decoder)[26]都采用光流提取動(dòng)作特征的雙流網(wǎng)絡(luò)結(jié)構(gòu),與這兩種方法相比,本文方法在UCSD-Ped2和Avenue上AUC提升明顯,而且本文方法還未采用光流估計(jì)的預(yù)訓(xùn)練網(wǎng)絡(luò),極大降低了網(wǎng)絡(luò)復(fù)雜度。與作為預(yù)測(cè)方法基準(zhǔn)線(Baseline)的FFP(Future Frame Prediction)[9]比較可以看出,本文所提的雙分支預(yù)測(cè)的網(wǎng)絡(luò)有效。MemAE(Memory-augmented deep AutoEncoder)[4]和Mem-GN(Memory-Guided Normality)[17]都采用記憶增強(qiáng)的方法。與Mem-GN相比,本文方法在UCSD-ped2和ShanghaiTech數(shù)據(jù)集上取得了較好的結(jié)果,而在Avenue上略低于Mem-GN。從圖3可以看出,Avenue數(shù)據(jù)集的場(chǎng)景為校園內(nèi)的走廊,其背景走廊內(nèi)光線較暗,離攝像頭距離較遠(yuǎn)導(dǎo)致行人目標(biāo)過(guò)小等問(wèn)題會(huì)使得通過(guò)視頻幀提取的幀差圖含有較多噪聲,從而對(duì)提取到的動(dòng)作特征產(chǎn)生影響。而當(dāng)前極具挑戰(zhàn)的ShanghaiTech 數(shù)據(jù)集來(lái)源于13 個(gè)不同攝像頭,對(duì)類(lèi)似于Mem-GN等只對(duì)外觀進(jìn)行預(yù)測(cè)或重建的方法,其對(duì)場(chǎng)景變化的魯棒性較差。而本文方法通過(guò)幀差提取動(dòng)作特征則極大降低了背景的影響,從而使網(wǎng)絡(luò)更加關(guān)注于前景的變化。
表1 不同方法在不同數(shù)據(jù)集上的AUC對(duì)比 單位:%Tab.1 AUC comparison of different methods on different datasets unit:%
3.3.2 時(shí)間性能
為了評(píng)估所提方法的時(shí)間性能,通過(guò)在UCSD-ped2 數(shù)據(jù)集上使用不同分辨率的輸入幀來(lái)測(cè)試網(wǎng)絡(luò)的實(shí)時(shí)性。在分別采用128×128、256×256 和400×400 分辨率時(shí),本文方法的時(shí)間性能為93 frame/s、40 frame/s 和16 frame/s。當(dāng)分辨率為256×256 時(shí),F(xiàn)FP 和Mem-GN 的時(shí)間性能分別為25 frame/s 和67 frame/s。故本文方法的時(shí)間性能可滿(mǎn)足實(shí)時(shí)性要求。
圖4 分別展示了文中所提方法在Avenue、UCSD-ped2 和ShanghaiTech數(shù)據(jù)集中測(cè)試視頻上的檢測(cè)結(jié)果。
圖4 本文方法在三個(gè)數(shù)據(jù)集的測(cè)試視頻上的異常檢測(cè)結(jié)果Fig.4 Abnormal detection results of the proposed method on test videos of three datasets
從圖4 中可以清楚看出,異常發(fā)生時(shí)異常分?jǐn)?shù)迅速升高,故可通過(guò)設(shè)置一個(gè)分?jǐn)?shù)閾值將異常幀與正常幀區(qū)分出來(lái)。
為了進(jìn)一步證明所提出網(wǎng)絡(luò)各部分模塊的作用,本節(jié)將各部分模塊依次加入網(wǎng)絡(luò)中來(lái)測(cè)試異常檢測(cè)性能。
表2中,幀差代表動(dòng)作子網(wǎng)絡(luò)采用幀差還是光流;Memory表示是否采用記憶增強(qiáng)模塊;而殘差采樣模塊表示自編碼器網(wǎng)絡(luò)中編碼器和解碼器是否采用殘差結(jié)構(gòu)的上下采樣層。
表2 評(píng)估本文網(wǎng)絡(luò)中不同模塊的作用Tab.2 Function evaluation of different modules in the proposed network
從表2 可以看出,在本網(wǎng)絡(luò)中幀差比光流具有更佳的表現(xiàn);記憶增強(qiáng)模塊的加入使AUC具有較大提升;將圖1中自編碼器網(wǎng)絡(luò)中上下采樣層從單流結(jié)構(gòu)改為殘差的雙流結(jié)構(gòu)后,其AUC 有一定程度提升,故該結(jié)構(gòu)更利于編碼器提取外觀和動(dòng)作特征并改善解碼器預(yù)測(cè)圖的質(zhì)量。
本文所提方法損失函數(shù)中共設(shè)置了5 個(gè)超參數(shù),考慮到超參數(shù)對(duì)最終的檢測(cè)結(jié)果有較大影響,故表3對(duì)式(14)中3個(gè)參數(shù)λa、λm和λp對(duì)AUC 的影響。3 個(gè)超參數(shù)分別用于確定外觀損失La、動(dòng)作損失Lm和預(yù)測(cè)損失Lp的權(quán)重。表3 顯示3 個(gè)參數(shù)設(shè)定不同比重時(shí),檢測(cè)結(jié)果AUC的變化情況。
表3 損失函數(shù)中主要超參數(shù)對(duì)AUC的影響Tab.3 Influence of main hyperparameters in loss function on AUC
從表3 可知,總體來(lái)說(shuō),La相較Lm對(duì)AUC 的影響更大,Lp的目的是讓由融合相加得到的更接近真實(shí)幀It+2,而此幀的PSNR作為異常分?jǐn)?shù)的重要部分。
如表4 所示,輸入視頻幀序列長(zhǎng)度t的長(zhǎng)度較小時(shí),無(wú)法達(dá)到預(yù)測(cè)的目的,其更接近于重建網(wǎng)絡(luò);但是,當(dāng)t的長(zhǎng)度逐漸增大時(shí),網(wǎng)絡(luò)并不能因此學(xué)到更多的時(shí)序特征,反而會(huì)增加網(wǎng)絡(luò)參數(shù)。
表4 不同長(zhǎng)度幀序列下的AUCTab.4 AUC under frame sequences with different lengths
本文提出了一種基于外觀和動(dòng)作特征雙預(yù)測(cè)的視頻異常行為檢測(cè)方法。該孿生網(wǎng)絡(luò)同時(shí)使用RGB 圖和幀差圖來(lái)提取動(dòng)作和外觀特征,并進(jìn)行預(yù)測(cè)。通過(guò)在自編碼器瓶頸層級(jí)聯(lián)了記憶增強(qiáng)模塊,促使網(wǎng)絡(luò)更好地學(xué)習(xí)正常樣本的特征,降低對(duì)異常樣本的預(yù)測(cè)效果。實(shí)驗(yàn)結(jié)果表明,所提方法提升了視頻異常行為的準(zhǔn)確率,提高了其在3 個(gè)數(shù)據(jù)集上的AUC 指標(biāo)。本文方法對(duì)提取正常行為的外觀和動(dòng)作特征進(jìn)行了部分優(yōu)化,降低預(yù)測(cè)網(wǎng)絡(luò)對(duì)異常視頻的預(yù)測(cè)效果,但仍未充分提取到正常樣本的特征,且網(wǎng)絡(luò)對(duì)背景噪聲的魯棒性欠佳,故在未來(lái)工作中,將進(jìn)一步對(duì)該問(wèn)題進(jìn)行研究,提高網(wǎng)絡(luò)對(duì)異常行為檢測(cè)的準(zhǔn)確性和穩(wěn)定性。