智能视频监控技术是利用计算机视觉技术对监控场景的视频图像内容进行分析,自动检测监控画面中的异常情况,并警报和提供有用信息,从而能够更加有效地提醒安防人员及时处理非法入侵。
目前,智能视频监控技术中入侵检测算法常见的有帧间差分法、背景减法和光流法。它们从视频序列中检测运动目标来实现入侵报警功能。但是,这些算法集中于对一个视频场景中移动物体侦测的研究,而监控系统往往是多个区域同时监控。为此,给出了一种适用于多区域视频监控系统中智能入侵报警的实现方法。该方法采用混合高斯背景建模移动侦测算法、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即可获得背景和前景图像。