楊豐瑞,劉雄風(fēng),劉 亭
(1.重慶郵電大學(xué) 通信新技術(shù)應(yīng)用研究中心,重慶 400065,2. 重慶重郵信科(集團(tuán))股份有限公司,重慶 400065)
智能視頻監(jiān)控中入侵檢測算法的設(shè)計與實現(xiàn)
楊豐瑞1,2,劉雄風(fēng)1,劉 亭1
(1.重慶郵電大學(xué) 通信新技術(shù)應(yīng)用研究中心,重慶 400065,2. 重慶重郵信科(集團(tuán))股份有限公司,重慶 400065)
為實現(xiàn)在高清視頻監(jiān)控中實時、準(zhǔn)確地檢測出入侵的人員或物體,設(shè)計了一種新的入侵檢測算法。算法結(jié)合混合高斯模型與改進(jìn)的幀差法,并針對實際監(jiān)控場景做出以下改進(jìn):當(dāng)監(jiān)控畫面分辨率較高時,采用塊均值建模替代原混合高斯模型中的單個像素建模提高算法檢測的實時性;在監(jiān)控場景發(fā)生光照突變時結(jié)合改進(jìn)的幀差法避免因光照帶來的誤檢測。實驗結(jié)果表明,該算法處理速度快,準(zhǔn)確性高,適用于實時高清的智能視頻監(jiān)控系統(tǒng)。
智能視頻監(jiān)控;入侵檢測;運(yùn)動目標(biāo)檢測;混合高斯模型
入侵檢測是智能視頻監(jiān)控中一項重要的智能識別和自動報警技術(shù)。入侵檢測是指根據(jù)用戶劃定的警戒區(qū)域,通過運(yùn)動目標(biāo)檢測和運(yùn)動目標(biāo)的定位來判斷運(yùn)動目標(biāo)是否進(jìn)入警戒區(qū)??梢娙肭謾z測的重點(diǎn)在于運(yùn)動目標(biāo)的檢測和對運(yùn)動目標(biāo)的完整提取。
根據(jù)算法基本原理的不同,現(xiàn)有運(yùn)動目標(biāo)檢測算法可分為三大類:幀差法[1-2]、光流法[3-4]和背景減除法[5]。光流法有著對動、靜態(tài)背景下的目標(biāo)檢測都適宜的優(yōu)點(diǎn),但是算法相當(dāng)復(fù)雜,計算耗時,在視頻監(jiān)控中難以滿足實時性的要求。幀差法實現(xiàn)簡單,實時性強(qiáng),對光照變化有著較強(qiáng)的適應(yīng)性,然而幀差法對于像素變化不明顯的點(diǎn)難以檢測,從而造成檢測出的運(yùn)動目標(biāo)不完整。背景減除法是目前最為流行的一種運(yùn)動目標(biāo)檢測方法,相對于光流法其復(fù)雜度較低,相對幀差法其更能完整地提取運(yùn)動目標(biāo)。背景減除法的重點(diǎn)在于背景的提取,由Stauffer和Grimson提出的基于混合高斯建模(GMM)[6]的背景提取方法在運(yùn)動目標(biāo)檢測中得到了廣泛的研究。
本文設(shè)計的入侵檢測算法結(jié)合混合高斯背景模型和幀差法進(jìn)行運(yùn)動目標(biāo)的檢測,并針對實際視頻監(jiān)控場景做出如下改進(jìn):1)針對混合高斯背景模型在處理像素較高的監(jiān)控畫面時復(fù)雜度高、實時性差的缺點(diǎn),本文在不影響算法識別性能的情況下用塊建模替代單個像素點(diǎn)的建模,提高運(yùn)算速度;2)針對混合高斯背景模型在光照變化較為劇烈的情況下易將背景誤檢為運(yùn)動目標(biāo),本文算法在光照變化劇烈的情況下結(jié)合改進(jìn)的幀間差分法來降低光照的影響。
混合高斯模型(GMM)由Stauffer和Grimson提出,該模型能有效適應(yīng)背景中一些緩慢細(xì)微的變化造成的影響,抗干擾性強(qiáng),是常用且有效的背景建模方法,在運(yùn)動目標(biāo)檢測中得到廣泛的應(yīng)用。
混合高斯模型是指對圖像中的每一個像素點(diǎn)建立多個高斯模型(一般3~5個),在任意時刻t,每個像素的概率密度函數(shù)由這多個多維高斯分布函數(shù)的加權(quán)和來表示
(1)
(2)
其中:n為xt的維數(shù)。
利用混合高斯模型進(jìn)行背景建模主要有以下步驟: 第一步:用當(dāng)前圖像的每一個像素與已建立的K個高斯分布逐一進(jìn)行匹配,其匹配的條件為:
(3)
第二步:如果當(dāng)前像素滿足匹配條件,則匹配成功。如果匹配不成功,則做以下操作:
1)當(dāng)k 第三步:上一步中未匹配的分布各個參數(shù)保持不變,匹配的分布的參數(shù)做如下更新 wi,t=(1-α)·wi,t-1+α (4) ui,t=(1-ρ)·ui,t-1+ρ·xt (5) (6) 其中:ρ為參數(shù)的更新率。 (7) 最后對xi,t與上述B個高斯分布進(jìn)行匹配,如果xi,t能與其中任意一個匹配,則認(rèn)為該像素點(diǎn)為背景點(diǎn);否則認(rèn)為該像素點(diǎn)為前景點(diǎn),從而完成背景的提取。 采用混合高斯建模過程中,對每一個像素點(diǎn)建立K個高斯分布,當(dāng)監(jiān)控畫面的分辨率很高時,比如1 600×1 200,算法的復(fù)雜度必然會很高,算法的實時性差。在實際的視頻監(jiān)控中,攝像頭一般是固定不動的,因而背景畫面的變化一般很小,只會存在局部細(xì)微的變化,比如樹枝的擺動等。另外背景畫面中一般有大量的像素存在相似性,比如大塊灰色的地面,這些像素對應(yīng)的參數(shù)模型同樣具有相似性,可以將這些像素捆綁在一起,共用同一模型,從而降低背景建模的計算量。因此,當(dāng)監(jiān)控畫面的分辨率過高時,本文算法采用塊均值建模替代原混合高斯模型中的單個像素點(diǎn)的建模。 (8) 那么分塊后式(1)和(2)變?yōu)?/p> (9) (10) 式中其他參數(shù)的意義保持不變。匹配后參數(shù)按下式更新 ui,t=(1-ρ)·ui,t-1+ρ·Xt (11) (12) 跟混合高斯模型相比,幀差法算法簡單,而且對光照不敏感,因此考慮在光照變化劇烈的情況下采用幀差法來替代混合高斯模型進(jìn)行運(yùn)動目標(biāo)的檢測,但是傳統(tǒng)的幀差法檢測出來的運(yùn)動目標(biāo)不完整,內(nèi)部有空洞,這就使得準(zhǔn)確提取運(yùn)動目標(biāo)區(qū)域和計算運(yùn)動目標(biāo)是否進(jìn)入警戒區(qū)變得困難。因此本文對傳統(tǒng)的幀差法獲取到有空洞的運(yùn)動目標(biāo)二值圖像進(jìn)行8鄰域進(jìn)行操作。幀差法的計算式為 (13) 式中:fi(x,y)表示當(dāng)前幀(x,y)點(diǎn)像素的灰度值,fi-1(x,y)表示前一幀(x,y)點(diǎn)像素的灰度值,對差分圖像Di(x,y)上計算像素點(diǎn)(x,y)的8鄰域之和,Di(x,y)的8領(lǐng)域如圖1所示。 Di(x-1,y-1)Di(x,y-1)Di(x+1,y-1)Di(x-1,y)Di(x,y)Di(x+1,y)Di(x-1,y+1)Di(x,y+1)Di(x+1,y+1) 圖1 像素點(diǎn)(x,y) 8鄰域圖 Di(x,y)的8鄰域之和為 D8,i(x,y)=Di(x-1,y-1)+Di(x,y-1)+Di(x+1,y-1)+Di(x-1,y)+Di(x,y)+Di(x+1,y)+Di(x-1,y+1)+Di(x,y+1)+Di(x+1,y+1) (14) 若8鄰域之和大于255,則D8,i(x,y)=255。然后,對8鄰域差分圖像D8,i(x,y)采用大津閾值法(OSTU)計算閾值T,并二值化,得到的前景目標(biāo)區(qū)域,如 (15) 最后將得到的二值化圖像進(jìn)行形態(tài)學(xué)處理即可得到運(yùn)動目標(biāo),相比于傳統(tǒng)的幀差法,改進(jìn)后的幀差法得到的運(yùn)動目標(biāo)的像素點(diǎn)比較集中,而且算法的復(fù)雜度也不高。 入侵檢測算法的運(yùn)動檢測部分將以上改進(jìn)方法相結(jié)合,整個算法流程圖如圖2所示。 圖2 本文算法整體流程圖 首先對混合高斯模型進(jìn)行初始化,用戶通過鼠標(biāo)在監(jiān)控畫面上劃定警戒區(qū)域。 第二步,根據(jù)當(dāng)前視頻幀的像素點(diǎn)數(shù)判斷是否需要分塊,當(dāng)像素點(diǎn)數(shù)小于或等于640×480時,不需分塊處理,直接進(jìn)入第三步,當(dāng)像素點(diǎn)數(shù)大于640×480且小于1 280×720時進(jìn)行2×2分塊,像素點(diǎn)超過1 280×720時則進(jìn)行3×3分塊。 第三步,對第二步中視頻幀進(jìn)行混合高斯模型處理,獲取到前景的灰度圖像,對灰度圖像二值化和形態(tài)學(xué)處理后,計算出每個運(yùn)動目標(biāo)的外接矩陣。 第四步,判斷檢測出來的運(yùn)動目標(biāo)是否是因為光照的劇烈變化而導(dǎo)致的誤檢,因為當(dāng)發(fā)生光照突變時,圖像中大部分區(qū)域會被檢測為前景區(qū)域,所以本文采用計算第三步中最大運(yùn)動目標(biāo)的外接矩陣的面積跟當(dāng)前幀的面積的比值大小來判斷是否有光照的劇烈變化,具體的計算公式如下 (16) 其中,Area(I)表示當(dāng)前幀的面積;Area(Rmax(t))表示最大運(yùn)動目標(biāo)的外接矩陣的面積;ε是閾值,本文中取0.6。若式(16)成立,則說明存在光照的突變,進(jìn)入第五步,否則進(jìn)入第六步。 第五步,針對光照變化,采用改進(jìn)幀差法來提取運(yùn)動目標(biāo)。相比于傳統(tǒng)幀差法,改進(jìn)幀差法得到的運(yùn)動目標(biāo)像素更為集中,但是仍然難以根據(jù)檢測結(jié)果準(zhǔn)確的計算出目標(biāo)的外接矩陣。所以入侵檢測采用警戒區(qū)域內(nèi)運(yùn)動目標(biāo)的像素點(diǎn)跟整個警戒區(qū)域像素點(diǎn)的比例來判斷,表達(dá)式如下 (17) 式中:dim(Ft)表示警戒區(qū)內(nèi)檢測出的運(yùn)動目標(biāo)像素點(diǎn)數(shù),dim(It)表示整個警戒區(qū)的像素點(diǎn)數(shù),其中η為閾值,本實驗中取值為0.4。若超過閾值則觸發(fā)告警,并回到第二步繼續(xù)執(zhí)行,若沒有超過閾值則直接返回第二步。 第六步,因為沒有發(fā)生光照劇烈的變化,所以檢測出來的運(yùn)動目標(biāo)可以直接通過外接矩陣跟警戒區(qū)域的重疊率來判斷是否運(yùn)動目標(biāo)入侵,計算公式如下 (18) 式中:Area(R(t))表示運(yùn)動目標(biāo)的外接矩陣的面積;Area(w)表示警戒區(qū)域面積;Area(R(t))∩Area(w)表示兩者的重疊面積大小;β表示閾值,本文中β取0.4。同樣,若超過閾值則觸發(fā)告警,并繼續(xù)進(jìn)入第二步,否則直接進(jìn)入第二步。 實驗的條件為:Visual Studio 2013開發(fā)平臺,采用OpenCV2.4.9編程。選用的計算機(jī)為Windows 7操作系統(tǒng),處理器為Intel(R) Core i3 2.5 GHz,內(nèi)存為4 Gbyte。 為直觀地顯示算法檢測的結(jié)果,算法將檢測到的運(yùn)動目標(biāo)用藍(lán)色的外接矩陣標(biāo)記,警戒區(qū)域用綠色線條標(biāo)記,當(dāng)檢測到運(yùn)動目標(biāo)進(jìn)入警戒區(qū)域時,算法將入侵的運(yùn)動目標(biāo)用紅色外接矩形標(biāo)記。首先,選取兩組分辨率不高且沒有發(fā)生光照突變即一般場景下的監(jiān)控視頻對本文算法進(jìn)行測試,測試視頻選自EC Funded CAVIAR project[7]中的OneStopEnter1cor和OneStopEnter2cor,測試結(jié)果如圖3所示。 圖3中2組測試視頻的分辨率為384×288,沒有超過本文算法中設(shè)定的640×480的閾值,所以算法不對視頻幀進(jìn)行分塊處理,另外場景沒有發(fā)生劇烈的光照變化,屬于比較理想的場景。在這種場景下,本文算法能準(zhǔn)確地檢測出運(yùn)動目標(biāo),能正確判斷出運(yùn)動目標(biāo)進(jìn)入警戒區(qū)域。 為驗證本文改進(jìn)的算法在不影響算法識別性能的同時能 降低算法的時間復(fù)雜度,用720p(1 280×720像素)攝像頭拍攝一段視頻進(jìn)行實驗。實驗結(jié)果如圖4~5所示。 圖4跟圖5分別是算法改進(jìn)前后對720p測試視頻的第532幀的檢測結(jié)果,通過對比可以看出算法改進(jìn)后沒有降低檢測的效果。表1是算法改進(jìn)前后對720p測試視頻從530幀到534幀每幀計算用時的統(tǒng)計。從表中可以看出混合高斯模型平均每幀的處理時間大約為0.07 s,當(dāng)視頻的幀率超過14 f/s(幀/秒)時,混合高斯模型算法不能實時檢測。改進(jìn)后的算法每幀的時間大約為0.008 s,能滿足幀率124 f/s(幀/秒),可見改進(jìn)后的算法提高了原算法的實時性。 為驗證本文的入侵檢測算法能在光照突然變化下避免誤檢測,選取一段來自ViSOR視頻監(jiān)控數(shù)據(jù)庫[8]的Camera3exp3_1.avi視頻進(jìn)行測試,測試如圖6~8所示。 圖6是該測試視頻的第489幀,此時光照還未發(fā)生變化, 表1 530幀到534幀每幀算法用時統(tǒng)計表 算法幀用時/s平均用時/sGMM530幀0.065678531幀0.076032532幀0.072744533幀0.065569534幀0.0679390.0695924本文算法530幀0.00818458531幀0.00796455532幀0.00866719533幀0.00825711534幀0.008764850.00836765 從圖中可以看出整個畫面中沒有前景運(yùn)動目標(biāo),整個畫面都為背景。圖 7即492幀光照正在發(fā)生突變,從圖中可以看出混合高斯模型將大面積的光照變化檢測為前景圖像,從而導(dǎo)致誤檢。圖8為采用本文的算法檢測的結(jié)果,可以看出當(dāng)光照變化劇烈時,本文算法通過結(jié)合幀差法避免了因光照的變化造成的誤檢測。 本文設(shè)計了一種將混合高斯模型和幀差法相結(jié)合的入侵檢測算法,并針對具體的監(jiān)控場景做出了改進(jìn):當(dāng)檢測的視頻幀分辨率比較高時,算法采用塊均值建模替代原混合高斯模型的單個像素點(diǎn)的建模;面對光照變化劇烈的場景,結(jié)合幀差法進(jìn)行運(yùn)動目標(biāo)的檢測。實驗結(jié)果表明,改進(jìn)后的算法實時性強(qiáng),入侵檢測靈敏度高,能避免因為光照變化引起的誤檢測,適用于高清的實時的智能視頻監(jiān)控系統(tǒng)中。 [1] 梁國山,朱秀昌. 用于運(yùn)動人體檢測的改進(jìn)的幀差法[J]. 電視技術(shù),2009,33(S1):133-135. [2] 丁磊,宮寧生. 基于改進(jìn)的三幀差分法運(yùn)動目標(biāo)檢測[J]. 電視技術(shù),2013,37(1):151-153. [3] 袁國武,陳志強(qiáng),龔健,等. 一種結(jié)合光流法與三幀差分法的運(yùn)動目標(biāo)檢測算法[J]. 小型微型計算機(jī)系統(tǒng),2013(3):668-671. [4] PIAGGIO M,F(xiàn)ORNARO R,PIOMBO A,et al. An optical-flow person following behaviour[C]//Proc. Intelligent Control(ISIC),Held jointly with IEEE International Symposium on Computational Intelligence in Robotics and Automation (CIRA),Intelligent Systems and Semiotics (ISAS).[S.l.]:IEEE Press,1998:301-306. [5] 莫林,廖鵬,劉勛. 一種基于背景減除與三幀差分的運(yùn)動目標(biāo)檢測算法[J]. 微計算機(jī)信息,2009(12):274-276. [6] STAUFFER C,GRIMSON W E L.Adaptive background mixture models for real-time tracking[C]// Proc. IEEE Computer Society Conference on Computer Vision and Pattern Recognition. [S.l.]:IEEE Press,1999:246-252. [7] EC Funded CAVIAR project[EB/OL]. [2015-07-06].http:// homepages.inf.ed.ac.uk/rbf/CAVIAR/. [8] Video Surveillance Online Repository[EB/OL]. [2015-07-06]. http://www.openvisor.org. 責(zé)任編輯:閆雯雯 【本文獻(xiàn)信息】石濤,張麗,馬菊.市級氣象高清數(shù)字虛擬演播室建設(shè)研究[J].電視技術(shù),2015,39(24). Design and Implementation of Intrusion Detection Algorithm in Intelligent Video Surveillance YANG Fengrui1,2,LIU Xiongfeng1,LIU Ting1 (1.ResearchCentreforApplicationofNewCommunicationTechnologies,ChongqingUniversityofPostsandTelecommunications,Chongqing400065,China;2.ChongqingChongyouInformationTechnology(Group)Co.Ltd. ,Chongqing400065,China) In order to achieve intrusion detection timely and accurately in the HD video surveillance, a new intrusion detection algorithm is introduced. The moving objects detection of the algorithm based on improved Mixture Gaussian Model (GMM) and the improved frame differencing. Firstly, the algorithm uses the blocking average model instead of the single pixel model in GMM, it can dramatically improve the detection rate. Secondly, by combining the improved frame differencing, the algorithm can avoid error detection due to illumination variation. Experimental results demonstrate that the algorithm is fast and can accurately detect the intrusion objects, it is suitable for the HD intelligent video surveillance system. intelligent video surveillance; intrusion detection; moving objects detection; GMM TP391 A 10.16280/j.videoe.2015.24.009 2015-07-083 混合高斯模型的改進(jìn)
4 幀差法的改進(jìn)
5 入侵檢測算法流程圖
6 實驗結(jié)果及分析
7 結(jié)語