胡湘杰,夏利民,王 軍
HU Xiangjie,XIALimin,WANG Jun
中南大學 信息科學與工程學院,長沙 410075
College of Information Science and Engineering,Central South University,Changsha 410075,China
異常行為檢測的研究對現今社會的秩序和安全具有重要意義。由于視頻場景的復雜性和事件的多樣性,異常行為檢測具有相當大的難度。
Li等[1]提出目前的異常檢測方法主要可以分成兩類:基于軌跡的方法[1-4]和基于外觀特征的方法[5-7]。前者作為最傳統的異常檢測方法通常包含兩步,跟蹤視頻場景中的目標獲得運動軌跡,再對跟蹤軌跡進行建模分析。在目標較多的復雜場景中,目標跟蹤和軌跡分析都具有比較大的難度,從而導致計算代價昂貴。解決這一問題最常見的技術就是采用特征提取的方法,Ryan等[6]提出了一種叫作光流紋理的視覺特征,并將其與空間信息結合起來對異常行為進行檢測,但是這種方法只適用于檢測與正常運動模式不同的行為。光流主要集中在物體的運動信息上,往往會忽略一些非動態的異常信息[8]。因此一些更加完備的表示方法被提出來,用以確保包含動態和靜態信息。Zhao等[9]利用光流和輪廓特征生成時空描述,采用非負局部約束線性編碼(Non-negative Locality-Constrained Linear Coding,NLLC)對異常行為進行檢測。
近年來涌現出了許多不同種類的異常行為檢測模型。Turek等[10]提出將一個視頻的上下文分割成各個語義區域,并對上下文中的運動目標建立一個語義上下文模型,再通過該模型進行異常行為檢測。Mo等[11]提出聯合稀疏模型(Jointly Sparse Model,JSM)對訓練樣本中的軌跡進行訓練獲得過完備字典,并利用該字典對測試樣本軌跡進行稀疏重構,再通過重構誤差檢測異常。主題模型可以通過不同層級出現的底層特征識別場景中的行為模式并檢測異常,已在行為識別領域取得了很大的成功。Wang等[12]和Kuettel等[13]利用分層貝葉斯模型,如潛在狄利克雷分布(Latent Dirichlet Allocation,LDA)和分層狄利克雷過程(Hierarchical Dirichlet Process,HDP),對視頻中的典型行為進行描述。Jeong等[14]提出了基于LDA模型的軌跡分析方法,并用于異常行為檢測。Varadarajan等[15]提出使用概率潛在語義分析(Probabilistic Latent Semantic Analysis,PLSA)方法建立局部信息的主題模型,通過豐富的時空梯度描述符量化圖像的位置和大小信息來擴展基于主題的分析和局部描述符,補充了一些易于忽略的異常局部信息。然而傳統的概率主題模型缺乏直接控制文件表示稀疏性的機制。Zhu等[16]提出一種稀疏局部編碼(Sparse Topical Coding,STC)的方法,用于在大量數據集中查找潛在表示,并通過稀疏誘導正則項直接控制模型表示的稀疏性。
本文提出了一種基于運動模式分析的視頻異常行為檢測方法。在底層處理過程中,提取時空描述符并結合位置信息生成視覺單詞,使得視覺單詞中包含足夠充分的動態和靜態信息,可用于多種異常行為的檢測。隨后提出一種稀疏主題模型,用于對視頻進行語義分析,捕獲視頻的運動模式,并對視頻進行編碼。最后,通過計算重構精度和分析運動模式組成對視頻的異常行為進行檢測。
為了利用稀疏主題模型對視頻的異常事件進行檢測,首先需要對視頻的特征進行提取,生成視覺單詞,再通過視覺單詞對視頻進行表示,從而創建所需要的視頻文檔。視覺單詞應該包含足夠豐富的視頻動態和靜態信息,以至于可通過其獲取視頻中可能出現的任何行為或事件信息。
在提取視頻特征之前,需要確定視頻中所需要處理的目標區域。本文將視頻中所有包含前景目標的區域作為特征提取的目標區域,因此首先通過背景差分法[17]確定視頻幀中的前景像素點,并對前景像素點p=(x,y)計算其對應的視頻特征。前景分離的方法不僅可捕獲運動特征突出的像素點,同時可獲得目標處于靜止狀態的像素區域。
為了完備地表示視頻的目標位置以及運動信息,本文聯合方向梯度直方圖(Histogram of Gradient,HOG)和光流直方圖(Histogram of Optical Flow,HOF)以及視頻區域塊生成時空描述符。首先通過光流法計算相鄰兩幀圖像中的光流信息,將存在運動的各前景像素點作為興趣點,將其附近的局部區域分成3×3×2個時空塊,其中空間尺度為3,時間尺度為2。在每個時空塊中,計算其梯度方向并量化為4個單位的直方圖生成當前幀的HOG描述符,同時計算其中光流并量化為5個單位的直方圖生成HOF描述符。結合各時空塊中的直方圖,最終得到一個162維的描述符,其中HOG向量維度為72(3×3×2×4),HOF向量維度為90(3×3×2×5)。
上述所得的HOG和HOF描述符包含了視頻場景中的運動和形態信息,然而在對視頻進行異常判定的時候同樣需要考慮各目標的位置信息,因為同樣的事件發生在不同的區域性質可能完全不同。為此,將視頻分成20×20個等大小的塊,每一個塊都作為其中前景像素點的位置屬性,本文將此特征描述符記為Grid=(i,j),其中i和j表示某一塊區域在所有視頻塊中所在的位置。
通過聯合上述提取的視頻特征,可以獲得每個前景像素點對應的一個164維的特征描述符:

