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