胡六四,尹汪宏,陳俊生,王 林,夏紅霞
(安徽電子信息職業(yè)技術(shù)學院 軟件工程學院,安徽 蚌埠 233030)
智慧城市的營建推動了智能視頻監(jiān)控系統(tǒng)的發(fā)展,智能視頻監(jiān)控系統(tǒng)是現(xiàn)代工業(yè)和城市環(huán)境的開發(fā)、運營以及實現(xiàn)可持續(xù)發(fā)展的關(guān)鍵因素。視頻監(jiān)控不僅能夠有效保障人們?nèi)粘I钌a(chǎn)的安全性,還有利于提高城市管理和運營的效率。隨著智能攝像頭的數(shù)量和部署范圍的增加,海量的視頻數(shù)據(jù)流為處理分析帶來了巨大的壓力,而使用人工對視頻數(shù)據(jù)流進行準確分析也是不切實際的。
人工智能(AI)技術(shù)的發(fā)展為自動化監(jiān)控系統(tǒng)提供支撐,AI技術(shù)適用于視頻摘要、對象檢測和重識別、行為檢測和異常識別等領(lǐng)域。其中,異常行為識別是當下重要的研究方向之一,也是自動化視頻分析中的一項基本任務(wù)。異常檢測的目的是識別不符合預(yù)期、即異常的行為,異常行為和事件通常是未知的,這也使得異常識別成為一個復(fù)雜研究課題。
高維的時空視頻數(shù)據(jù)以及跨視頻幀數(shù)據(jù)處理增加了視頻處理和分析的計算復(fù)雜性和成本。而且,異常行為的定義并不明確,正常行為和異常行為之間的界限往往是模糊的,并且具有上下文關(guān)系。另外一般情況下,正常行為很可能會隨著時間的推移而演變,從而導(dǎo)致識別檢測過程出現(xiàn)誤差?,F(xiàn)有的異常行為技術(shù)主要圍繞著優(yōu)化計算復(fù)雜性和識別上下文異常來展開,迄今為止仍然缺乏對異常行為動態(tài)性、即異常行為隨時間演變的研究與探討。
本文基于增量時空學習,提出了RAID算法以實現(xiàn)實時異常行為識別。RAID從時空視頻數(shù)據(jù)流中主動學習正常行為的時空模式。主動學習可以隨著環(huán)境的變化和新信息的出現(xiàn)不斷完善學習過程,并結(jié)合觀察者來改善迭代的學習結(jié)果。
RAID的架構(gòu)如圖1所示。首先,將從時間到t的實時監(jiān)控視頻作為時空模型訓(xùn)練的輸入。然后,將訓(xùn)練后的模型用于進行異常行為識別。接下來,人們對檢測到的異常進行驗證,將驗證輸入用于構(gòu)建更新后的正常行為。這種更新后的正常行為會被反饋到RAID模型中以進行持續(xù)的學習。
圖1 系統(tǒng)架構(gòu)Fig.1 System architecture
用于訓(xùn)練的視頻流X?由一系列高度為、寬度為的幀組成,是包含正常行為的視頻幀集合。用于測試的視頻流X包含正常和異常行為的視頻幀。模型的目標是從X中學習正常行為的表示,隨后使用X對其進行驗證以識別異常行為?,F(xiàn)有的工作需要完整的正常行為訓(xùn)練數(shù)據(jù)集,而RAID是基于實時接收的連續(xù)視頻的時空信息主動更新先前學到的知識,同時RAID考察了使用者對異常檢測結(jié)果的反饋。
RAID模型由時空自動編碼器組成,從X中學習到正常行為的時空表示。自編碼器是一種無監(jiān)督學習算法,采用反向傳播通過最小化重構(gòu)誤差來將目標值設(shè)置為等于輸入。在RAID模型中,時空自動編碼器由一系列用于學習空間表示的CNN層和一系列用于學習時間表示的ConvLSTM層組成。
研究中,要對原始視頻數(shù)據(jù)進行預(yù)處理,以增強時空自動編碼器模型的學習能力。首先,將視頻數(shù)據(jù)提取為連續(xù)幀,轉(zhuǎn)換為灰度以減少維度,調(diào)整為224×224像素并通過縮放來標準化像素值。時空自動編碼器模型的輸入是視頻幀的時間長方體,使用長度為的滑動窗口進行提取,不進行任何特征變換。將長度為的連續(xù)幀堆疊在一起以構(gòu)建時間長方體。
在視頻分析中,卷積層可以通過使用過濾器學習特征表示來保留輸入幀內(nèi)的空間關(guān)系,過濾器的值是在訓(xùn)練過程中學習的。RAID模型由2個卷積層和2個反卷積層組成。
LSTM在處理空間數(shù)據(jù)方面存在缺陷,這是因為空間信息沒有在其狀態(tài)轉(zhuǎn)換中進行編碼。在保留空間結(jié)構(gòu)的同時,從監(jiān)控視頻流中學習時間規(guī)律是很重要的。因此,利用卷積LSTM(ConvLSTM),即通過將其輸入、隱藏狀態(tài)、門和單元輸出設(shè)計為3D張量來克服這個缺點。此外,在輸入和門中的矩陣運算被卷積運算取代。ConvLSTM能夠從輸入幀序列中捕獲時空特征,ConvLSTM模型可以用式(1)~(5)進行表示:
其中,符號“*”是指卷積操作;符號“?”是指哈達瑪積;X 表示輸入;C 表示單元狀態(tài);H 表示隱藏狀態(tài);門i 、f 和o 都是三維的張量;(·)是激活函數(shù);W 和W 是二維卷積核。RAID模型由3個ConvLSTM層組成。時空自動編碼器的結(jié)構(gòu)如圖2所示。
圖2 時空自動編碼器的結(jié)構(gòu)Fig.2 The structure of spatio-temporal automatic encoder
RAID模型可用于以像素級精度重建輸入視頻的正態(tài)性。然而,經(jīng)過訓(xùn)練的自動編碼器不具備準確重建異常行為的能力。這是因為訓(xùn)練數(shù)據(jù)中并不包含異常行為。重建誤差的計算方式如式(6)所示:
使用重建誤差閾值來區(qū)分正常和異常行為。在實際應(yīng)用中,人們可以根據(jù)監(jiān)控應(yīng)用所需的靈敏度選擇的值。較低的值會導(dǎo)致模型具有更高敏感性。
此外,引入了時間閾值,該閾值用于減少由于遮擋、運動模糊和高強度照明條件導(dǎo)致的監(jiān)控視頻流突然變化而導(dǎo)致的誤報。
模型能夠在視頻幀定位出異常行為發(fā)生的特定區(qū)域。在檢測到一段視頻中有異常行為后,通過計算非重疊時空局部長方體窗口的重建誤差來定位異常的具體位置。
在實際視頻監(jiān)控環(huán)境中主動學習的目的是實現(xiàn)動態(tài)變化環(huán)境中的異常識別。為了提高模型的泛化能力,RAID模型通過采用模糊聚合的主動學習方法,不斷地訓(xùn)練和學習以適應(yīng)具有新行為的模型。
RAID模型首先使用預(yù)先確定的正常行為進行訓(xùn)練,并用于異常檢測。如果視頻幀被檢測為異常,即輸入長方體的重構(gòu)誤差高于異常閾值,則輸入長方體被歸類為異常。然后將該結(jié)果發(fā)送給使用者進行驗證。如果檢測到的視頻幀是錯誤檢測(誤報),那么該視頻幀會被手動地標記為正常,并將該結(jié)果用于連續(xù)學習階段。RAID模型的連續(xù)學習更新的輸入是來自連續(xù)接收的監(jiān)控視頻流的時空信息以及人們對監(jiān)測結(jié)果的反饋。
RAID模型通過視頻幀的模糊聚合來保持學習迭代的穩(wěn)定性。在檢測階段,模型根據(jù)重構(gòu)誤差用模糊度量g標記所有被評估的視頻幀,并基于g將視頻幀分為個組。隨后,在連續(xù)學習階段,算法將從每組選擇包含最高g的個視頻幀來訓(xùn)練RAID模型。使用式(7)來選擇連續(xù)訓(xùn)練的場景,具體數(shù)學公式可寫為:
實驗部分使用2個常用的數(shù)據(jù)集對RAID模型進行評估。這2個數(shù)據(jù)集分別是CUHK街道數(shù)據(jù)集和UCSD行人數(shù)據(jù)集。實驗采用的服務(wù)器配置有Intel Xeon Gold 32核3.20 GHz處理器、128 GB內(nèi)存和雙NVIDIA Quadro GPU。
CUHK街道數(shù)據(jù)集是由16個包含正常人類行為的訓(xùn)練視頻樣本和21個包含異常事件及行為的測試視頻樣本組面。其中,異常行為是指亂扔垃圾、在草地上行走和遺棄物品等。UCSD人行道數(shù)據(jù)集有34個訓(xùn)練視頻樣本和36個測試視頻樣本。正常行為包含行人在路徑上行走的場景,而測試視頻樣本包含異常行為和意外行為。
在異常識別的評估中,將RAID模型與MPCCA、ConvLSTM-AE和Unmasking進行對比。其中,MPCCA模型利用時空馬爾可夫隨機場和視頻光流進行異常檢測。ConvLSTM-AE集成了CNN和ConvLSTM自動編碼器,用于編碼正常行為中的空間和時間模式。Unmasking是一種基于unmasking技術(shù)的異常檢測方法,該方法采用從三維梯度捕獲的運動特征和來自預(yù)訓(xùn)練CNN的外觀特征來進行異常檢測。
使用ROC曲線的曲線下面積()和等錯誤率()作為指標來評估各個模型的結(jié)果,結(jié)果見表1。分析表1可知,RAID模型的性能要優(yōu)于基于人工設(shè)計特征的MPCCA。與基于深度學習的方法、即ConvLSTM-AE和Unmasking相比,RAID模型在UCSD行人數(shù)據(jù)集上具有最好的性能。
表1 各模型的性能對比Tab.1 Performance comparison of models
接下來,對模型的異常定位性能進行定性分析,部分結(jié)果如圖3所示。在UCSD人行道數(shù)據(jù)集中,RAID能定位視頻中的諸如滑板、騎自行車和小車等異常行為。在CUHK街道數(shù)據(jù)集中,RAID模型可以定位出諸如丟包、走錯方向、跑步等異常。
為了評估RAID模型的主動學習能力,將UCSD人行道數(shù)據(jù)集(CUHK街道數(shù)據(jù)集)中騎自行車(踩草地)行為的測試樣本的所有異常檢測標記為正常,以此評估RAID模型的連續(xù)學習能力。結(jié)果見表2。在人為干預(yù)后,RAID模型對異常行為的識別率大大下降了,這也表明了RAID模型能夠主動地進行學習。
表2 連續(xù)學習能力的結(jié)果對照Tab.2 Results comparison of continuous learning ability %
本研究提出了一種基于時空數(shù)據(jù)的異常行為識別算法,該算法能實現(xiàn)實時視頻數(shù)據(jù)流的處理,以識別異常行為,并且具有主動學習能力。使用通用數(shù)據(jù)集對該算法的性能進行評估,實驗結(jié)果驗證了算法的有效性。提出的算法能實現(xiàn)全自動的異常行為識別,并能結(jié)合人們的經(jīng)驗來進行主動學習。在未來的工作中,通過利用具有瞬態(tài)的分層多流循環(huán)自組織架構(gòu)來實現(xiàn)端到端的自主視頻監(jiān)控,減少誤報檢測。