王思齊,胡婧韜,余 廣,祝 恩,蔡志平
(國防科技大學計算機學院,湖南 長沙 410073)
面對現(xiàn)實生活中不斷涌現(xiàn)的各類安全威脅和形形色色的突發(fā)情況,視頻監(jiān)控在公共安全、交通路況、市政管理等各個領(lǐng)域扮演著不可或缺的重要角色。隨著以“天網(wǎng)監(jiān)控系統(tǒng)”[1]為代表的各類視頻監(jiān)控系統(tǒng)建設的不斷完善,各類視頻監(jiān)控設備監(jiān)控也已經(jīng)全面深入到現(xiàn)代社會公共場所的各個角落。然而,快速增長的視頻監(jiān)控設備每時每刻產(chǎn)生的海量視頻數(shù)據(jù)對基于人工判讀的視頻異常事件發(fā)現(xiàn)帶來了巨大的挑戰(zhàn),使后者在成本、效率甚至準確率上都已經(jīng)變得越來越難以為繼。因此,發(fā)展能夠不依賴于人工判讀、基于機器學習和計算機視覺方法來自動從監(jiān)控視頻中發(fā)現(xiàn)異常情況的智能視頻異常事件檢測技術(shù),對于降低人力物力成本,提高監(jiān)測效率,增強監(jiān)控安全可靠性具有極其重要的意義和作用。在現(xiàn)代社會日益錯綜復雜的安全形勢下,智能視頻異常事件檢測技術(shù)在許多現(xiàn)實生活場景中都具有迫切的需求,其應用前景光明,且具備客觀的潛在商業(yè)價值,得到了來自學術(shù)界和工業(yè)界越來越高的重視。智能視頻異常檢測技術(shù)作為智能安防領(lǐng)域的核心任務之一,受到了來自商湯、格林深瞳等新興人工智能公司以及華為、海康、大華等傳統(tǒng)巨頭的持續(xù)關(guān)注,也使其成為近年來興起的人工智能浪潮的重要落地方向之一。
智能視頻異常事件檢測旨在基于各類機器學習和計算機視覺方法自動地檢測和定位監(jiān)控視頻中各類違反常規(guī)的事件或行為,比如人群不正常的奔跑或聚集,人行道上車輛的出現(xiàn)等。相較于計算機視覺領(lǐng)域中的一些經(jīng)典的目標檢測任務(如行人檢測、文字檢測、人臉檢測等),視頻異常事件檢測任務具有以下顯著的特殊性:
(1)異常事件的定義具有抽象性,其內(nèi)涵較為豐富,意義比較模糊(即“違反常規(guī)情況的事件”),這使得異常事件檢測并不像經(jīng)典的目標檢測任務一樣具有語義清晰且無二義性的檢測對象,其待檢測的異常事件往往并不特指某一種或者幾種對象。例如,人行道上行駛的汽車和長時間徘徊逗留的行人都是需要注意的異常事件。
(2)異常事件往往具有很強的不可預測性。視頻異常事件檢測通常需要遵循一個“開放世界”假設(即所有不符合訓練數(shù)據(jù)中出現(xiàn)的正常事件的情況都視為待檢測的異常事件),而不能像一般的經(jīng)典目標檢測任務一樣采用“閉合世界”假設(把檢測的異常對象局限于訓練數(shù)據(jù)給定的特定種類對象)。
(3)異常事件的稀疏性。由于異常事件本身被定義為是反常的,這就從本質(zhì)上決定了視頻中的異常事件發(fā)生的頻率要遠小于正常事件發(fā)生的頻率,因而使得收集異常事件的數(shù)據(jù)要遠遠難于收集正常事件數(shù)據(jù),甚至在一些情況下根本不可能預先收集到異常事件的數(shù)據(jù)。
(4)異常事件的定義具有相對性。在視頻中,不同的對象和事件根據(jù)其所處的時空上下文環(huán)境的不同,往往具有不同的異常程度判定。例如,高速公路上行駛的汽車是正常事件,而在人行道上穿行的汽車則是需要注意的異常事件。
以上這些特殊性都使得視頻異常事件檢測相較于經(jīng)典的目標檢測任務更加困難。此外,相對于其他領(lǐng)域的異常檢測任務(如網(wǎng)絡流量異常檢測),視頻異常事件檢測是一個面向自然圖像/視頻的計算機視覺任務,這使得它和其他計算機視覺任務一樣需要面對真實場景下的各類復雜因素的挑戰(zhàn),比如光照變化、模糊、形變、擁擠場景、鏡頭抖動等。同時,從圖像或者視頻幀低層次的像素中提取出具備人類能夠理解的語義信息的高層次特征來表示各類視頻事件也是一個十分具有挑戰(zhàn)性的任務。以上因素使得視頻異常事件檢測一直是計算機視覺中的一個十分具有挑戰(zhàn)性的任務,至今仍有待進一步的探索。
由于視頻異常事件檢測相較于經(jīng)典的目標檢測任務的特殊性,使得收集數(shù)量充分、種類齊全的異常事件數(shù)據(jù)集在現(xiàn)實中通常不具有可操作性,因此視頻異常事件檢測往往不能采用最常見的、效果最好的監(jiān)督式分類技術(shù)作為解決方案(監(jiān)督式分類技術(shù)要求使用同時包含標注好的正常和異常事件的數(shù)據(jù)進行訓練)。根據(jù)使用的實驗設定不同,現(xiàn)有的視頻異常事件檢測技術(shù)一般分為以下3種類型:
(1)半監(jiān)督視頻異常事件檢測。半監(jiān)督視頻異常事件檢測使用僅包含正常事件的視頻作為訓練視頻來構(gòu)建一個正常事件模型,而在測試環(huán)節(jié)則將所有偏離該正常事件模型的事件判定為異常事件。半監(jiān)督視頻異常事件檢測技術(shù)假設完全沒有任何異常事件作為先驗信息,最符合異常檢測中的“開放世界”假設。因此,目前文獻中的大部分方法都屬于這種類型,其中比較有代表性的工作可參見文獻[2-6]。
(2)無監(jiān)督視頻異常事件檢測。無監(jiān)督視頻異常事件檢測完全不使用任何人為標注的數(shù)據(jù)(無論是正常事件還是異常事件),僅根據(jù)這些視頻事件數(shù)據(jù)自身所展示出的性質(zhì)和分布特點來找出其中最與眾不同的異常事件。無監(jiān)督視頻異常事件檢測的設定比半監(jiān)督視頻異常事件檢測更加貼近現(xiàn)實需求,對訓練數(shù)據(jù)的要求遠低于后者,但是其難度也要高于后者,屬于近年來視頻異常事件檢測中新興的研究方向。其中比較有代表性的工作可參見文獻[7-9]。
(3)弱監(jiān)督視頻異常事件檢測。弱監(jiān)督視頻異常事件檢測使用少量或者具有弱標注的包含異常事件的視頻(弱標注即不精確標注出異常行為的像素或者視頻幀位置,僅在粗粒度層面標注出某一個視頻是否包含異常行為,例如標注一整個視頻是否包含異常而不具體到某一幀)來作為訓練數(shù)據(jù),旨在克服半監(jiān)督視頻異常事件檢測完全忽視已知異常事件的先驗信息的問題,更加貼近于現(xiàn)實生活中異常檢測的設定。弱監(jiān)督視頻異常事件檢測也是視頻異常事件檢測中新出現(xiàn)的研究方向,目前此類型的方法較少,其具有代表性的工作可參見文獻[10]。
現(xiàn)有視頻異常事件檢測技術(shù)通常都包含3個共同的技術(shù)環(huán)節(jié):
(1)視頻事件提?。河捎诒O(jiān)控視頻攝像頭絕大部分情況下處于靜止狀態(tài),視頻事件提取環(huán)節(jié)旨在剔除監(jiān)控視頻中每一幀里始終靜止不變的背景部分,提取出其中需要關(guān)注的正在運動或者具有運動可能的前景對象,并將這些前景組織為待分析的基本視頻事件單元。
(2)視頻事件表示:在提取出視頻中的前景部分并將其構(gòu)建的基本單元作為待分析的視頻事件后,需要進一步從這些視頻事件中提取出有判別性的特征來作為這些視頻事件的表示,從而方便利用這些特征來進一步判別出哪些事件屬于異常事件。
(3)視頻事件建模:根據(jù)從視頻事件中提取出的特征表示構(gòu)建出一個視頻事件的模型,該模型能夠?qū)σ曨l事件的特點(紋理、速度、分布等)進行描述,最終利用構(gòu)建好的模型發(fā)現(xiàn)視頻中包含的異常事件。
本節(jié)將從上面3個技術(shù)環(huán)節(jié)出發(fā),對現(xiàn)有視頻異常事件檢測解決方案進行介紹。
監(jiān)控視頻中的視頻幀通常含有大量重復的、始終靜止的背景。通常情況下,這些背景部分是不需要關(guān)注的,因為異常事件往往體現(xiàn)在發(fā)生運動或者有潛在發(fā)生運動可能的前景對象上。因此,針對背景部分進行運算開銷龐大且沒有必要。此外,背景部分也可能引入大量噪聲和冗余信息,干擾視頻事件的建模并降低異常檢測的效率和質(zhì)量。因此,現(xiàn)有許多方法的常用做法是先提取出前景,再按照一定的形式將提取出的前景組織成一定的結(jié)構(gòu)作為視頻異常事件檢測任務中最基本的視頻事件單元。其中,視頻事件提取包含2個關(guān)鍵的技術(shù)要點。
3.1.1 前景區(qū)分
提取視頻事件的基礎(chǔ)在于區(qū)分視頻幀上哪些像素屬于前景,哪些像素屬于背景,比較典型的方法包括:
(1)梯度法(又稱幀間差分法)。
該類方法是實現(xiàn)前景區(qū)分最簡單的方法,旨在通過判斷每一個像素位置上是否發(fā)生了運動,即相鄰兩幀之間相同像素位置上的灰度值是否發(fā)生劇烈變化,來確定該像素是否屬于前景所在的區(qū)域。文獻[4]利用相鄰兩幀相減計算每一個視頻幀在時間方向上的梯度的模值來作為該像素位置的運動強度的表示,并以此作為區(qū)分前景和背景像素的依據(jù)。文獻[11]將相鄰幀相減得到的梯度進行二值化,并進一步通過形態(tài)學濾波和連通性分析實現(xiàn)更加完整的前景區(qū)分。此類方法雖然簡單且容易實現(xiàn),但是容易受到噪聲的影響,且不能區(qū)分出短暫靜止的前景。
(2)背景減除法。
該類方法先通過對輸入若干視頻幀中的背景進行建模得到背景模型,再將每幀圖像和背景模型圖像進行相減提取出其中明顯與背景模型不同的部分作為前景。例如,文獻[12,13]將視頻中的背景和前景部分分別視為矩陣中的低秩和高秩部分,利用魯棒主成分分析法[14]求解出其中的低秩部分作為背景模型,但需要輸入較多的視頻幀用于保證建模效果,且魯棒主成分分析計算開銷較高,而文獻[5,15]則利用了經(jīng)典的ViBe(Visual Backgroud extractor)方法[16]來對背景進行建模,能夠在保持一定計算效率的前提下得到比簡單的梯度法更加準確的前景區(qū)分效果。
(3)基于深度神經(jīng)網(wǎng)絡的方法。
近年來,深度神經(jīng)網(wǎng)絡[17]得到了迅猛的發(fā)展,其在目標檢測、語義分割等一系列計算機視覺任務上都取得了巨大的突破。深度神經(jīng)網(wǎng)絡的優(yōu)異表現(xiàn)自然啟發(fā)了研究者將其應用在前景區(qū)分上。例如,文獻[18,19]使用在大規(guī)模數(shù)據(jù)集上預訓練出來的全連接卷積網(wǎng)絡來從視頻幀上找出具有顯著特征相應的像素位置作為前景,而文獻[20]則直接使用在大規(guī)模目標檢測數(shù)據(jù)集上預訓練好的深度目標檢測網(wǎng)絡來給出包含前景物體的約束框,將約束框內(nèi)的像素作為待提取的前景。此類在大規(guī)模數(shù)據(jù)集上預訓練好的深度神經(jīng)網(wǎng)絡能夠取得較好的前景區(qū)分效果,并且能夠通過GPU等硬件的輔助實現(xiàn)非常高效的前景區(qū)分。然而,這種策略顯著的缺點在于這些預訓練的深度模型往往都受限于“閉合世界”的假設——它們只能夠檢測出在訓練時學習過的類別的物體;一旦出現(xiàn)訓練數(shù)據(jù)之外的新類別的前景物體,它們就無法將其成功區(qū)分出來。
3.1.2 前景提取
前景提取的目的是在區(qū)分每一個像素是否屬于前景之后,根據(jù)這些前景像素的位置將其按照一定的形式提取出來并構(gòu)建成為基本的視頻事件單元。目前較為常見的前景提取方法主要有以下幾種:
(1)滑動窗口法。
滑動窗口法是最簡單高效的前景提取方法,其通常使用一個滑動窗口按照一定步長在視頻幀上進行從左至右、從上到下的掃描,并將其中符合一定條件的窗口內(nèi)提取出來的前景塊作為一個視頻事件。例如,文獻[4]將窗口內(nèi)像素時間方向上梯度模值之和大于一定閾值的窗口中的前景塊提取出來作為視頻事件基本單元,而文獻[5]則將前景像素所占比例超過40%的窗口視作視頻事件的基本單元。除此之外,滑動窗口法一般會將視頻幀縮放到多個不同尺度,從而提取到包含不同尺度大小前景的前景塊,使得能夠更加全面地提取出所有可能的視頻事件的基本單元。另外,在一些文獻中(如文獻[3])還會將與當前提取出的前景塊在時間或者空間位置上相鄰的前景塊一并提取出來,組合在一起成為時空立方體,并以此作為視頻事件基本單元,從而更好地捕捉視頻中的時空上下文信息。
圖1展示了文獻[5]利用滑動窗口法提取視頻事件基本單元的全過程。雖然此種策略簡單高效,但是滑動窗口法的主要缺陷在于對前景中的對象往往是非常粗略的提取,會將一個獨立完整的前景(例如行人、車輛)劃分在幾個不同的前景塊里,這阻礙了對于前景物體的精確建模,在一定程度上影響了異常事件檢測效果。同時,多個尺度前景的提取往往會產(chǎn)生過多的前景塊,造成較大的計算開銷。
Figure 1 Sliding window method for video event extraction [5]圖1 滑動窗口法提取視頻事件[5]
(2)目標檢測法。
基于深度神經(jīng)網(wǎng)絡的目標檢測[21]近年來取得了長足的進步,其不僅能夠識別出圖像中包含的不同對象所屬的種類,還能同時給出一系列邊界框用于精確地定位出這些前景物體的位置,這使得其能夠直接同時實現(xiàn)前景區(qū)分與前景提取的功能。自然而然,預訓練好的目標檢測器能夠作為優(yōu)良的前景提取工具。目前,許多在大規(guī)模數(shù)據(jù)目標檢測數(shù)據(jù)集(例如Microsoft COCO)上預訓練的目標檢測器(例如Faster R-CNN[22],YOLO[23],RetinaNet[24])均已經(jīng)能夠在保證接近實時的情況下以較高的準確率魯棒地檢測出大部分日常生活中常見的物體,甚至在一些比較困難的場景(例如擁擠的場景)中也能夠較為準確地定位各類不同尺度的前景對象。因此,近年來一些文獻[20,25]已經(jīng)開始將預訓練好的目標檢測器用到視頻異常事件檢測中進行前景提取,并將使用邊界框提取出的前景塊歸一化為統(tǒng)一的大小,作為視頻事件的基本單元。如前所述,目標檢測法的優(yōu)點雖然能較為完整準確地得到前景目標,但其無法檢測視頻幀中出現(xiàn)的預訓練數(shù)據(jù)集中沒有的目標,這也是其最為致命的缺陷。圖2展示了使用目標檢測法在視頻幀上進行前景提取的結(jié)果。
Figure 2 Foreground bounding box obtained by object detection圖2 使用目標檢測法得到的前景邊界框
在進行前景區(qū)分和前景提取后,視頻前景往往會以縮放到同一尺度大小的前景圖像塊或者時空立方體的形式被提取出來,作為視頻事件的基本單元,方便后續(xù)視頻事件的表示和建模,也會有助于對檢測出的異常事件進行定位。值得一提的是,隨著具有較強建模能力的深度神經(jīng)網(wǎng)絡的提出和發(fā)展,近年來一些視頻異常事件檢測方法省略了視頻事件提取的步驟,直接對原始視頻幀進行處理。例如,文獻[6]引入了醫(yī)療圖像分割領(lǐng)域的U-Net用于直接預測整幅視頻幀中的異常事件,文獻[26]設計了深度自編碼器來直接重建整幅視頻幀。
視頻事件提取環(huán)節(jié)得到的視頻事件基本單元數(shù)據(jù)往往具有很高的數(shù)據(jù)維度。例如,一個較小的、邊長為32的彩色視頻前景塊就總共包含3 072個數(shù)據(jù),這會帶來很大的計算開銷,且其中含有大量對于視頻異常事件檢測沒有幫助的冗余信息。因此,我們需要從這些原始的視頻事件基本單元中找出維度較低且具有判別性的特征,用其更好地表示得到的視頻事件并服務于隨后的視頻異常事件檢測。目前已有的視頻異常事件檢測技術(shù)所使用的視頻事件表示方法一般可以分為2類。
3.2.1 基于特征工程的視頻事件表示
基于特征工程的視頻事件表示方法一般是從人類專家對于視頻事件表示的一些領(lǐng)域知識出發(fā),設計相應的特征算子,再利用這些特征算子從提取出的視頻事件基本單元計算出其特征表示。早期的視頻異常事件檢測方法一般都采用這種方法進行視頻事件表示,其提取的特征可以分為高層次特征和低層次特征。
對于高層次特征而言,首先基于目標檢測或跟蹤等方法得到較高語義層次上的前景目標對象(例如行人、車輛等),隨后對這些檢測或者跟蹤得到的目標對象中包含的一些含有明顯高層次語義的信息(例如運動速度、軌跡長度、方向、形狀)設計相應的特征來表示視頻事件[27 - 30]。高層次特征的優(yōu)點是在場景簡單、目標清晰、分辨率較高的視頻中效果較好,可解釋性較強;但其缺點是在有較多擁擠的真實場景下會失效,這是因為目標間的相互遮擋、光照變化等因素,會導致目標檢測與跟蹤器難以對目標進行連續(xù)準確的捕捉。
基于提取高層次特征所遇到的困難,研究人員提出了更加魯棒、計算更加簡便的低層次特征,即不再首先獲取高層次對象,而是直接在視頻幀像素層面上設計基于各類統(tǒng)計信息的特征算子對視頻進行表示。文獻中常用的低層次特征有三維方向梯度[31]、方向梯度直方圖[32]、光流直方圖[33]及其變種(如多尺度光流直方圖[3]和空間局部化光流直方圖SL-HOF(Spatially Localized Histogram of Optical Flow)[34])、局部二值化模式[35]以及局部梯度模式[36]等。低層次特征往往具有一些高層次特征所不具備的優(yōu)點,例如光照變化下的不變性。圖3展示了一個低層次特征算子的計算流程。
Figure 3 Process of spatially localized histogram of optical flow圖3 空間局部化光流直方圖特征算子的計算流程
基于特征工程的視頻事件表示具有較好的可解釋性,但是其特征需要根據(jù)不同的場景由領(lǐng)域?qū)<疫M行設計,門檻較高;同時,與諸如圖像分類、目標檢測等經(jīng)典的計算機視覺任務一樣,這些基于人類認知進行手工特征工程設計的視頻表示方法往往并不能得到視頻事件的最優(yōu)表示,判別性較弱。
3.2.2 基于深度表示學習的視頻事件表示
隨著近年來深度學習的快速興起,使用深度神經(jīng)網(wǎng)絡從輸入的原始數(shù)據(jù)中直接學習出對于特定任務最優(yōu)的特征表示的深度表示學習方法已經(jīng)成為計算機視覺領(lǐng)域中最明顯的發(fā)展趨勢。這也使得近年來許多的視頻異常事件檢測方法開始逐步將深度學習作為視頻事件表示的新選擇[37]。文獻[5]作為這個方面的開創(chuàng)性工作,首次用深度堆疊去噪自編碼器網(wǎng)絡學習重建像素和光流時空立方體,并將自編碼器的中心隱層或末尾全連接層的輸出作為學習到的視頻事件表示。文獻[20,38]則分別使用了卷積深度自編碼器和贏家通吃卷積深度自編碼器(Convolutional Winner-take-all AUtoencoder)來替代由全連接層組成的深度堆疊去噪自編碼器(如圖4所示),因為卷積操作能夠更好地捕捉二維圖像上的空間結(jié)構(gòu),得到更好的視頻特征。文獻[39]利用多任務卷積神經(jīng)網(wǎng)絡提取行人面部區(qū)域的特征。文獻[40]利用預訓練的AlexNet模型提取圖像特征。值得一提的是,最近更多基于深度神經(jīng)網(wǎng)絡的視頻異常事件檢測方法已經(jīng)不再將深度神經(jīng)網(wǎng)絡學習到的視頻事件表示單獨提取出來,而是直接利用深度神經(jīng)網(wǎng)絡端到端得到視頻事件的檢測結(jié)果。
Figure 4 Schematic diagram of deep autoencoder圖4 深度自編碼器網(wǎng)絡的結(jié)構(gòu)示意圖
視頻事件建模和檢測是視頻異常事件檢測的核心技術(shù)環(huán)節(jié),旨在根據(jù)訓練數(shù)據(jù)中的視頻事件建立相應的數(shù)學模型,從而實現(xiàn)在測試時對視頻事件的異常程度進行打分,找出其中的異常事件。文獻中提出了豐富的視頻事件建模方法,其主要可以分為以下幾類:
3.3.1 基于經(jīng)典機器學習技術(shù)的方法
此類視頻事件建模方法使用前面提取出的視頻事件的特征表示(通常以特征向量的形式進行表示)作為輸入,利用經(jīng)典機器學習算法進行建模,包括經(jīng)典的稀疏編碼、分類、聚類和離群點檢測算法等。例如,基于稀疏編碼技術(shù),文獻[3]將字典學習的方法引入視頻異常檢測任務中,作為視頻異常事件的建模方法,其從給定的訓練數(shù)據(jù)中學習出一組能夠最優(yōu)表示正常事件的字典,而無法用學習到的字典良好表示的事件被判定為異常。該方法隨后衍生出一系列同樣基于稀疏編碼的變種[4,41 - 45]。基于單類別分類技術(shù),文獻[5]則將表示視頻事件的特征向量輸入單類別支持向量機建立異常檢測模型。同時,單類別自編碼器以及類似的判別式單分類分類器(例如單類別極限學習機[36]等)也是文獻中廣泛使用的用于視頻異常事件檢測的經(jīng)典機器學習技術(shù)之一。除此之外,二分類或者多分類分類器也常用于對正常事件建模。例如,文獻[20]將視頻事件特征向量利用k均值聚類算法進行聚類,并為聚類得到的不同簇打上不同的偽標簽,然后利用偽標簽將一類作為正樣本、其他類作為負樣本循環(huán)訓練k個支持向量機二分類器,支持向量機的輸出作為檢測異常的指標。類似地,文獻[46]對所有局部活動的圖袋進行k中值聚類處理后,使用標準的二分類支持向量機進行分類?;诰垲惣夹g(shù)[47],文獻[48]利用k均值聚類對視頻事件特征進行聚類,并將少數(shù)集群作為異常結(jié)果。文獻[49]利用近鄰傳播聚類進行字典學習?;陔x群點檢測技術(shù),文獻[25]用核密度估計對分類分數(shù)建立密度分布,并將密度的倒數(shù)作為異常值得分。
除了這幾種最直觀的建模方法外,文獻中還涌現(xiàn)了非常豐富的視頻事件建模方法。例如,文獻[2]使用條件隨機場來建模視頻事件;文獻[50]以社會力模型(Social Attribute-aware Force Model)來描述視頻事件中前景對象中的相互作用;文獻[51]使用層次化高斯混合模型來構(gòu)建正常的視頻事件概率模型;文獻[12]使用概率圖模型來解釋正常視頻事件中出現(xiàn)的前景對象;文獻[7,8]將局部變化檢測技術(shù)應用于無監(jiān)督視頻異常事件檢測。
基于經(jīng)典機器學習技術(shù)的視頻異常事件檢測方法往往具有較堅實的理論基礎(chǔ)以及良好的可解釋性,但是其要求必須根據(jù)不同的數(shù)據(jù)集和不同的場景進行視頻事件的提取與表示。另外,部分經(jīng)典的機器學習方法的計算復雜度較高、可擴展性較差,不利于處理較大規(guī)模的視頻數(shù)據(jù)。
3.3.2 基于深度神經(jīng)網(wǎng)絡的方法
此類方法利用深度神經(jīng)網(wǎng)絡對視頻事件進行建模和預測,也是近年來視頻異常事件檢測領(lǐng)域重要的發(fā)展趨勢。深度神經(jīng)網(wǎng)絡一般具有從諸如圖像和視頻的復雜數(shù)據(jù)之中自動學習到優(yōu)良特征表示的能力,使其可以端到端地同時實現(xiàn)視頻事件表示和視頻事件建模與預測2個環(huán)節(jié),避免了2個環(huán)節(jié)的銜接性問題,增加了實現(xiàn)的緊湊型和便利性。同時,深度神經(jīng)網(wǎng)絡自動學習特征表示的能力也增強了相應視頻異常事件檢測解決方案在不同數(shù)據(jù)集、不同場景之間的通用性。此類方法目前主要分為2種:
(1)基于重構(gòu)的方法。
此類方法的核心思想是深度生成式神經(jīng)網(wǎng)絡(如自編碼器網(wǎng)絡、對抗生成網(wǎng)絡),通過訓練使其學習到自動重構(gòu)輸入數(shù)據(jù)的能力。在視頻異常事件檢測任務中,最普遍的做法是在給定的正常視頻事件數(shù)據(jù)上訓練生成式深度神經(jīng)網(wǎng)絡,使其能夠在測試階段輸入正常視頻事件數(shù)據(jù)時得到良好的、具有較低重構(gòu)誤差的重構(gòu)數(shù)據(jù),而在輸入沒有訓練過的異常事件數(shù)據(jù)時將得到較差的重構(gòu)數(shù)據(jù)、較大的重構(gòu)誤差,通過區(qū)分性的重構(gòu)誤差實現(xiàn)對正常事件的建模和對異常事件的檢測。目前,有許多利用或基于自編碼器重構(gòu)的視頻異常檢測方法[52]。文獻[26]是此類方法的先驅(qū)者,實現(xiàn)了2種深度自編碼器,其中一種利用傳統(tǒng)特征算子(梯度方向直方圖和光流方向直方圖)表示的視頻事件輸入到全連接深度神經(jīng)網(wǎng)絡,另一種深度卷積自編碼器直接以整個原始視頻幀作為輸入,并發(fā)現(xiàn)直接將原始視頻幀作為輸入的深度卷積自編碼器能夠獲得優(yōu)良的異常檢測性能。文獻[53]把只能處理二維圖像的自編碼器拓展為三維時空自編碼器,可以更好地建立視頻幀與視頻幀之間的聯(lián)系。文獻[18]將提取出的視頻事件輸入到深度變分自編碼器進行重構(gòu),這種更加魯棒和強大的生成式神經(jīng)網(wǎng)絡保證了其效果。文獻[54]設計了一種兩路輸出的自編碼器網(wǎng)絡,將重構(gòu)單個視頻幀和重構(gòu)其對應的光流結(jié)合起來,并使重構(gòu)網(wǎng)絡和預測網(wǎng)絡共享一個編碼網(wǎng)絡。文獻[55]則結(jié)合自編碼器網(wǎng)絡和記憶增強網(wǎng)絡使得模型對正常和異常視頻幀的重構(gòu)誤差更具有區(qū)分性。
(2)基于預測的方法。
此類方法的出發(fā)點是將預料之外、無法準確預測的事件作為異常,符合人類對于異常的認知。其實現(xiàn)的核心思想是,將若干時間上相鄰的視頻幀作為歷史信息輸入到一個深度生成網(wǎng)絡來預測這些視頻幀的下一幀(即未來幀),并將預測值和實際值之間的差異作為判定異常的要素。一般而言,用正常數(shù)據(jù)訓練的預測網(wǎng)絡能準確地預測正常數(shù)據(jù),而對于預測異常數(shù)據(jù)的表現(xiàn)較差。文獻[53]首次在使用時空自編碼器對視頻幀進行重建時,引入了額外的預測未來分支,以改善異常檢測的性能。
除了最常見的用自編碼器網(wǎng)絡生成未來幀的做法之外,在視頻異常檢測領(lǐng)域,另一種應用較廣的預測網(wǎng)絡是U-Net[56]。文獻[6]首次引入U-Net作為生成未來幀的深度神經(jīng)網(wǎng)絡,其網(wǎng)絡結(jié)構(gòu)如圖5所示。其中,U-Net通過降采樣網(wǎng)絡和上采樣網(wǎng)絡的跳層連接,融合了低層次特征和高層次特征,解決了梯度消失和每層信息不平衡等問題。文獻[6]將前t幀輸入到U-Net中以預測第t+1幀,同時在訓練時加入最小化預測幀和實際幀的光流和梯度差異的目標函數(shù)作為運動約束,以及鼓勵預測幀盡可能接近真實視頻幀的對抗損失函數(shù)。在此基礎(chǔ)上文獻[57]則通過使用U-Net對重構(gòu)歷史幀的任務做出了改進。另外,除了直觀地用歷史幀預測未來幀的做法,文獻中還出現(xiàn)了跨模態(tài)的預測方法,即使用一個模態(tài)的視頻數(shù)據(jù)預測另一個模態(tài)的視頻數(shù)據(jù)。文獻[58]使用對抗生成網(wǎng)絡[59]作為生成模型,在原始視頻幀和其對應的光流場之間進行相互預測。文獻[60]則將U-Net作為生成網(wǎng)絡來從原始視頻幀預測光流。
Figure 5 Schematic diagram of U-Net圖5 用于預測未來的U-Net網(wǎng)絡結(jié)構(gòu)
UCSD行人數(shù)據(jù)集[2]是視頻異常事件檢測研究中使用最廣泛的主流數(shù)據(jù)集之一,它分為UCSD Pedestrian 1(Ped1)和UCSD Pedestrian 2(Ped2)2個數(shù)據(jù)集,是從加州大學圣地亞哥分校UCSD(University of California,San Diego) 2個不同地點的人行道的視頻監(jiān)控中收集而來。在UCSD Ped1和UCSD Ped2數(shù)據(jù)集中,走路的行人被視為正常事件,而在人行道中出現(xiàn)的其他移動物體則被視為異常事件,例如在人行道上騎自行車、滑滑板、推手推車、駕駛汽車等。行人在非人行道區(qū)域(例如草坪)行走也被視作異常事件。此外,這2個數(shù)據(jù)集包含大量視頻前景物體相互遮擋的擁擠場景,尤其是行人的遮擋,增加了檢測異常事件的難度。測試集均提供了像素級別的標注,即在每個視頻幀上標注出了異常像素。
UCSD Ped1數(shù)據(jù)集包含34個訓練視頻樣本和36個測試視頻樣本,總共包含14 000幀,每幀分辨率為158×238像素。UCSD Ped2 數(shù)據(jù)集也是一個廣泛使用的數(shù)據(jù)集,包含16個訓練視頻序列和12個測試視頻序列,其視頻幀的分辨率為240×360像素,總共包含4 560幀。與UCSD Ped1數(shù)據(jù)集相比,Ped2數(shù)據(jù)集具有更少的視頻幀和更大的幀分辨率,這使得它相較于Ped1更為常用。在實際實驗中,通常的做法是把2個數(shù)據(jù)集分開測試。圖6展示了UCSD Ped1和Ped2數(shù)據(jù)集上具有代表性的正常事件(圖6a和圖6c)和異常事件(圖6b和圖6d)的視頻幀。
Figure 6 Representative frames on UCSD Ped1 and Ped2 Datasets圖6 UCSD Ped1和Ped2數(shù)據(jù)集上具有代表性的視頻幀
Avenue數(shù)據(jù)集[4]采集自香港中文大學CUHK(The Chinese University of Hong Kong)校內(nèi)一個走廊的監(jiān)控攝像機。在此視頻數(shù)據(jù)集中,行人在走廊上按正常方向行走是正常事件,而在走廊上扔書包、灑紙片、奔跑、推自行車等各種類型的行為被當成異常事件。為了接近現(xiàn)實世界中的實際情況,Avenue數(shù)據(jù)集的測試視頻中會發(fā)生一些輕微的相機抖動,從而使我們更加聚焦于異常的移動對象上。
Avenue數(shù)據(jù)集包含共15 328幀的16個訓練視頻和共15 324幀的21個測試視頻,其中一共有47個異常事件。視頻幀的分辨率為360×640像素。同時,訓練集包含少量的異常,測試集提供了像素級別的標注。
圖7展示了Avenue數(shù)據(jù)集上具有代表性的正常事件(圖7a)和異常事件(圖7b~圖7d)的視頻幀。
Figure 7 Representative frames on Avenue dataset圖7 Avenue數(shù)據(jù)集上具有代表性的視頻幀
ShanghaiTech數(shù)據(jù)集[41]是目前為止最大的視頻異常檢測數(shù)據(jù)集,與其他數(shù)據(jù)集只包含一個場景不同(即一個固定的攝像頭采集所有視頻),ShanghaiTech數(shù)據(jù)集一共包含了13個有不同光照條件和攝像頭角度的場景,這使其成為文獻中最具挑戰(zhàn)性的數(shù)據(jù)集之一。訓練集包含共274 515幀的330個視頻,測試集包含共42 883幀的107個視頻,包含130個異常事件。視頻幀的分辨率為480×856像素。同時,測試集提供了像素級別的標注。
圖8展示了ShanghaiTech數(shù)據(jù)集上具有代表性的正常事件(圖8a)和異常事件(圖8b~圖8d)的視頻幀。
Figure 8 Representative frames on ShanghaiTech dataset圖8 ShanghaiTech數(shù)據(jù)集上具有代表性的視頻幀
異常檢測的任務中,最常用的評估指標分為幀層次標準和像素層次標準[2]。對于幀層次標準,如果算法檢測到視頻幀中存在至少一個像素點為異常,則將視頻幀視為異常;像素層次標準規(guī)定,一次對異常事件成功的檢測被認定為至少超過40%的像素被檢測為異常且真實標簽也為異常。
在視頻異常檢測領(lǐng)域,為了進行定量比較,實驗中通常計算相應受試者工作特征曲線ROC(Receiver Operating Characteristic)下的面積AUC(Area Under the corresponding ROC Curve)和等錯誤率EER(Equal Error Rate)以評估性能。具體而言,首先,根據(jù)分類器的預測結(jié)果對數(shù)據(jù)進行排序。然后,通過逐步改變判定異常的閾值(相當于“截斷點”),將樣本分為2部分,可計算得到一系列真陽率TPR(True Positive Rate)和假陽率FPR(False Positive Rate)。真陽率表示分類器預測是正樣本且正確的(預測值等于真實值)占總正樣本的比率。假陽率表示分類器預測是正樣本但錯誤的(當前被錯誤分到正樣本中實際是負樣本)占總正樣本的比率。
如圖9所示,把得到的一組FPR設為橫坐標的值,TPR設為縱坐標的值,可以繪制出ROC曲線。
ROC曲線下的面積(圖9)的值代表正樣本排在負樣本之前的概率,取值在0 ~1,值越大表示異常樣本越有可能排在負樣本之前,即分類性能越好。
等錯誤率是當分類器的真陽率和假陽率滿足FPR= 1-TPR時,被錯分的視頻幀數(shù)量占所有的視頻幀數(shù)量的比例,其數(shù)值越小表明方法的性能越好。具體來講,EER是ROC曲線與ROC空間中對角線的交點,即圖9中虛線與曲線的交點。
Figure 9 Schematic of ROC curve and EER圖9 ROC曲線和EER的示意圖
表1展示了主流方法在UCSD Ped1數(shù)據(jù)集上的實驗效果,并按照實驗設定的不同將方法分為半監(jiān)督和無監(jiān)督2類。其中,效果最佳的結(jié)果在表中加粗表示。
Table 1 Frame-level and pixel-level EER and AUC evaluation on UCSD Ped1 dataset表1 UCSD Ped1數(shù)據(jù)集上幀層次和像素層次標準的EER和AUC結(jié)果對比表
表2展示了主流方法在UCSD Ped2數(shù)據(jù)集上的實驗效果,并按照實驗設定的不同將方法分為半監(jiān)督和無監(jiān)督2類。其中,效果最佳的結(jié)果在表中加粗表示。
Table 2 Frame-level and pixel-level EER and AUC evaluation on UCSD Ped2 dataset表2 UCSD Ped2數(shù)據(jù)集上幀層次和像素層次標準的EER和AUC結(jié)果對比表
表3展示了主流方法在Avenue數(shù)據(jù)集上的實驗效果,并按照實驗設定的不同將方法分為半監(jiān)督和無監(jiān)督2類。其中,效果最佳的結(jié)果在表中加粗表示。
Table 3 Frame-level and pixel-level EER and AUC evaluation on avenue dataset表3 Avenue數(shù)據(jù)集上幀層次和像素層次標準的EER和AUC結(jié)果對比表
表4展示了主流方法在ShanghaiTech數(shù)據(jù)集上的實驗效果,并按照實驗設定的不同將方法分為半監(jiān)督和弱監(jiān)督2類。其中,效果最佳的結(jié)果在表中加粗表示。由于ShanghaiTech數(shù)據(jù)集比前3個數(shù)據(jù)集更具有挑戰(zhàn)性,可以看到不同方法的實驗效果在此數(shù)據(jù)集上還存在提升空間。
Table 4 Frame-level AUC evaluation on ShanghaiTech dataset表4 ShanghaiTech數(shù)據(jù)集上幀層次標準的AUC結(jié)果對比表
本文主要從3個模塊對視頻異常檢測進行了介紹和分析:視頻事件前景提取、視頻事件表示和視頻事件建模與檢測。同時介紹了3個常用的公開數(shù)據(jù)集。隨著深度學習的發(fā)展和興起,現(xiàn)有視頻異常檢測技術(shù)越來越貼近于深度學習,借助于深度神經(jīng)網(wǎng)絡強大的建模能力,視頻異常檢測取得了突破性的進展。然而實驗表明,在許多真實復雜的場景下,視頻異常檢測的性能還有待提升,并且現(xiàn)有建模方法更多地采用了基于重構(gòu)的自編器,而許多深度學習相關(guān)的成果并沒有遷移到這個領(lǐng)域。因此,結(jié)合更多前沿的深度學習技術(shù)實現(xiàn)更高效準確的檢測,是視頻異常檢測領(lǐng)域一個非常有前景和巨大需求的研究方向。