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