于俊俊,朱立軍
(沈陽化工大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,遼寧 沈陽 110142)
電梯轎廂的運行環(huán)境封閉,是搶劫、施暴等異常行為的事故高發(fā)地。目前小區(qū)、寫字樓等高層建筑的電梯大多采用人工方式進行視頻監(jiān)控。這種傳統(tǒng)方式存在眾多弊端,如發(fā)生異常時不能及時通知、錯報漏報多、事后錄像取證困難等,并且實時性相對較差。
目前,針對人體異常行為檢測的研究方法主要分為2種,分別是采用傳統(tǒng)方法提取特征和利用深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)提取特征。傳統(tǒng)方法通過光流法、運動歷史圖(MHI)、方向梯度直方圖(HOG)等提取人體行為特征,如文獻[1]通過運動歷史圖提取特征,根據(jù)運動歷史圖的圖片熵來建立能量函數(shù)并設(shè)置相應(yīng)閾值進行異常檢測。文獻[2]建立了角點動能模型,利用金字塔LK光流法對運動前景的角點進行光流計算,通過統(tǒng)計圖像中的平均動能,實現(xiàn)對打斗情形的檢測。使用深度學(xué)習(xí)進行異常行為檢測方法:齊琦等對多通道3DCNN的結(jié)構(gòu)進行了改進,從而對人體行為進行識別。張怡佳等人提出一種改進的雙流卷積神經(jīng)網(wǎng)絡(luò)模型,訓(xùn)練得到一個多模型融合的人體行為識別器。CNN的訓(xùn)練必須以充足豐富的訓(xùn)練樣本數(shù)據(jù)為基礎(chǔ),計算量較大且訓(xùn)練樣本不足會導(dǎo)致檢測準(zhǔn)確率下降,難以實現(xiàn)實時準(zhǔn)確的異常檢測。
本文針對電梯轎廂環(huán)境的特殊性,經(jīng)過綜合考慮電梯內(nèi)乘客異常檢測的準(zhǔn)確率和實時性,提出了一種基于金字塔LK光流法的實時檢測異常行為的方法。針對檢測到前景人體角點的噪聲問題,利用速度大小篩除背景光流噪聲點,通過計算光流點的平均速度和方向熵的乘積表示運動的混亂度,最后設(shè)置閾值來檢測異常行為。
光流的概念最早由Gibson提出,它攜帶了運動目標(biāo)的方向和幅值等信息。光流法不需要提前對圖像背景進行建模,計算結(jié)果不易受外部環(huán)境的影響,只取決于連續(xù)幀的相對運動,因此很適合運用于異常行為的檢測。光流通常有稠密和稀疏之分,可以很好地反映運動目標(biāo)的時空信息特征。稠密光流需要對圖像中所有像素點進行逐點匹配,通過計算圖像上特征點的偏移量,形成一個稠密的光流場。其典型代表是Horn-Schunck光流法,這種方法計算量比較大,實時性不高,用在視頻監(jiān)控系統(tǒng)中很難取得理想效果。
Lucas-Kanade(LK)光流法是計算稀疏光流的一種經(jīng)典方法,它計算的前提條件是假定×鄰域范圍內(nèi)的所有像素點都具有一致的運動,利用最小二乘法對該鄰域的光流值進行計算。角點包含豐富的信息,是圖像中梯度縱向和橫向變化最明顯的點。與密集光流法相比,LK光流法的計算量較小,僅需計算角點鄰域范圍內(nèi)的光流。因此采用稀疏光流法進行運動目標(biāo)的檢測。
LK算法前提條件如下:
(1)亮度一致;
(2)前后幀像素點移動的偏差不能過大;
(3)某一像素點與其周圍像素點移動的模式相同。
像素點的運動如圖1所示。假設(shè)像素點的亮度值在連續(xù)兩幀圖像中保持不變,即像素點從時刻的(,)位置,運動到+Δ時刻的(+Δ,+Δ)位置,亮度保持不變。則有:
圖1 像素點的運動
將式(1)進行一階泰勒級數(shù)展開,忽略高階項,得到光流約束公式:
單個像素點通過上式無法解出2個未知數(shù),可以利用×個像素點建立多個方程:
通過求解上述方程可得:
實際應(yīng)用中,像素點的運動不一定滿足假定小且連貫的特點,比如電梯內(nèi)發(fā)生的打架、搶劫等動作幅度大、運動速度較快的異常行為。使用金字塔LK光流法能夠有效彌補LK光流法在這方面的不足。本文構(gòu)建的圖像金字塔結(jié)構(gòu)如圖2所示。金字塔的最底層即原始圖像的層數(shù)為0,將原始圖像不斷縮小,降低圖像分辨率,待最頂層圖像的分辨率降低到一定程度后,像素點移動變得足夠小,以滿足LK光流法動作較小的前提條件。從金字塔的最頂層開始估計光流,然后沿著金字塔結(jié)構(gòu)逐層迭代計算,不斷修正起初假設(shè)的位移,從而得到原始圖像的光流運動估計。本文使用的金字塔為3層,既能實時有效的計算光流矢量,又不會增加計算量。
圖2 圖像金字塔
利用改進的金字塔LK光流法進行光流檢測的總體流程如圖3所示。
圖3 改進的金字塔LK光流檢測過程
電梯轎廂空間有限,通過分析乘客乘坐電梯的心理,可以發(fā)現(xiàn)正常情況下,乘客走進電梯轎廂后先按下自己想去的樓層鍵,然后幾乎一動不動地站著等待電梯到達目的樓層。如果乘客相互之間不熟悉不會進行太多肢體接觸,只會進行一些動作幅度較小的動作,比如低頭玩手機、談話交流等。然而,電梯內(nèi)突然發(fā)生異常行為的情況總是不可避免,且這些行為的動作幅度大、速度較快、方向混亂,不具有規(guī)律。本文將電梯內(nèi)發(fā)生的打斗和搶劫等運動速度快、運動方向混亂的行為定義為異常行為。
光流矢量蘊含豐富的特征,其方向可以反映人體或物體運動的方向,其長短可以反映人體或物體運動速度的快慢,其強度可以反映圖像中運動目標(biāo)的分布情況。將這些特征結(jié)合可以有效判斷運動目標(biāo)運動時的形態(tài)變化特征和運動變化規(guī)律。
通過金字塔LK光流法求得每個光流點的速度矢量(,),據(jù)此可以求得每個光流點(,)的運動速度:
光流點的運動方向:
運用光流法進行運動目標(biāo)檢測前,首先要去除噪聲、背景等多余信息的干擾,以達到盡可能保留對視頻分析有意義的特征信息。實驗過程中會有背景光流點的噪聲干擾,對實驗的準(zhǔn)確率產(chǎn)生影響。因此,運用光流法提取運動特征,去除背景噪聲角點非常必要。通過實驗分析發(fā)現(xiàn),運動背景中的角點光流速度小于運動前景人體角點的速度,為了去除背景噪聲光流點,設(shè)置速度約束條件,保留滿足>條件的光流點。為篩選光流點的閾值,經(jīng)多次實驗后取值為30。
均值是統(tǒng)計學(xué)術(shù)語,在數(shù)學(xué)上的含義與平均數(shù)類似。每幀圖像的光流速度均值為:
式中,為當(dāng)前幀所有成功匹配到的角點總數(shù)。為排除正常行為檢測到角點數(shù)少的影響,通過大量實驗,本文取值為100。表示視頻的幀數(shù),采用平均速度來體現(xiàn)每一幀視頻圖像的速度信息。
直方圖是一種以圖形形式準(zhǔn)確表示一組數(shù)值的數(shù)據(jù)分布條形圖,通過圖表形式非常直觀地展示了統(tǒng)計的數(shù)據(jù)分布。方向直方圖顧名思義就是對光流方向進行直方圖統(tǒng)計,將特征點運動的方向范圍劃分為大小相等的個角度區(qū)間,然后將運動矢量分別歸類到對應(yīng)區(qū)間。本文采用光流方向直方圖(HOF)的形式對特征點的運動方向信息進行描述,通過計算方向直方圖的熵來衡量光流點運動方向的混亂程度。
熵的概念被用來描述一個系統(tǒng)的混亂度。它可以用來表示任何一種能量在空間中的分布均勻程度,能量分布得越均勻,相應(yīng)的熵值就會越大。計算得到的方向熵的值越大,表明當(dāng)前幀中光流點運動的方向越混亂,越有可能發(fā)生異常行為。如圖4所示,將平面中360°方向空間從0°開始逆時針劃分區(qū)間,分為均等的8個區(qū)間,當(dāng)光流點的運動方向?qū)儆谠搮^(qū)間時加入此方向區(qū)間的統(tǒng)計中。
圖4 光流方向劃分
在計算方向熵之前,首先計算每個區(qū)間方向的概率:
式中:區(qū)間的光流方向次數(shù)總和為d;S為方向直方圖的方向次數(shù)總和,此處將S定義為100。
方向熵的計算公式如下:
運動的方向熵和平均速度是判斷是否存在異常行為的重要因素,電梯轎廂內(nèi)的乘客進行正常的小幅度動作時,平均速度和方向熵都很小。相反,當(dāng)出現(xiàn)打斗和搶劫等異常行為時,方向熵和平均速度變大,乘法可以理解為量變發(fā)展到質(zhì)變的結(jié)果。本文經(jīng)過大量的實驗研究,提出衡量運動混亂度的公式:
實驗采用在真實電梯轎廂環(huán)境拍攝的行為數(shù)據(jù)集。將攝像頭固定在電梯上方,正對電梯門位置。視頻大小為566×424,幀率為15 FPS,正常行為包括在電梯內(nèi)走動,按下目標(biāo)樓層、喝水、看手機等,異常行為有電梯內(nèi)有人打架、撕扯等。
為驗證實驗所提出方法的準(zhǔn)確性,本文在Windows7系統(tǒng),8G內(nèi)存的計算機上使用實驗工具VS2015 和OpenCV4.1.0,通過C++編程語言進行編程,在自制數(shù)據(jù)集中進行測試。
通過圖5可以看出,發(fā)生打斗等異常行為時,光流點運動的方向比較混亂,而正常行為發(fā)生時,光流點運動方向比較一致。
圖5 電梯內(nèi)光流圖
圖6統(tǒng)計了正常行為和異常行為的光流方向直方圖,可以看出正常行為的運動方向主要集中在0~(1/4)π,(3/4)π~π和(7/4)π~2π范圍,運動方向較集中。異常行為的運動方向區(qū)間比較均勻,其熵值較大。
圖6 正常行為和異常行為方向直方圖
由圖7可以看出,正常行為的方向熵值范圍為1.5~2.5;異常行為由于光流點運動方向比較混亂,其熵值較大,數(shù)值集中在3.0以上。
圖7 正常行為和異常行為方向熵曲線
通過對比圖8的實驗數(shù)據(jù)可以看出,正常行為的值較小,且數(shù)值大多在700以內(nèi);而異常行為由于光流點運動的速度大,方向比較雜亂,其值較大,數(shù)值集中在700以上。此處閾值設(shè)置為700,若連續(xù)2幀視頻序列的值超過閾值,提示出現(xiàn)異常行為。
圖8 電梯內(nèi)正常行為和異常行為的W值曲線
將本文方法在自制數(shù)據(jù)集中進行驗證,實驗測試數(shù)據(jù)包含正常行為1 575幀,異常行為1 125幀。與平均速度法進行對比,其中,異常漏檢率為異常行為檢測為正常行為的概率,實驗對比結(jié)果見表1所列。
表1 與其他方法的檢測結(jié)果對比
由表1得出,與平均速度(閾值250)方法相比,本文方法準(zhǔn)確率較高,同時誤檢率相對較低,能獲得比較準(zhǔn)確的實驗結(jié)果,在實際運用中能滿足實時準(zhǔn)確的檢測要求。
針對電梯內(nèi)乘客打架、搶劫等運動幅度大、方向混亂的異常行為,提出基于金字塔LK光流法的異常行為檢測方法。本文方法的優(yōu)點是計算簡單,行之有效,且方法的執(zhí)行速度較好,可以實現(xiàn)實時檢測。通過實驗驗證,本方法在效果上能夠達到預(yù)期。