其中,v為通過?2范數標準化后的結果。隨后利用詞袋模型對描述符進行處理。首先通過K均值聚類算法對描述符進行聚類,獲得N個聚類中心,再將每個聚類中心視為一個視覺單詞,從而獲得具有N個單詞的詞匯表V={v1,v2,…,vN}。
對于一個視頻,將其視為一個由詞匯表中的視覺單詞所組成的視覺文件,可通過如下向量進行表示:

其中,wn(n∈N)表示詞匯表中的第n個單詞vn在視頻文件中出現的次數。
將一個給定的視頻分成一系列完備、等時長并且不重復的文件集。取其中M個文件作為訓練樣本集S。每個訓練樣本文件d∈S都可通過向量wd=(wd,1,wd,2,…,wd,N)T表示。假設視頻中存在K個運動模式,每個運動模式都可看成一個關于詞匯表V的空間分布。本文將各運動模式組合得到一個矩陣D∈RK×N,并將其稱為主題字典,其每一行Dk都為一個主題基,對應一種運動模式。令αd,n=(αd,n1,αd,n2,…,αd,nK)表示文件d中第n個單詞的編碼,各編碼之間相互獨立。對于單詞n?Id,其對應的單詞編碼等于0。因此整個文件可以通過編碼集αd=(αd,1,αd,2,…,αd,N)T和主題字典D進行表示。
視頻中的每一個行為都會屬于某個特定的運動模式,相應地,每一個視覺單詞都會屬于某個潛在的語義主題,因此每個文件也可以看成是由不同的主題所組成。本文提出的稀疏主題模型的關鍵就是要利用這些主題基實現對大規模視頻數據的稀疏表示。模型的生成過程可以總結如下。
對于每個主題k∈{1,2,…,K}:
(1)根據先驗分布p(Dk)(如均勻分布)取樣得到字典的主題基Dk。
(2)對于任一文件d∈S:
根據先驗分布p(αd,?k)采樣該單詞的編碼向量αd,?k;
對于每個單詞n∈Id:
根據條件分布p(wd,n|αd,n,D?n)采樣單詞數目wd,n。
在這個過程中,假定各個單詞出現的次數相互獨立,并且每個單詞與不同主題的關系互不影響。通過主題字典D和編碼集α={αd|d∈S}可以對單詞數量進行表示,進而對文件進行重建。模型的聯合分布函數定義如下:

假定同一主題下的單詞編碼具有群體結構。為了使文件能被稀疏地表示,需要確保只有一些主題對該文件的編碼產生影響,而其他主題下的單詞編碼為0。因此本文將相同主題下的單詞編碼視為一個群體,并使用多元拉普拉斯分布對單詞編碼進行采樣:

對于任意單詞,其在文件中出現的次數等于不同主題中該單詞的個數之和。利用泊松分布對其進行采樣:

通過上述各式可以確定模型的聯合概率分布函數。由于p(α,w,D)小于1,為了獲得最大的概率分布值,將目標函數定義如下:

在不同的視頻文件中,各主題出現的頻率都是不一樣的,這意味著每個主題的重要性都是不同的。為了獲得視頻文件的這一特性,引入主題字典D列向量的?1范數作為約束項,同時可加強字典的稀疏性。因此最終的目標函數如下:

