王燕妮 雒津津 王殿偉
(1.西安建筑科技大學信息與控制工程學院 西安 710055)(2.西安郵電大學通信與信息控制工程學院 西安 710199)
隨著社會的不斷發展,治安問題日趨復雜多樣,給公共安全帶來了極大傷害,造成社會動蕩不安,因此,智能監控系統逐漸成為人們關注的焦點。由于傳統的監控系統“只記錄不分析”,主要依靠值班人員人工實時觀看監控視頻,對多路視頻觀看存在著注意力有限、視覺疲勞以及責任心等問題,經常發生漏檢而不能在案發第一時間提供預警,因此,對監控視頻中異常行為[1~4]的自動化智能檢測顯得極為重要。
目前異常行為檢測常見的方法分為以下三類:1)采用簡單的幾何模型對人體進行描述的方法,如Zheng[5]提出的6個極點和質點所構成人體機構模型,Ben-Arie[6]采用橢圓模型,用 10 個二維橢圓對人體運動過程中產生的橢圓位置信息進行描述,Chen[7]等人提出了二維人體骨架模型,采用14個關節點和17條線段對人體結構進行描述等。這類方法通過預先對人體跟蹤獲得人體各部位的運行,最終完成人體建模,區分行為。2)基于時變數據匹配的狀態空間法,該類方法將不同的靜態行為定義為狀態,將運動序列看做是不同狀態之間的一次遍歷過程,并在遍歷過程中計算聯合概率的大小,將最大值作為分類的標準。此類方法中最典型的就是隱馬爾科夫模型[8]和貝葉斯方法[9]。3)提取人體運動特征的方法[10~11],如運動方向、速度、軌跡、角度、位置等,以此來區分不同的行為。現有的這三類方法是對特定行為進行建模、訓練,均要預先學習,存在局限性較大、檢測精度不高等問題。為此,本文在現有人體特征提取的方法上通過分析人體運動特征和關鍵幀之間的關系,提出了一種關鍵幀結合幅值直方圖熵的檢測方法,通過提取運動目標的幅值加權方向角并以自適應的無監督聚類方法得到關鍵幀,利用幅值加權方向角的熵值判斷運動目標的不同狀態,此方法降低了誤檢率,提高了檢測效率。
傳統的目標提取算法中,幀差法是對相鄰視頻幀做時間差分運算,并對運算結果進行閾值分割以獲得運動區域,當運動目標運動速度較為緩慢時,很難精確地檢測出目標,且檢測出的目標會出現空洞現象,導致檢測、跟蹤失敗。為了解決這些問題,Barnich[12~13]等提出了一種像素級的背景提取算法(Visual Background Extractor,VIBE),它采用了隨機更新策略,首先為每一個像素建立一個N個元素的集合,這些集合構成運動檢測的背景模型。用待測像素與集合中的元素做絕對值差,當M個元素小于設定的閾值時,則該點是背景點。確定該點為背景點時,更新該點所在的背景集合,并隨機在該點所在區域內選擇一個像素,更新相應的集合元素。這種方法提取運動目標具有背景減除速度快、運動目標檢測精度高、抗干擾、計算量小、耗時短等優點,因此本文利用VIBE對視頻序列進行處理來獲取運動目標。
圖1是采用VIBE算法和幀間差分法對圖像序列進行的背景提取效果圖,由圖可知,即使是不太清晰的灰度圖,VIBE算法的背景去除效果仍然很好,而幀差法并不能完整地提取運動目標。

圖1 前景提取算法比較圖
提取出運動目標后,經過膨脹、腐蝕、開閉運算的形態學處理,可以得到較為完整的運動目標,如圖2(b)。緊接著去除面積較小的區域,采用最近鄰法進行標記。

式中:p=1,2,…,M,q=1,2,…,Z。將第 i幀第M個區域與上一陣中Mahalanobis距離最短的區域相關聯,實現區域標記,如圖2(c)。區域標記為分析不同的運動區域提供了便利。

