楊欣欣,李慧波,胡 罡
(中國(guó)電子科學(xué)研究院,北京 100041)
近年來(lái),隨著民用安防設(shè)備的普及,視頻監(jiān)控系統(tǒng)在道路、商場(chǎng)、公園等公共場(chǎng)所越來(lái)越普遍,成為保障社會(huì)安全和秩序的重要手段。在傳統(tǒng)的視頻監(jiān)控中,工作人員只能通過(guò)觀察每幀監(jiān)控畫(huà)面獲知異常情況,長(zhǎng)時(shí)間觀察容易造成視覺(jué)疲勞。傳統(tǒng)的視頻監(jiān)控主觀性強(qiáng),人力耗費(fèi)大,效率低下?;谥悄鼙O(jiān)控視頻的異常行為分析成為計(jì)算機(jī)視覺(jué)領(lǐng)域的研究熱點(diǎn),具有重要研究意義和應(yīng)用價(jià)值。
目前國(guó)內(nèi)外學(xué)者在視頻異常行為檢測(cè)方面已經(jīng)開(kāi)展了一些研究。Hu結(jié)合視頻事件周?chē)臅r(shí)空上下文信息提出局部最近鄰距離描述模型,具有檢測(cè)多個(gè)異常事件的優(yōu)點(diǎn)[1]。Li提出混合動(dòng)態(tài)紋理模型,綜合考慮紋理和空間特性[2]。Yuan采用固體物理學(xué)粒子作用力勢(shì)能函數(shù)直觀描述視覺(jué)語(yǔ)境,提出群體信息結(jié)構(gòu)語(yǔ)境描述模型[3],在線實(shí)時(shí)分析局部異常行為。Cui模擬基于社會(huì)行為分析的群體活動(dòng),提出勢(shì)能函數(shù)來(lái)表示物體的當(dāng)前行為狀態(tài)[4]。該方法不依賴(lài)于目標(biāo)的檢測(cè)與分割,而是跟蹤時(shí)空興趣點(diǎn),更具魯棒性。Adam基于底層統(tǒng)計(jì)信息設(shè)計(jì)針對(duì)特定類(lèi)型異常事件監(jiān)視器,集成多個(gè)監(jiān)視器檢測(cè)異常行為[5]。Wu針對(duì)相干和非相干場(chǎng)景,提出人群流建模和異常檢測(cè)方法[6],將混沌動(dòng)力學(xué)引入到群體描述模型中,通過(guò)混沌不變特征描述復(fù)雜的群體運(yùn)動(dòng)。Kim提出時(shí)空馬爾可夫隨機(jī)場(chǎng)(MRF)模型來(lái)檢測(cè)視頻中的異常行為[7]。MRF節(jié)點(diǎn)表示視頻幀中的局部區(qū)域網(wǎng)格,邊表示空間和時(shí)間中相鄰節(jié)點(diǎn)的鏈接關(guān)聯(lián)。該模型不僅可以在人群中定位局部異常行為,而且還能捕捉全局異常行為。Cong提出通過(guò)正常事件的稀疏重建來(lái)檢測(cè)異常事件[8-9],在正常字典上引入稀疏重建成本度量測(cè)試樣本的正常性。該方法為局部異常事件和全局異常事件的檢測(cè)提供了統(tǒng)一的解決方案。Zhu針對(duì)特征提取過(guò)程中的噪聲和不確定性,提出一種基于完全無(wú)監(jiān)督的非負(fù)稀疏編碼的人群異常事件檢測(cè)方法[10]。該算法將字典學(xué)習(xí)任務(wù)定義為具有稀疏約束的非負(fù)矩陣分解問(wèn)題,以小波距離代替?zhèn)鹘y(tǒng)的歐幾里得距離作為距離度量重構(gòu)成本函數(shù)。Cheng提出一種基于層次特征表示和高斯過(guò)程回歸的局部和全局異常檢測(cè)層次框架[11-12]。為了同時(shí)檢測(cè)局部和全局異常,提取訓(xùn)練視頻中的關(guān)鍵區(qū)域,用于發(fā)現(xiàn)鄰近稀疏時(shí)空興趣點(diǎn)的幾何關(guān)系。該算法對(duì)輕微的拓?fù)渥冃尉哂恤敯粜?。Zhang提出基于位置敏感散列濾波的異常檢測(cè)方法,將正常行為散列為多個(gè)具有位置敏感散列功能的特征組,以過(guò)濾異常行為[13]。并采用粒子群優(yōu)化方法搜索最優(yōu)散列函數(shù),提高算法效率和準(zhǔn)確性。Leyva通過(guò)高斯混合模型、馬爾可夫鏈和詞袋來(lái)評(píng)估特征集,提高視頻在線檢測(cè)異常事件效率[14]。文獻(xiàn)[15-18]為解決局部空間區(qū)域需要使用手工制作特征來(lái)識(shí)別異常的問(wèn)題,提出時(shí)空自動(dòng)編碼器模型。該模型利用深度神經(jīng)網(wǎng)絡(luò)自動(dòng)學(xué)習(xí)視頻表征,并通過(guò)三維卷積從時(shí)空兩個(gè)維度提取特征。
視頻異常行為檢測(cè)模型訓(xùn)練中需要的正常行為負(fù)例獲取難度較小,而異常行為正例獲取難度往往較大。所以訓(xùn)練樣本集中負(fù)例往往較多,而正例往往較少,具有明顯的類(lèi)別不平衡性。目前已有的異常行為檢測(cè)方法忽略了這種不平衡類(lèi)的問(wèn)題,使得模型傾向于數(shù)量較多的負(fù)例,容易將部分正例劃分到負(fù)例類(lèi)別中,造成異常行為漏檢,在實(shí)際應(yīng)用中可能會(huì)產(chǎn)生嚴(yán)重后果。為了解決異常檢測(cè)中類(lèi)別不平衡問(wèn)題,本文采用欠采樣方法構(gòu)建類(lèi)別平衡的訓(xùn)練樣本子集。從負(fù)例樣本中有放回地多次隨機(jī)采樣,每次選取與正例數(shù)目相近的樣本。將選取的負(fù)例和正例樣本劃分到同一分組。經(jīng)多次采樣后得到多個(gè)分組,每個(gè)分組包含一個(gè)類(lèi)別平衡的訓(xùn)練樣本子集。在每個(gè)訓(xùn)練樣本子集上訓(xùn)練學(xué)習(xí)模型,然后集成每個(gè)子集的學(xué)習(xí)模型,最終形成異常行為集成檢測(cè)模型。深度森林模型是一種天然的決策樹(shù)集成模型,具有較少的參數(shù),適用于不同規(guī)模大小數(shù)據(jù)集的優(yōu)點(diǎn)[19]。目前深度森林模型已成功應(yīng)用于圖像分類(lèi)[20]、自然語(yǔ)言處理[21]等領(lǐng)域,并取得了較好的效果。本文以深度森林為框架,利用欠采樣方法構(gòu)建分組訓(xùn)練子集,每個(gè)分組訓(xùn)練一個(gè)隨機(jī)決策樹(shù),多個(gè)分組共同組成若干隨機(jī)森林。將隨機(jī)森林輸出結(jié)果合并后輸入至下一層網(wǎng)絡(luò),以此類(lèi)推,形成級(jí)聯(lián)深度森林異常檢測(cè)模型。
首先采用欠采樣的方法構(gòu)建不平衡類(lèi)視頻幀訓(xùn)練集。然后訓(xùn)練不平衡類(lèi)隨機(jī)森林模型,并將模型融入到深度學(xué)習(xí)框架中,構(gòu)建多粒度級(jí)聯(lián)深度森林模型。最后將不平衡類(lèi)深度森林模型應(yīng)用于視頻異常行為檢測(cè)中。
圖1 基于欠采樣的隨機(jī)森林模型示意圖
算法1:基于欠采樣的不平衡類(lèi)隨機(jī)森林算法
1. 從每個(gè)負(fù)類(lèi)中有放回地隨機(jī)采樣RNi個(gè)樣本,與正例合并組成訓(xùn)練子集Si;
2. 利用訓(xùn)練子集Si建立CART決策樹(shù);
3.重復(fù)以上步驟m次,建立m棵CART決策樹(shù);
4.由m個(gè)CART決策樹(shù)構(gòu)成隨機(jī)森林集成學(xué)習(xí)系統(tǒng);
5. 對(duì)于新樣本x,輸出m個(gè)決策樹(shù)結(jié)果的平均值。
將少數(shù)正例與數(shù)目近似的負(fù)例樣本合并組合為一個(gè)訓(xùn)練子集,在此子集上訓(xùn)練決策樹(shù)模型。最終,再將多個(gè)決策樹(shù)模型結(jié)果合并作為輸出結(jié)果。可見(jiàn)基于欠采樣的不平衡類(lèi)隨機(jī)森林算法是一種集成學(xué)習(xí)方法。與直接采用決策樹(shù)或決策森林方法相比,該方法不僅避免了多數(shù)負(fù)例對(duì)模型效果的不利影響,同時(shí)還能取得更加穩(wěn)定、有效的預(yù)測(cè)結(jié)果。
視頻幀每幅圖像中的像素間存在空間關(guān)系,為了表示這種空間關(guān)系,可以采用滑動(dòng)窗口掃描圖像原始特征。如圖2所示,圖像原始特征具有空間關(guān)系,比如一個(gè)由400個(gè)圖像像素組成的20×20的面板,那么一個(gè)10×10滑動(dòng)窗口將產(chǎn)生11×11個(gè)大小為10×10特征向量。從正/負(fù)訓(xùn)練樣本中提取的特征向量均視為正/負(fù)實(shí)例,然后將這些實(shí)例用作訓(xùn)練決策樹(shù)。從相同大小的窗口中提取的實(shí)例用于訓(xùn)練完全隨機(jī)樹(shù),集成隨機(jī)樹(shù)為隨機(jī)森林。然后連接隨機(jī)森林預(yù)測(cè)的類(lèi)別分布向量作為新的變換特征輸入至下一層網(wǎng)絡(luò)。如圖2所示,假設(shè)有3個(gè)類(lèi),并且使用了一個(gè)10×10維的窗口;然后,每個(gè)森林產(chǎn)生11×11個(gè)三維類(lèi)向量,產(chǎn)生對(duì)應(yīng)于原始20×20維原始特征向量的20×20×3維變換特征向量。圖2只顯示了一個(gè)大小為10×10的滑動(dòng)窗口。為了取得更魯棒的效果,采用多種滑動(dòng)尺寸窗口,將生成不同粒度的特征向量,如圖3所示。
圖2 基于滑動(dòng)窗口的多粒度圖像特征選取
圖3 不平衡類(lèi)深度森林算法過(guò)程
深度網(wǎng)絡(luò)學(xué)習(xí)模型依賴(lài)于圖像特征的多層次處理,從不同層級(jí)表示語(yǔ)義信息。由此啟發(fā),深度森林采用如圖3所示的多粒度級(jí)聯(lián)結(jié)構(gòu),每層級(jí)聯(lián)接收處理層的特征信息,輸出處理結(jié)果至下一個(gè)層級(jí)。每個(gè)層級(jí)是由不平衡類(lèi)隨機(jī)森林組成的集合,是決策森林的集成學(xué)習(xí)系統(tǒng)。為了發(fā)揮集成學(xué)習(xí)系統(tǒng)模型多樣性的優(yōu)勢(shì),隨機(jī)森林采用不同類(lèi)型的決策樹(shù)。
圖3描述了不平衡類(lèi)深度森林的整個(gè)過(guò)程。首先利用不同大小的滑動(dòng)窗口,掃描不同粒度的特征。利用1.1節(jié)基于欠采樣的方法構(gòu)建不平衡隨機(jī)森林算法。將同一粒度下不同隨機(jī)森林預(yù)測(cè)結(jié)果組合為類(lèi)向量。將類(lèi)向量作為特征向量輸入至下一層級(jí)的隨機(jī)森林。預(yù)測(cè)的類(lèi)分布形成一個(gè)新的類(lèi)向量,然后與原始特征向量連接以輸入到下一層級(jí)聯(lián)。利用前一級(jí)生成的類(lèi)向量擴(kuò)充變換后形成新的特征向量,分別訓(xùn)練二級(jí)和三級(jí)森林。迭代此過(guò)程直到驗(yàn)證準(zhǔn)則達(dá)到收斂狀態(tài)。模型最終是由多層級(jí)聯(lián)組成,每個(gè)級(jí)聯(lián)由多個(gè)不平衡類(lèi)隨機(jī)森林組成。每個(gè)級(jí)聯(lián)集成通過(guò)多種粒度特征掃描訓(xùn)練的決策樹(shù)。在視頻幀異常行為檢測(cè)中,如果計(jì)算資源充足,可以嘗試更多的粒度測(cè)試實(shí)際效果。給定一個(gè)測(cè)試實(shí)例,需要經(jīng)過(guò)多粒度掃描過(guò)程以獲得特征表示,然后經(jīng)過(guò)級(jí)聯(lián)直到最后一級(jí)。最終通過(guò)在最后一級(jí)聚集多個(gè)類(lèi)向量,預(yù)測(cè)結(jié)果采取具有最大聚集值的類(lèi)來(lái)獲得。
為了減少過(guò)擬合的風(fēng)險(xiǎn),通過(guò)k次交叉驗(yàn)證生成每個(gè)森林的訓(xùn)練樣本和測(cè)試樣本。具體地說(shuō),每個(gè)實(shí)例將被用作k-1次訓(xùn)練數(shù)據(jù),產(chǎn)生k-1類(lèi)向量,然后對(duì)這些類(lèi)向量進(jìn)行平均,作為下一級(jí)級(jí)聯(lián)的增強(qiáng)特征最終類(lèi)向量。在擴(kuò)展一個(gè)新的級(jí)聯(lián)之后,可以在驗(yàn)證集上估計(jì)整個(gè)級(jí)聯(lián)的性能,如果沒(méi)有顯著的性能增益,則訓(xùn)練過(guò)程將終止,從而自動(dòng)確定級(jí)聯(lián)的數(shù)量。當(dāng)涉及訓(xùn)練成本或可用計(jì)算資源有限時(shí),也可以使用訓(xùn)練誤差而不是交叉驗(yàn)證誤差來(lái)控制級(jí)聯(lián)增長(zhǎng)。與大多數(shù)層級(jí)固定的深層神經(jīng)網(wǎng)絡(luò)模型不同,深度森林在適當(dāng)?shù)臅r(shí)候終止訓(xùn)練,自適應(yīng)地確定網(wǎng)絡(luò)層級(jí)數(shù)和模型復(fù)雜度。IMDF模型能夠適用于不同規(guī)模的訓(xùn)練數(shù)據(jù),而不僅僅局限于大規(guī)模的訓(xùn)練數(shù)據(jù)。
本文進(jìn)行實(shí)驗(yàn)的硬件環(huán)境:CPU為Core i5-5200U(2.20 GHz)、顯卡為 NVIDA GeForce 920M、內(nèi)存為8 GB。軟件環(huán)境:計(jì)算機(jī)操作系統(tǒng)為 Windows 8,訓(xùn)練測(cè)試平臺(tái)為 TensorFlow2.2、 Python3.5。
ROC曲線 (Receiver operating characteristic curve)能夠反映檢測(cè)率與誤警率之間的關(guān)系,采用的 ROC作為評(píng)測(cè)標(biāo)準(zhǔn),AUC (Area under curve) 表示 ROC 曲線面積。為了驗(yàn)證IMDF算法的有效性,將IMDF算法與經(jīng)典異常檢測(cè)方法稀疏重構(gòu)誤差算法(SRC, sparse reconstruction cost)[8]和自編碼深度卷積神經(jīng)網(wǎng)絡(luò)算法(CAE, deep convolutional auto-encoder)[22]進(jìn)行實(shí)驗(yàn)對(duì)比分析。
UMN 數(shù)據(jù)庫(kù)是明尼蘇達(dá)大學(xué)發(fā)布的群體異常行為庫(kù),包含三個(gè)不同場(chǎng)景的視頻[12],每個(gè)場(chǎng)景都包含群體逃離異常事件,訓(xùn)練樣本和測(cè)試樣本數(shù)量如表1所示。UCSD視頻集正常樣本僅包括行人,異常樣本包括:騎自行車(chē)、坐輪椅、滑冰、推小車(chē)、草地上的行人或車(chē)輛。根據(jù)場(chǎng)景不同,數(shù)據(jù)分成兩個(gè)子集,具體樣本數(shù)量如表1所示。表1表明UMN和UCSD數(shù)據(jù)具有明顯的類(lèi)別不平衡的特點(diǎn)。
表1 不同數(shù)據(jù)的樣本數(shù)量
IMDF算法滑動(dòng)窗口大小選取為4×4、8×8、16×16和32×32,每個(gè)隨機(jī)森林包含500棵決策樹(shù)。在UCSD數(shù)據(jù)集中為實(shí)現(xiàn)人群異常行為的定位,將完整視頻畫(huà)面劃分為若干個(gè)大小相同的局部子區(qū)域,相鄰子區(qū)域互不重疊。每個(gè)子區(qū)域設(shè)置一個(gè)唯一編號(hào),每個(gè)編號(hào)對(duì)應(yīng)不同的子區(qū)域。為實(shí)現(xiàn)對(duì)每個(gè)子區(qū)域進(jìn)行人群異常行為檢測(cè),將每個(gè)子區(qū)域的連續(xù)視頻幀作為輸入,訓(xùn)練得學(xué)習(xí)模型;在檢測(cè)人群異常行為時(shí),同樣將完整視頻劃分為局部子區(qū)域,再將每個(gè)局部子區(qū)域輸入已訓(xùn)練好的學(xué)習(xí)模型。若某個(gè)子區(qū)域被識(shí)別為異常,則根據(jù)編號(hào)確定其在視頻畫(huà)面中的位置,實(shí)現(xiàn)群體異常行為的定位。
圖4 SRC、CAE和IMDF算法在UMN數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果ROC曲線比較
SRC、CAE與IMDF算法在UMN和UCSD數(shù)據(jù)集上的實(shí)驗(yàn)分析結(jié)果ROC曲線分別如圖4和圖5所示。ROC曲線的橫坐標(biāo)為誤檢率,縱坐標(biāo)為檢測(cè)率,隨著檢測(cè)率的提高,誤檢率也隨之提高。ROC曲線下方的面積AUC綜合衡量了檢測(cè)率和誤檢率。首先,圖4和圖5結(jié)果表明在UMN和CUSD數(shù)據(jù)集上IMDF實(shí)驗(yàn)結(jié)果的ROC曲線均明顯高于SRC和CAE算法。原因在于,IMDF算法采用欠采樣的方法,隨機(jī)采樣與異常類(lèi)樣本數(shù)量近似的正常類(lèi)樣本,避免了異常樣本太少引起分類(lèi)器向正常樣本傾斜的問(wèn)題。然后采用隨機(jī)森林方法,將不同采樣樣本訓(xùn)練的分類(lèi)器進(jìn)行集成,獲得總體樣本訓(xùn)練結(jié)果。由于異常類(lèi)別訓(xùn)練樣本較少,造成CAE算法訓(xùn)練時(shí)正常樣本發(fā)揮的作用較大,異常樣本較小,導(dǎo)致異常樣本識(shí)別的準(zhǔn)確率降低。SRC算法適用于僅包含正常類(lèi)別樣本集訓(xùn)練,具有較強(qiáng)的正常樣本識(shí)別能力。但是SRC算法失去了對(duì)異常類(lèi)別的描述能力,無(wú)法充分利用異常樣本進(jìn)一步提高正常類(lèi)別和異常類(lèi)別的識(shí)別能力。
圖5 SRC、CAE和IMDF算法在UCSD數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果ROC值比較
圖6 SRC、CAE和IMDF算法在UCSD數(shù)據(jù)集上異常行為檢測(cè)示例
如圖6所示為算法SRC、CAE和IMDF在UCSD數(shù)據(jù)集上異常行為檢測(cè)示例。圖6(a)中IMDF算法成功檢測(cè)到視頻中3個(gè)異常行為,而SRC算法漏檢自行車(chē),CAE算法漏檢滑板車(chē)。圖6(b)中IMDF算法成功檢測(cè)到視頻車(chē)輛和自行車(chē)2個(gè)異常行為,而SRC和CAE算法漏檢自行車(chē)。圖6(c)中IMDF算法成功檢測(cè)到視頻車(chē)輛和滑板車(chē)2個(gè)異常行為,而SRC和CAE算法漏檢滑板車(chē)。圖6(d)中IMDF算法成功檢測(cè)到視頻2個(gè)自行車(chē)異常行為,而SRC和CAE算法漏檢了一個(gè)自行車(chē)。SRC和CAE訓(xùn)練模型中異常樣本較少,在訓(xùn)練過(guò)程中發(fā)揮作用較少,造成異常行為漏檢的情況。圖7 所示為SRC、CAE和IMDF算法在UMN數(shù)據(jù)集上3個(gè)場(chǎng)景中異常檢測(cè)結(jié)果,黑色橫條表示含異常行為的幀,白色橫條表示屬于正常行為的幀,其中第一行為真實(shí)結(jié)果,第2-4行分別為SRC、CAE和IMDF算法檢測(cè)結(jié)果。結(jié)果表明,與SRC和CAE算法相比,IMDF算法漏檢和誤檢較少,檢測(cè)結(jié)果更接近真實(shí)情況。
圖7 SRC、CAE和IMDF算法在UMN數(shù)據(jù)集上異常行為檢測(cè)結(jié)果
針對(duì)視頻幀的異常行為檢測(cè)中存在不平衡類(lèi)問(wèn)題,提出一種基于欠采樣的不平衡類(lèi)深度森林算法,該算法采用欠采樣的方法處理訓(xùn)練樣本,能夠較好地解決類(lèi)別不平衡對(duì)決策森林模型的不利影響。實(shí)驗(yàn)結(jié)果表明,與已有的一類(lèi)支持向量機(jī)和卷積神經(jīng)網(wǎng)絡(luò)算法方法相比,IMDF算法具有更好的檢測(cè)效果。然而IMDF模型靜態(tài)地分析每幀視頻,忽略了相鄰視頻幀之間的聯(lián)系。下一步主要研究方向是在訓(xùn)練模型中考慮目標(biāo)行為在相鄰視頻幀中的時(shí)空連續(xù)性,引入時(shí)空因素檢測(cè)異常行為,進(jìn)一步提高檢測(cè)效果。