一種多區域視頻監控入侵檢測報警方法的研究
智能視頻監控技術(shù)是利用計算機視覺(jué)技術(shù)對監控場(chǎng)景的視頻圖像內容進(jìn)行分析,自動(dòng)檢測監控畫(huà)面中的異常情況,并警報和提供有用信息,從而能夠更加有效地提醒安防人員及時(shí)處理非法入侵。
目前,智能視頻監控技術(shù)中入侵檢測算法常見(jiàn)的有幀間差分法、背景減法和光流法。它們從視頻序列中檢測運動(dòng)目標來(lái)實(shí)現入侵報警功能。但是,這些算法集中于對一個(gè)視頻場(chǎng)景中移動(dòng)物體偵測的研究,而監控系統往往是多個(gè)區域同時(shí)監控。為此,給出了一種適用于多區域視頻監控系統中智能入侵報警的實(shí)現方法。該方法采用混合高斯背景建模移動(dòng)偵測算法、OpenCV、多線(xiàn)程等技術(shù)實(shí)現了對入侵目標的有效檢測報警功能。
1 混合高斯背景建模移動(dòng)偵測算法
混合高斯背景建模移動(dòng)偵測算法屬于減背景移動(dòng)偵測算法的一種。減背景移動(dòng)偵測算法是通過(guò)當前幀與背景圖像差分來(lái)得到移動(dòng)目標區域。這種算法對背景圖像的要求是:1)不含運動(dòng)目標;2)不斷地更新以適應背景不斷變化。構建背景圖像的方法很多,混合高斯背景建模算法是其中典型的一種,該算法對外界環(huán)境不斷變化的適應性較好。
1.1 混合高斯背景建模
對視頻幀中的每一個(gè)像素定義K個(gè)狀態(tài),每個(gè)狀態(tài)用一個(gè)高斯分布函數表示。這些狀態(tài)中有一部分表示背景的像素值,而另一部分則表示前景的像素值。若每個(gè)像素點(diǎn)像素值用變量Xt表示,則其概率密度函數可用K個(gè)高斯分布函數描述,如式(1)所示:
1.2 混合高斯背景建模參數更新
當獲得某一點(diǎn)t時(shí)刻像素值It時(shí),首先利用序貫相似性檢測算法檢測所有高斯分布函數中那個(gè)與當前像素值It匹配,其步驟如下:
1)設定偏差門(mén)限T;
2)選取均值μi,t與像素值It最接近的高斯分布函數,并檢測兩者之差的絕對值是否小于Tσi,t-1,如果|It-μi,t-1|≤Tσi,t-1成立,則判定該高斯分布函數與當前像素值匹配,并按式(2)~式(4)更新相關(guān)參數;如果|It-μi,t-1|≤Tσi,t-1不成立,則判定無(wú)高斯分布函數與當前像素值匹配,并將權重最小的高斯分布函數以一個(gè)新的高斯分布函數替代。新的高斯分布函數均值μi,t為It,標準差σi,t為最大初始標準差,權重ωi,t為最小初始權重。
式中,α為模型學(xué)習率,用于控制權重ωi,t的修正速度;ρ為參數學(xué)習率,近似為ρ≈(α/ωi,t)。
3)其他高斯分布函數參數不變,只歸一化它們的權重。
1.3 背景像素判斷
混合高斯背景建模算法通過(guò)計算模型中每個(gè)高斯分布函數的ωi,t/σi的值來(lái)判斷該高斯分布函數所表示的狀態(tài)是否表示背景像素值。值越高,則越可能是背景像素。
2 混合高斯背景建模入侵檢測
OpenCV是Intel公司支持的基于C/C++語(yǔ)言開(kāi)發(fā)的圖像處理和計算機視覺(jué)開(kāi)源函數庫。其中大部分函數是基于Intel處理器指令集的優(yōu)化代碼,能最大程度的發(fā)揮處理器的性能。
OpenCV具有強大的圖像和矩陣運算能力,是計算機視覺(jué)、圖像處理二次開(kāi)發(fā)的理想工具。
OpenCV提供了混合高斯背景建模函數,其主要函數如下:
功能:利用一幀圖像數據初始化混合高斯背景模型。
參數:first_frame為混合高斯背景建模第一幀圖像數據;parameters為混合高斯背景建模初始化參數。
本文使用函數默認設置:狀態(tài)數K=5,即混合高斯背景模型內含5個(gè)高斯分布,偏差門(mén)限T=2.5,模型學(xué)習率α,最大初始方差,背景點(diǎn)判定閾值ωi,t/σi>0.7。
功能:更新混合高斯背景模型。
參數:pFrame為更新高斯背景模型的視頻流幀圖像數據;bg_model為混合高斯背景模型指針,通過(guò)bg_model->background和bg_model->foreground即可獲得背景和前景圖像。
c++相關(guān)文章:c++教程
評論