圖2 運動區域標記
關鍵幀[14]是以少量的視頻幀數反應圖像序列內容發生明顯變化的幀。海量的視頻中包含大量復雜的信息,為了節省時間,方便快捷地提取我們需要的信息對視頻理解、分析,關鍵幀的獲取顯得尤為重要。本文主要以跟隨、奔跑和打架這三種特定的人體行為做研究對象,通過提取關鍵幀的方法實現對異常行為的自動檢測。針對現有的關鍵幀算法存在計算量大,閾值選擇困難的問題,本文提出一種基于改進的無監督聚類并結合幅值加權方向角特征的關鍵幀提取方法,首先,采用vibe算法建立背景模型,提取出運動目標并標記出運動區域,然后選取一種計算稀疏光流的算法(Lucas-Kanade,LK)[15]求解運動目標的運動方向角特征,最后,以加權運動幅值角為主要特征,采用自適應的無監督聚類算法對其進行聚類處理,提取出關鍵幀。
光流計算是對視頻中每一幀圖像的整幅圖像提取光流場,運算量極為龐大。為了減少計算量,本文僅對運動目標區域計算光流,選取LK光流算法,并將運動的方向通過公式(2)換算成角度,轉換后的結果如下:

式中u(i,j)、v(i,j)分別表示垂直和水平方向的光流分量,θ(i,j)表示運動角度。衡量運動劇烈程度的另一個重要指標為運動速度幅值,像素點運動速度幅值較大,則動作幅度也較大,因此,幅值可作為方向角的一個加權系數。本文選擇幅值加權的方向角作為關鍵幀提取的主要特征量,運動方向的范圍為360。,一般將其分為n個區間,用來統計n個區間內個運動區域各個點的運動角度范圍。為了減少運算量,在滿足運動計算精度要求的基礎上,本文將運動方向分為12個區間,每個區間為30°。
自適應無監督聚類算法可以根據視頻的復雜程度提取不同的關鍵幀,克服了傳統K-均值聚類只能提取固定數目的關鍵幀,而且還必須人工預先設定聚類中心和聚類數目的不足。所以本文采用改進的自適應無監督聚類算法,解決了一般無監督聚類必須做大量實驗才能預先設定一個閾值的不足。
1)自動選取閾值
閾值T的選取公式為

式中N為視頻的總幀數;c為常數,這里取0.1。自動選取的閾值能有效地克服在對運動量比較少的視頻鏡頭進行關鍵幀提取時出現的冗余問題。
2)初始化。獲取第一幀 f1并把它劃分到簇ω1中,f1作為簇ω1的聚類中心,簇個數Nc=1。
3)獲取下一幀 fi,直到最后一幀為止。

4)根據計算幀 fi和所有的簇ω1(k=1,2,…,Nc)的聚類中心之間的相似距離dist(fi,ωck),其中ωck為簇ωk的聚類中心。
6)Nc=Nc+1,形成一個新的簇,把幀 fi劃分到新簇ωNc中。重新計算聚類中心:新的聚類中心為該簇中所有幀之和除以該簇中幀的數目,轉到步驟3)。
聚類結束時,可選取關鍵幀,從每一個聚類中提取距離聚類中心最近的幀作為該聚類的代表幀,上述所有代表幀即為視頻鏡頭的關鍵幀。
采用改進的自適應無監督聚類算法來獲取視頻的關鍵幀,其中CASIA行為數據庫中的3種人體行為的關鍵幀數目如下表1所示。

表1 人體行為關鍵幀數量
本文以幅值方向直方圖熵值作為人體不同行為的總特征,實現異常行為檢測。將聚類獲取的關鍵幀圖像中運動目標的方向角作為幅值直方圖上的輸入,因為方向直方圖在空間上忽略了幅值強度的影響,因此,引入了幅值強度這個衡量標準,設區域R的方向直方圖模型為

