丁偲偲,王 鋒
(1.武漢郵電科學(xué)研究院 湖北 武漢 430074;2.武漢烽火眾智數(shù)字技術(shù)有限責(zé)任公司 湖北 武漢 430074)
安防產(chǎn)業(yè)是隨著現(xiàn)代社會安全需求應(yīng)運(yùn)而生的產(chǎn)業(yè)。隨著信息技術(shù)的進(jìn)步,其科技含量越來越高,對智能化的應(yīng)用需求也在提升。通過智能視頻監(jiān)控預(yù)測可疑行為,例如人員穿越警戒線、警戒區(qū)域、長時間滯留,可疑物品遺留/遺失等,系統(tǒng)會對當(dāng)前情況做出判斷或預(yù)判,如果認(rèn)為可疑人員正在或?qū)⒁獙嵤┓缸?,提醒或警示值班人員采取適當(dāng)?shù)拇胧1疚奶岢龅木鋮^(qū)域告警算法是在嵌入式DM8148平臺上實現(xiàn)的對人運(yùn)動軌跡的識別跟蹤,對警戒區(qū)域的異常行為進(jìn)行告警,在一定程度上避免事件的發(fā)生,或者加快事后的處理速度。運(yùn)用該算法的監(jiān)控設(shè)備適合小區(qū)、銀行、倉庫等場所的監(jiān)控與防范。
DM8148[1]視頻處理器是一款高度集成的可編程平臺,借助TI的DaVinci處理器技術(shù)優(yōu)勢,可以很好地應(yīng)用于視頻監(jiān)控、網(wǎng)絡(luò)攝像機(jī)、媒體播放器等產(chǎn)品。DM8148處理器包含一個高達(dá)1GHz的ARM Cortex-A8 RISC內(nèi)核,協(xié)調(diào)和控制各個任務(wù)模塊,并監(jiān)控程序正常運(yùn)行及糾錯;一個高達(dá)750 MHz的C674x超長指令字?jǐn)?shù)字信號處理器(DSP),進(jìn)行智能算法的快速處理;一個含有2個ARM Cortex-M3架構(gòu)處理器的媒體控制器,用于視頻圖像的相關(guān)處理。
OpenCV[2]是一種用于數(shù)字圖像處理和計算機(jī)視覺的函數(shù)庫,可以在Windows、Linux等系統(tǒng)上運(yùn)行,由C函數(shù)和C++類構(gòu)成,提供了豐富的幀提取函數(shù)和標(biāo)準(zhǔn)的圖像處理算法應(yīng)用于bitmap圖像,video文件和網(wǎng)絡(luò)攝像機(jī)等形式的源文件,這些函數(shù)庫都是開源的源代碼,可以直接在具體的視頻開發(fā)項目中調(diào)用。高斯混合模型應(yīng)用于背景提取,Kalman濾波應(yīng)用于目標(biāo)預(yù)測跟蹤,這些算法在OpenCV中都有具體的函數(shù)實現(xiàn)。
雖然OpenCV提供的圖像處理函數(shù)是開源的,但直接移植到DM8148平臺的DSP處理器會缺乏關(guān)聯(lián)庫,需結(jié)合算法原理在DSP中單用C函數(shù)實現(xiàn)。另一個關(guān)鍵的限制因素是嵌入式系統(tǒng)的實時性,需在給定幀率的前提下適當(dāng)調(diào)整智能算法處理次數(shù),以保證幀率的穩(wěn)定。
警戒區(qū)域告警算法屬于智能視頻監(jiān)控在人運(yùn)動軌跡識別方面的應(yīng)用,主要包括視頻圖像中移動目標(biāo)檢測、目標(biāo)跟蹤和目標(biāo)行為分析。
該算法通過混合高斯模型進(jìn)行背景建模,利用背景減法結(jié)合背景更新實現(xiàn)對移動目標(biāo)的檢測提取,然后結(jié)合線性預(yù)測、Blob匹配和最鄰近跟蹤原則對二值前景圖進(jìn)行移動目標(biāo)匹配跟蹤,最后對移動目標(biāo)進(jìn)行軌跡分析,從而實現(xiàn)對警戒區(qū)域入侵行為的檢測,及時上報提示或告警信息。具體流程如圖1所示。
圖1 警戒區(qū)域告警流程圖Fig.1 Flow chart of the precautionary area alarm algorithm
背景減法[3]是一種主流的移動目標(biāo)檢測的算法,是通過建立背景模型,將當(dāng)前幀與背景模型進(jìn)行對比,最后根據(jù)對比結(jié)果閾值化來區(qū)分前景和背景,提取運(yùn)動區(qū)域。其中,背景模型既需要一定的靈敏性對前景和背景進(jìn)行分辨,又需要一定的魯棒性滿足動態(tài)背景的干擾,所以背景模型的建立至關(guān)重要。另外由于算法應(yīng)用于嵌入式DM8148平臺,過大的數(shù)據(jù)計算量會影響系統(tǒng)的實時性,需在背景建模前進(jìn)行圖像的縮放。
背景建模采用混合高斯模型[4],采用K個高斯模型來代表圖中像素點(diǎn)的特征,在獲得下一幀圖像時更新背景模型,將當(dāng)前幀的每個像素點(diǎn)與背景模型匹配,匹配成功則為背景,從而提取前景運(yùn)動區(qū)域。K是高斯模型數(shù),K取值大,算法計算量越大,能適應(yīng)越復(fù)雜的場景,考慮到在嵌入式DM8148平臺的運(yùn)用,過于復(fù)雜的算法并不適宜,故K值取3。
背景模型的更新包括均值μ、方差σ2、權(quán)值ω的更新。簡單分為以下幾種情形:
①K個高斯分布中有匹配當(dāng)前像素值的分布,按如下表達(dá)式更新該像素點(diǎn)的權(quán)值:
ωn,t表示 t時刻第 n個高斯分布的權(quán)值,α為學(xué)習(xí)率,決定分布參數(shù)變化的速度。對于匹配的分布Mn,t取值為1,其余分布均取值0。
對于不匹配的分布,均值和方差不變,匹配的分布按如下表達(dá)式更新均值和方差:
Xt表示當(dāng)前像素值,ρ定義為表示高斯密度函數(shù):
②K個高斯分布中沒有匹配當(dāng)前像素值的分布,以當(dāng)前Xt為均值,給定較大的初始方差302,構(gòu)建新的高斯模型取代當(dāng)前ω/σ最小的模型。
二值前景圖由于噪聲和背景的細(xì)微變化往往不是完整的輪廓,需要通過形態(tài)學(xué)處理[5]降噪。本文采用腐蝕和膨脹的方法處理二值前景圖。腐蝕和膨脹[6]都是遍歷圖像的每個像素,與覆蓋的二值圖像區(qū)域進(jìn)行圖像“與”運(yùn)算。不同的是,腐蝕令運(yùn)算后全為1的像素點(diǎn)為1,否則為0,從而去掉毛刺和孤立的斑點(diǎn);膨脹令運(yùn)算后全為0的像素點(diǎn)為0,否則為1,從而填充邊緣、消除噪聲引起的空洞。
經(jīng)形態(tài)學(xué)處理后的效果圖如圖2所示。
圖2 形態(tài)學(xué)處理效果圖Fig.2 Rendering of morphological processing
圖2 (a)是一幀視頻圖像通過格式轉(zhuǎn)換和亮度分量提取后的圖像,圖2(b)是背景圖像,圖2(c)是差分處理并二值化后的前景圖,圖中目標(biāo)區(qū)域出現(xiàn)空洞,背景區(qū)域包含若干噪點(diǎn)。圖2(d)是形態(tài)學(xué)處理后效果圖,到達(dá)填充前景空洞,消除背景噪聲的作用。
目標(biāo)跟蹤算法[7]的種類很多,本文提出一種結(jié)合線性預(yù)測、Blob匹配,和最鄰近跟蹤的目標(biāo)跟蹤方法。視頻的幀率一般為25或30幀/秒,因此相鄰兩幀的時間間隔很短,可以假設(shè)每一個移動目標(biāo)的移動速度在兩幀之間是恒定的,從而構(gòu)成一個線性動態(tài)系統(tǒng),利用Kalman濾波進(jìn)行線性預(yù)測。Blob匹配[8]是指利用Blob信息,即移動目標(biāo)區(qū)域塊的位置、大小、周長等幾何信息,去匹配候選目標(biāo)。
具體的目標(biāo)跟蹤算法流程分為以下幾步:
①候選目標(biāo)鏈Candidate成員的選定
在經(jīng)過形態(tài)學(xué)處理后的前景圖像中,目標(biāo)區(qū)域已經(jīng)成為一個個連通區(qū)域,將區(qū)域面積大于閾值MINAREA(本文采用3*3)的連通區(qū)域標(biāo)記為一個Blob,記錄其位置,作為候選目標(biāo)鏈Candidate成員。
②對前一幀檢測到的目標(biāo)鏈Destination成員進(jìn)行線性預(yù)測,計算預(yù)測位置與候選鏈Candidate成員的距離,尋找距離最短的Candidate。
③比較②中的最短距離與設(shè)定的距離閾值,即最大可能移動的距離。
若最短距離<距離閾值,用距離最短的Candidate目標(biāo)位置更新Destination當(dāng)前位置;
若最短距離>距離閾值,Destination中該目標(biāo)丟失,刪除此目標(biāo)。將Candidate中未匹配上的成員作為新目標(biāo)加入Destination鏈。
④若存在多個Destination鏈成員與同一Candidate目標(biāo)匹配,則保留最早出現(xiàn)的Destination,刪除其他成員。
目標(biāo)跟蹤的效果圖如圖3所示。
圖3驗證了線性預(yù)測結(jié)合Blob匹配的跟蹤效果,圖3(a)中兩個目標(biāo)跟蹤區(qū)域即將重合;圖3(b)由于兩個目標(biāo)區(qū)域運(yùn)動方向相同,前景Blob融合在一塊;圖3(c)中目標(biāo)區(qū)域分離,根據(jù)Blob匹配重新區(qū)分目標(biāo)進(jìn)行跟蹤。
目標(biāo)行為的判斷是在移動目標(biāo)檢測和跟蹤的基礎(chǔ)上,使用有效的算法對人行為模式,即運(yùn)動軌跡,進(jìn)行分析、判斷、處理,達(dá)到提前預(yù)警的效果,一定程度上避免了事件的發(fā)生。
對于警戒區(qū)域告警的判斷分為如下幾種情況:
①目標(biāo)存在沒有超過5~10幀,不進(jìn)行處理。
②目標(biāo)存在超過5~10幀,未標(biāo)記進(jìn)出警戒區(qū)域標(biāo)志。若目標(biāo)當(dāng)前位置和前一幀位置分別位于警戒區(qū)域內(nèi)外,且符合報警方向,標(biāo)記該目標(biāo),記錄跨越區(qū)域方向,即進(jìn)入或離開。
圖3 目標(biāo)跟蹤效果圖Fig.3 Rendering of target tracking
③目標(biāo)存在超過5~10幀,已標(biāo)記進(jìn)出警戒區(qū)域標(biāo)志。若目標(biāo)進(jìn)出警戒區(qū)行為與警戒區(qū)域告警方向一致,根據(jù)持續(xù)時間上報提示或警告信息。
設(shè)計初期,為了驗證警戒區(qū)域告警算法的性能,在Windows 7操作系統(tǒng)上用Visual Studio2008開發(fā)工具和OpenCV視覺函數(shù)庫實現(xiàn)算法。后期將算法中調(diào)用的創(chuàng)建、更新混合高斯模型,形態(tài)學(xué)處理等圖像處理函數(shù)移植到DM8148的DSP處理器中,從而實現(xiàn)智能視頻監(jiān)控系統(tǒng)的前端智能。
在實際應(yīng)用中,視頻幀速率為25幀/秒,主碼流分辨率為1 920*1 080,進(jìn)行縮放后算法處理的圖像分辨率為352*288。應(yīng)用檢測效果如圖4所示。
圖4驗證了警戒區(qū)告警算法的實際應(yīng)用效果,圖4(a)為任意劃定的警戒區(qū)域,圖4(b)中跟蹤目標(biāo)即將進(jìn)入警戒區(qū)。圖4(c)為跟蹤目標(biāo)進(jìn)入警戒區(qū),上報Alarm In告警信息的情況,圖4(d)為跟蹤目標(biāo)離開警戒區(qū),上報Alarm Out告警信息的情況。
本文提出了一種應(yīng)用于智能視頻監(jiān)控系統(tǒng)的警戒區(qū)域告警算法,并在嵌入式DM8148平臺上實現(xiàn)。算法能實時檢測、跟蹤監(jiān)控區(qū)域人員,記錄其運(yùn)動軌跡,并對可疑入侵行為進(jìn)行識別處理,對動態(tài)背景的干擾具有一定的魯棒性。該算法已經(jīng)在基于DM8148的智能高清網(wǎng)絡(luò)攝像機(jī)項目中得到應(yīng)用,今后可在提高跟蹤準(zhǔn)確率的基礎(chǔ)上擴(kuò)展人流量統(tǒng)計功能。
圖4 應(yīng)用檢測圖Fig.4 Detection figure of application
[1]Texas Instrument.TMS320DM814x DaVinci Digital Media Processors[EB/OL].http://www.ti.com/lit/gpn/tms320dm8148.
[2]梁艷.基于OpenCV的ARM嵌入式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)[J].微型機(jī)與應(yīng)用,2013,32(9): 29-31.LIANG Yan.ARM embedded network video monitoring system based on openCV[J].Microcomputer&Its Applications,2013,32(9):29-31.
[3]周維.視頻監(jiān)控中運(yùn)動目標(biāo)發(fā)現(xiàn)與跟蹤算法研究[D].北京:中國科學(xué)技術(shù)大學(xué),2012.
[4]李明,趙勛杰.改進(jìn)的基于高斯混合模型的運(yùn)動目標(biāo)檢測算法[J].計算機(jī)工程與應(yīng)用,2011,47(8): 204-206.LI Ming,ZHAO Xun-jie.Improved moving objects detection algorithm based on gaussian mixture model[J].Computer Engineering and Applications,2011,47(8):204-206.
[5]李彤.智能視頻監(jiān)控下的多目標(biāo)跟蹤技術(shù)研究 [D].北京:中國科學(xué)技術(shù)大學(xué),2013.
[6]董坤.視頻監(jiān)控中運(yùn)動人體檢測與異常行為分析研究[D].南京:南京郵電大學(xué),2013.
[7]孫紅,王曉婉,吳錢忠,等.目標(biāo)實時跟蹤與預(yù)測算法研究[J].信息技術(shù),2014(3): 55-57.SUN Hong,WANG Xiao-wan,WU Qian-zhong,et al.Algorithm of real-time object tracking and prediction[J].Information Technology,2014(3):55-57.
[8]袁國武.智能視頻監(jiān)控中的運(yùn)動目標(biāo)檢測和跟蹤算法研究[D].云南: 云南大學(xué),2012.