其中,λ1和λ2是非負的超參數,應該選取適當值。λ1控制編碼的稀疏性,λ2控制字典的稀疏性,這兩個參數過小會導致模型的稀疏程度低,過大則可能導致有用信息的遺失,影響文件的稀疏重構過程。目標函數的第一部分代表了損失函數,其作用相當于求取單詞數量與其重構之間的KL散度,當該值最小時意味著重構值與真實值最接近。第二部分是一個組套索,用于保證文件被稀疏表示。第三部分控制字典非零值的數量,由于每個主題都是僅與有限數量的視覺單詞相關,通過增加這項限制可以迫使模型學習一個稀疏的字典。
雖然本文提出的稀疏主題模型是從概率模型的角度推導得出,但它最終是以一個非概率的形式進行表示。通過對目標函數進行優化,可以得到視頻中的運動主題及其對應的編碼。
對于目標函數f(α,D),由于它含有兩個變量,因此采用的優化策略是首先假設一個變量恒定,對另一個變量進行優化,輪流對α和D進行處理,直到目標函數收斂。當D固定,目標函數對α優化時,將這個過程稱為視頻編碼;當α固定對D優化時,稱該過程為字典更新。
令D保持恒定,目標函數針對α進行優化。由于各文件之間相互獨立,可以輪流對單獨的文件進行處理:

將該目標函數記為g(αd),它是一個關于αd的凸函數,因此可以利用坐標下降算法對編碼集αd中的每個元素αd,nk輪流進行求解。下面闡述其證明過程。首先對函數求導:

其中,ε是一個足夠小的正數,用于確保分母不為0。再求取函數的二次導數:

顯然該二次導數始終大于0,因此目標函數g(αd,nk)對于任意αd,nk都是一個嚴格的凸函數,其最小值將在極值點處取得。令式(9)等于0,可以得到一個一元四次方程式,求解該方程即可得出目標函數的最優解。令由于編碼向量各元素的值必須不小于0,其值滿足:

在完成上述稀疏編碼過程后,將α當作常量,目標函數可視為關于D的一元函數。字典通過優化下述函數ζ(D)進行更新:

該方程的第一項為重構過程的損失函數,它是一個凸函數。第二項是一個?1范數正則化約束項。由于字典中各元素的值都大于等于0,可將該約束項表示如下:

在此采用與上述稀疏編碼過程相似的解決方法,即對字典列向量中的每個元素進行輪流計算。分別對Dkn進行一次和二次求導:

由二次導數恒大于0可知,對于任意Dkn目標函數嚴格單調遞增,因此函數的最小值在其極值點處取得。令式(14)等于0,得到函數的最優解最終Dkn的值為:

當求出字典中的所有元素的解后即完成了字典的更新過程。這個更新過程從數學原理上展示了正則化約束項控制字典稀疏性的原因。由可知,當參數λ2越大,字典各元素值越小,因此字典中更多的元素趨向于零值,從而導致字典的稀疏度增加。
通過對訓練樣本進行訓練,可以獲得包含典型運動模式的字典,然后可以利用該字典對測試樣本進行表示,并通過后續分析對視頻場景進行異常檢測。
不同的模型對于異常事件的定義不盡相同,現今大多數方法都將那些沒有出現過或是無法用模型進行準確描述的事件視為異常。然而這種定義是不完善的,其無法準確概括所有異常信息。異常的判別不應該是孤立的,而是要與其所處的場景緊密相連。因此將偏離正常運動模式的行為定義為異常行為,準確來說,就是將一個在不正確的時間或位置發生的事件記為異常。
由于訓練樣本中不包含異常事件,從而通過稀疏主題模型所捕獲的運動模式也是不包含異常的。利用字典對測試樣本進行表示的過程,其實質就是要分解出其中包含的各個運動主題,也就是將該視頻場景通過正常場景下的各運動模式進行重構,構造出與之最相近的場景。因此,當測試視頻樣本中存在異常情況時,其與重構場景之間將存在較大偏差,可通過重構損失進行判斷:

顯然當一個視頻文件的重構損失越大越有可能存在異常。Ld的取值范圍對于不同的視頻片段來說是變化的,因此將對文件與其重構的差別進行重新定義。編碼稀疏項對重構誤差的計算結果影響很小,因此將其舍去。令重構向量為Rd=(αd1D?1,αd2D?2,…,αdND?N)T,定義重構精度:

上式取值范圍為[0,1],其中(wd,Rd)表示兩個向量之間的內積。重構精度越小就意味著測試樣本與正常運動模式之間的偏離越大,也就越可能包含異常。
上述方法是針對視頻文件全局區域進行的異常檢測。由于一個文件中包含大量信息,異常事件又通常只會在一個很小的時空區域中發生,而重構精度的大小與異常的數量有較大聯系,因此正常文件與異常文件之間的區別往往不夠大,導致檢測重構精度的方法不夠穩定[18]。為此,本文提出一種基于運動模式分析的異常檢測方法,通過對視頻文件中的運動模式進行分析捕獲異常信息。具體算法如下。
(1)通過視頻編碼獲取視頻文件中的各運動模式所占比例。第k個主題在文件d中所占比例可通過下式求得:

