《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 一種多區(qū)域視頻監(jiān)控入侵檢測報(bào)警方法的研究
一種多區(qū)域視頻監(jiān)控入侵檢測報(bào)警方法的研究
李益民 黃曉芳
摘要: 研究一種用于多區(qū)域視頻監(jiān)控的智能入侵報(bào)警方法,。該方法以多線程技術(shù)為基礎(chǔ),,采用基于混合高斯背景建模的移動偵測算法實(shí)現(xiàn)多個區(qū)域?qū)崟r(shí)入侵報(bào)警,;采用視頻監(jiān)控卡自帶函數(shù)庫實(shí)現(xiàn)監(jiān)控視頻的顯示,。提出了剪貼板完成視頻數(shù)據(jù)流的截取和數(shù)據(jù)格式的轉(zhuǎn)換,避免了硬盤的反復(fù)讀寫,,提高了監(jiān)控畫質(zhì)和程序運(yùn)行速度,。最后給出了實(shí)驗(yàn)結(jié)果,結(jié)果表明該方法能有效的對入侵目標(biāo)進(jìn)行檢測報(bào)警,,且誤報(bào)率較低,,為1%~2%,。
Abstract:
Key words :

    智能視頻監(jiān)控技術(shù)是利用計(jì)算機(jī)視覺技術(shù)對監(jiān)控場景的視頻圖像內(nèi)容進(jìn)行分析,自動檢測監(jiān)控畫面中的異常情況,,并警報(bào)和提供有用信息,,從而能夠更加有效地提醒安防人員及時(shí)處理非法入侵。
    目前,,智能視頻監(jiān)控技術(shù)中入侵檢測算法常見的有幀間差分法,、背景減法和光流法。它們從視頻序列中檢測運(yùn)動目標(biāo)來實(shí)現(xiàn)入侵報(bào)警功能,。但是,,這些算法集中于對一個視頻場景中移動物體偵測的研究,而監(jiān)控系統(tǒng)往往是多個區(qū)域同時(shí)監(jiān)控,。為此,,給出了一種適用于多區(qū)域視頻監(jiān)控系統(tǒng)中智能入侵報(bào)警的實(shí)現(xiàn)方法。該方法采用混合高斯背景建模移動偵測算法,、OpenCV,、多線程等技術(shù)實(shí)現(xiàn)了對入侵目標(biāo)的有效檢測報(bào)警功能。

1 混合高斯背景建模移動偵測算法
   
混合高斯背景建模移動偵測算法屬于減背景移動偵測算法的一種,。減背景移動偵測算法是通過當(dāng)前幀與背景圖像差分來得到移動目標(biāo)區(qū)域,。這種算法對背景圖像的要求是:1)不含運(yùn)動目標(biāo);2)不斷地更新以適應(yīng)背景不斷變化,。構(gòu)建背景圖像的方法很多,,混合高斯背景建模算法是其中典型的一種,該算法對外界環(huán)境不斷變化的適應(yīng)性較好,。
1.1 混合高斯背景建模
   
對視頻幀中的每一個像素定義K個狀態(tài),,每個狀態(tài)用一個高斯分布函數(shù)表示。這些狀態(tài)中有一部分表示背景的像素值,,而另一部分則表示前景的像素值,。若每個像素點(diǎn)像素值用變量Xt表示,則其概率密度函數(shù)可用K個高斯分布函數(shù)描述,,如式(1)所示:

1.2 混合高斯背景建模參數(shù)更新
   
當(dāng)獲得某一點(diǎn)t時(shí)刻像素值It時(shí),,首先利用序貫相似性檢測算法檢測所有高斯分布函數(shù)中那個與當(dāng)前像素值It匹配,其步驟如下:
    1)設(shè)定偏差門限T,;
    2)選取均值μi,t與像素值It最接近的高斯分布函數(shù),,并檢測兩者之差的絕對值是否小于Tσi,t-1,如果|It-μi,t-1|≤Tσi,t-1成立,,則判定該高斯分布函數(shù)與當(dāng)前像素值匹配,,并按式(2)~式(4)更新相關(guān)參數(shù);如果|It-μi,t-1|≤Tσi,t-1不成立,,則判定無高斯分布函數(shù)與當(dāng)前像素值匹配,,并將權(quán)重最小的高斯分布函數(shù)以一個新的高斯分布函數(shù)替代,。新的高斯分布函數(shù)均值μi,t為It,標(biāo)準(zhǔn)差σi,t為最大初始標(biāo)準(zhǔn)差,,權(quán)重ωi,t為最小初始權(quán)重,。
   
    式中,α為模型學(xué)習(xí)率,,用于控制權(quán)重ωi,t的修正速度,;ρ為參數(shù)學(xué)習(xí)率,近似為ρ≈(α/ωi,t),。
    3)其他高斯分布函數(shù)參數(shù)不變,,只歸一化它們的權(quán)重。