m為直方圖區間個數,其中,t表示第t幀。本文取m=12,區間大小為30。
改進的直方圖加入了幅值對方向角的影響,對噪聲產生的小范圍方向角混亂得到了有效的抑制,更好地反映運動目標的特征,定義直方圖的熵為

EHt越大表明區域內光流特征方向雜亂且有多個主運動趨勢,從而得出該區域內運動混亂。取分別代表上下半身運動的熵值,由于上半身行為較為有序,下半身行為在發生異常的時候較為無序,因此計算兩個熵值。經驗證,狀態和數目不同的目標,其熵值所呈現的狀態不一致,因此可以區分不同的行為。
實驗在W indows7環境下驗證所提出的異常行為檢測算法,采用CASIA行為數據庫驗證,該行為數據庫是在室外環境下分布于三個不同視角(平時、斜視和俯視)未標定的攝像機采集而成,多人交互行為中,每類行為有24位受測者,每位出現4次,該數據庫共計1446個AVI視頻,每個文件持續時間因行為類別而不同,從5s到30s不等,文中對跟隨、奔跑、打架這3種特定的異常行為數據,采用本文提出的檢測算法做了檢測。
1)為了直觀清晰地反映3種不同行為的加權方向角熵值的區別,圖4、5、6分別繪制了3種行為的特征直方圖。2)為了更加清楚地反映運動目標的熵值變化,本節繪制了一段視頻中熵值的變化曲線圖,如圖7所示。3)為比較本文算法與其他兩種算法,在數據庫中選取測試視頻做了對比試驗,實驗數據如表2。

圖3 跟隨行為中單雙目標間的幅值加權直方圖

圖4 奔跑的幅值加權直方圖

圖5 相遇、打架間的幅值加權直方圖
圖3 、4、5分別為同一場景中3種不同的行為,圖3(c)、圖4(c)、圖5(c)分別為對應場景中提取的特征直方圖,圖3(a)為第60幀單目標行走的提取效果圖,(b)為雙目標行走的提取效果圖,(c)為兩幀不同運動目標的幅值加權方向角對比圖,圖中反映出兩種狀態具有明顯的運動主方向,且雙目標比單目標值高出2倍,與視頻完全吻合。圖4(c)反映了不同幀的方向角對比直方圖,其運動主方向出奇一致,這一現象也符合視頻中步態運動的開合狀態。圖5(c)為相遇和打架的加權方向角直方圖對比,圖中可看出110幀具有明顯的主方向,與視頻圖像完全吻合,第220幀運動方向雜亂無章,沒有明確的運動主方向,且兩個打架目標的各肢體運動方向不一致。通過以上實驗數據對比,驗證了加權方向角對不同行為的區分度。

圖6 打架熵的變化曲線
圖6 為一段視頻的熵值變化圖,該視頻共540幀。第0~180幀,單目標進入視頻區域,熵值維持在0.15附近且小于0.2。第181~420幀,隨著第二個運動目標進入視頻區域,熵值逐步增加,并且維持在0.2~0.25之間。第421~500幀,熵值出現明顯的增大且增幅較快,近似0.3。500幀以后,運動目標離開視頻監控區域,熵值也隨之降低,恢復到運動目標進入監控區域前的狀態。該運動熵值變化曲線與視頻監控內容完全吻合,因此能夠很好的反映運動目標的狀態。
表2為三種算法對異常行為所做的檢測結果,N表示實驗視頻數,n表示行人的正常幀數,m表示行人異常幀數,P表示將正常行為誤檢為異常的概率(%),e表示異常行為的識別概率(%),實驗結果表明本文算法具有較高的識別率和較低的誤檢率。

表2 三種算法實驗對比結果
本文提出關鍵幀結合幅值直方圖熵的異常行為檢測算法,加入提取關鍵幀的步驟,提高了有用信息的獲取效率,并且通過計算監控區域內運動目標的幅值加權方向角熵值來描述行為的激烈和混亂程度。通過多次實驗,能夠有效地對不同的異常行為做出判斷且具有較高的識別率。