每個視頻片段di都可表示成在主題空間下的概率分布:(θdi,1,θdi,2,…,θdi,K)。
(2)給定一個測試樣本,將其用上述的主題向量進行表示。在主題空間中,找到與之最相近的m個訓練樣本文件,其中兩個文件di和dj之間的距離被定義如下:

(3)將文件di的單詞直方圖記為Hi。統計這m個最相鄰訓練樣本的單詞數生成直方圖H0。觀測每一個在測試樣本中出現過的單詞vn,如果該單詞在直方圖H0中的頻率大于特定值,將其記為正常。
(4)考慮與vn具有相同位置屬性的相鄰區域的單詞,如果其中有至少l個單詞滿足步驟(3),該單詞將同樣被記為正常。
(5)如果單詞既不滿足步驟(3)的條件也不符合步驟(4),其將被記為異常。此時將認為該測試文件中包含異常行為,其中異常單詞對應的位置信息表示異常行為發生的區域。
本次實驗過程將在QMUL交通數據集中進行。首先利用本文方法對數據集中的視頻進行異常檢測,再通過與其他方法的實驗結果進行對比,從而驗證本文方法的高效性。本次實驗將在VS 2012和MATLAB 2010上進行,運行環境是Win7操作系統,電腦配置是CoreTMi5-4210M CPU、4 GB內存。
QMUL交通數據集由一個位處繁華地段的交通樞紐監控視頻所組成。該視頻全長60 min,幀率為25 Hz,包含90000幀畫面,其中每一幀分辨率為360×288。該視頻背景由馬路、人行道及周圍建筑組成,場景中包含大量的車輛、自行車以及行人。同時,場景中的運動模式也是多種多樣,包括車輛直行、轉彎、等候紅燈、行人橫穿馬路等。圖1展示了幾種最具代表性的運動方式。圖2為幾個包含異常事件的場景樣例,其中亮線框出來的部分表示偏離正常運動模式的異常事件。如圖2所示,(a)為行人在非人行道橫穿馬路;(b)為車輛非法轉向;(c)、(d)所示為正常直行期間車輛異常闖入。

圖1 視頻中的幾種典型運動方式示例

圖2 QMUL數據集中的幾個異常事件樣例
視頻被等分成一系列時長為6 s的不重復片段,首先將包含異常事件的片段分離出來,并在剩下的片段中選取其中75%的文件作為訓練樣本對模型進行訓練,得到主題字典,剩下的25%將作為測試樣本并與異常片段一起用于異常檢測。
實驗分別采用了不同的描述符對視頻進行了表示,并利用本文方法對其進行異常檢測。如表1所示,分別比較了HOG、HOF聯合時空描述符,基于像素點坐標的聯合時空描述符以及基于區域塊的聯合時空描述符,后兩種方法中均引入了前景目標的位置信息。由表1可知,在采用相同視頻表示的情況下,通過模式分析進行異常檢測在效果上總是優于重構精度檢測。同時,引入區域塊信息的描述符在檢測效率上要優于其他兩種方法。

表1 使用不同描述符的異常檢測精度%
為了顯示各運動模式相互間的獨立性,定義一個名為主題相關性(TS)的變量,其值通過各運動主題兩兩之間的關系計算得出:

實驗中選取K=20。表2記錄了本文方法與其他一些先進方法的主題相關性計算結果。由該表可知,本文方法所捕獲的運動主題在相關性上明顯低于其他方法,在對運動場景進行描述時可以更加充分。

表2 運動模式相關性對比
為了充分展示本文方法的有效性,將通過運動模式分析所檢測的結果分別與JSM[11]、PLSA[15]和NLLC[9]等方法進行對比。圖3所示為各方法實驗結果對應的ROC曲線。表3記錄了這幾種方法ROC曲線對應的AUC值。

圖3QMUL數據集中異常檢測結果的ROC曲線

表3 不同檢測方法的AUC值
實驗中所使用的QMUL數據集中包含大量目標,運動方式復雜,因此現今大多數方法都難以對其進行較好的檢測。而由以上結果可知,本文提出的異常行為檢測方法在該數據集上實現了比較可觀的檢測效果,較之另外幾種方法在識別效率上具有明顯的優勢。由此可以看出本文方法在檢測復雜視頻場景中的異常行為方面的有效性。
本文提出了一種基于運動模式分析的異常行為檢測方法。根據視頻的時空描述符和位置描述符,由詞袋模型生成視覺單詞并對視頻進行表示。本文提出的稀疏主題模型是一種非概率主題模型,它既能發現視頻場景中具有潛在語義的主題,又能實現對視頻文件的稀疏表示。最后通過分析視頻中的運動模式組成對其中的異常行為進行判定。文中方法在QMUL交通數據集中進行了測試,并與其他幾種方法進行了對比,結果表明,本文方法具有更高的檢測率。