1.3 背景像素判斷
   
混合高斯背景建模算法通過計(jì)算模型中每個高斯分布函數(shù)的ωi,t/σi的值來判斷該高斯分布函數(shù)所表示的狀態(tài)是否表示背景像素值,。值越高,,則越可能是背景像素。

2 混合高斯背景建模入侵檢測
    OpenCV是Intel公司支持的基于C/C++語言開發(fā)的圖像處理和計(jì)算機(jī)視覺開源函數(shù)庫,。其中大部分函數(shù)是基于Intel處理器指令集的優(yōu)化代碼,,能最大程度的發(fā)揮處理器的性能。
    OpenCV具有強(qiáng)大的圖像和矩陣運(yùn)算能力,,是計(jì)算機(jī)視覺,、圖像處理二次開發(fā)的理想工具。
    OpenCV提供了混合高斯背景建模函數(shù),,其主要函數(shù)如下:
   
    功能:利用一幀圖像數(shù)據(jù)初始化混合高斯背景模型,。
    參數(shù):first_frame為混合高斯背景建模第一幀圖像數(shù)據(jù);parameters為混合高斯背景建模初始化參數(shù),。
    本文使用函數(shù)默認(rèn)設(shè)置:狀態(tài)數(shù)K=5,,即混合高斯背景模型內(nèi)含5個高斯分布,偏差門限T=2.5,,模型學(xué)習(xí)率α,,最大初始方差,背景點(diǎn)判定閾值ωi,t/σi>0.7,。
   
    功能:更新混合高斯背景模型,。
    參數(shù):pFrame為更新高斯背景模型的視頻流幀圖像數(shù)據(jù);bg_model為混合高斯背景模型指針,,通過bg_model->background和bg_model->foreground即可獲得背景和前景圖像,。
   
    功能:釋放高斯背景模型參數(shù)占用的內(nèi)存。
    前景圖像再經(jīng)形態(tài)學(xué)處理后,,可檢測出一定大小的移動區(qū)域,,即判定有人入侵。結(jié)果如圖1所示,。



3 視頻監(jiān)控圖像數(shù)據(jù)獲取及轉(zhuǎn)換
3.1 視頻監(jiān)控圖像數(shù)據(jù)捕獲

     使用天敏公司的SDK-2500型視頻監(jiān)控卡自帶函數(shù)庫編程與使用VFW函數(shù)庫編程獲得的監(jiān)控畫質(zhì)差別很大,。使用自帶函數(shù)庫可充分發(fā)揮視頻監(jiān)控卡處理器的性能,監(jiān)控畫質(zhì)高,,顯示分辨率可達(dá)720x576(PAL),,而使用VFW函數(shù)庫時(shí),顯示分辨率僅為320x240,。兩種方法所獲監(jiān)控畫質(zhì)比較如圖1所示,。為獲得高分辨率監(jiān)控畫質(zhì),本文使用視頻監(jiān)控卡自帶函數(shù)庫開發(fā)視頻監(jiān)控系統(tǒng)軟件,。
    視頻監(jiān)控卡自帶函數(shù)庫提供了兩類捕獲當(dāng)前幀圖像數(shù)據(jù)的函數(shù),。一類將圖像數(shù)據(jù)以文件形式保存在磁盤上,另一類將圖像數(shù)據(jù)復(fù)制到剪貼板上,。由于剪貼板是Windows系統(tǒng)中單獨(dú)預(yù)留出來的一塊內(nèi)存,,由于內(nèi)存讀寫速度是硬盤讀寫速度十倍以上,同時(shí)使用剪貼板也可避免對硬盤的反復(fù)讀寫,,因此利用剪貼板捕獲圖像數(shù)據(jù),,代碼如下:

    參數(shù)說明:int n為視頻監(jiān)控卡卡號:LPBITMAPINFO lpBI為指BITMAPINFO結(jié)構(gòu)的指針;void*pDIBBits為指向位圖數(shù)據(jù)的指針,。
3.2 DIB到IPLImage數(shù)據(jù)格式的轉(zhuǎn)換
   
由于剪貼板捕獲的圖像數(shù)據(jù)格式為DIB,,而OpenCV函數(shù)庫中圖像的基本格式為IPlImage*,因此,,需要將DIB圖像數(shù)據(jù)格式轉(zhuǎn)為IPLImage*圖像數(shù)據(jù)格式,,其代碼如下:


4 多區(qū)域?qū)崟r(shí)移動偵測
   
32位Windows操作系統(tǒng)采用搶先式多任務(wù)方式運(yùn)行應(yīng)用程序。當(dāng)一個程序運(yùn)行后,,操作系統(tǒng)就啟動了一個進(jìn)程,。為了讓進(jìn)程完成一些工作,每個進(jìn)程必須包含至少一線程,。線程負(fù)責(zé)執(zhí)行包含在進(jìn)程地址空間中的代碼,,每個線程共享所有的進(jìn)程資源,包括打開的文件,、信號標(biāo)識及動態(tài)分配的內(nèi)存等,。
    線程是系統(tǒng)分配CPU時(shí)間的基本實(shí)體,它也是代碼執(zhí)行的最小單位,。實(shí)際上,,同一時(shí)間只有一個線程在運(yùn)行,由于每個線程劃分的時(shí)間很小(20 ms左右),,CPU通過分時(shí)在各個線程之間頻繁地切換,,使得系統(tǒng)看起來有多道程序在同時(shí)運(yùn)行。
    Windows提供了2種線程——輔助線程和用戶界面線程,。兩種線程均為MFC庫所支持,。用戶界面線程通常有窗口,,因此,它具有自己的消息循環(huán),。輔助線程沒有窗口,,因此,它不需要處理消息,。
    用戶界面線程用于響應(yīng)用戶操作和程序的其他控制,,輔助線程用于多個區(qū)域視頻圖像的捕獲,并利用移動偵測算法實(shí)現(xiàn)實(shí)時(shí)入侵報(bào)警功能,。程序流程如圖2所示,。



5 實(shí)驗(yàn)結(jié)果
   
為了驗(yàn)證本文提出的多區(qū)域視頻監(jiān)控入侵檢測報(bào)警方法的性能,實(shí)驗(yàn)采用兩塊SDK-2500型視頻監(jiān)控卡同時(shí)對室內(nèi),、室外兩個區(qū)域進(jìn)行長時(shí)間的視頻監(jiān)控,,監(jiān)控視頻幀率為30幀/秒。為捕獲穩(wěn)定的視頻圖像,,在輔助線程內(nèi)添加了100 ms的等待時(shí)間,。隨機(jī)抽取100次報(bào)警結(jié)果,其結(jié)果如表1所示,。


    從測試結(jié)果可以看出,,本文方法室內(nèi)誤報(bào)率為1%,室外誤報(bào)率為2%,。根據(jù)保存的視頻圖像分析得知:室內(nèi)誤報(bào)警發(fā)生于開燈情況下,,是因環(huán)境亮度急劇變化引起的;室外兩次誤報(bào)警均發(fā)生于刮風(fēng)情況下,,由于樹枝大幅度搖擺造成的,。

6 結(jié)束語
   
本文利用多線程技術(shù)實(shí)現(xiàn)了視頻監(jiān)控系統(tǒng)中多區(qū)域移動偵測入侵報(bào)警自動化。該方法利用視頻監(jiān)控卡自帶函數(shù)庫,,充分發(fā)揮了視頻監(jiān)控卡處理器的性能,,獲得了較高的監(jiān)控畫質(zhì);該方法誤報(bào)率較低,,可廣泛適用于各種視頻監(jiān)控系統(tǒng)中,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。