智能视频监控中入侵检测算法的设计与实现

2015-05-06 02:29杨丰瑞刘雄风
电视技术 2015年24期
关键词:差法像素点高斯

杨丰瑞,刘雄风,刘 亭

(1.重庆邮电大学 通信新技术应用研究中心,重庆 400065,2. 重庆重邮信科(集团)股份有限公司,重庆 400065)

智能视频监控中入侵检测算法的设计与实现

杨丰瑞1,2,刘雄风1,刘 亭1

(1.重庆邮电大学 通信新技术应用研究中心,重庆 400065,2. 重庆重邮信科(集团)股份有限公司,重庆 400065)

为实现在高清视频监控中实时、准确地检测出入侵的人员或物体,设计了一种新的入侵检测算法。算法结合混合高斯模型与改进的帧差法,并针对实际监控场景做出以下改进:当监控画面分辨率较高时,采用块均值建模替代原混合高斯模型中的单个像素建模提高算法检测的实时性;在监控场景发生光照突变时结合改进的帧差法避免因光照带来的误检测。实验结果表明,该算法处理速度快,准确性高,适用于实时高清的智能视频监控系统。

智能视频监控;入侵检测;运动目标检测;混合高斯模型

1 入侵检测算法

入侵检测是智能视频监控中一项重要的智能识别和自动报警技术。入侵检测是指根据用户划定的警戒区域,通过运动目标检测和运动目标的定位来判断运动目标是否进入警戒区。可见入侵检测的重点在于运动目标的检测和对运动目标的完整提取。

根据算法基本原理的不同,现有运动目标检测算法可分为三大类:帧差法[1-2]、光流法[3-4]和背景减除法[5]。光流法有着对动、静态背景下的目标检测都适宜的优点,但是算法相当复杂,计算耗时,在视频监控中难以满足实时性的要求。帧差法实现简单,实时性强,对光照变化有着较强的适应性,然而帧差法对于像素变化不明显的点难以检测,从而造成检测出的运动目标不完整。背景减除法是目前最为流行的一种运动目标检测方法,相对于光流法其复杂度较低,相对帧差法其更能完整地提取运动目标。背景减除法的重点在于背景的提取,由Stauffer和Grimson提出的基于混合高斯建模(GMM)[6]的背景提取方法在运动目标检测中得到了广泛的研究。

本文设计的入侵检测算法结合混合高斯背景模型和帧差法进行运动目标的检测,并针对实际视频监控场景做出如下改进:1)针对混合高斯背景模型在处理像素较高的监控画面时复杂度高、实时性差的缺点,本文在不影响算法识别性能的情况下用块建模替代单个像素点的建模,提高运算速度;2)针对混合高斯背景模型在光照变化较为剧烈的情况下易将背景误检为运动目标,本文算法在光照变化剧烈的情况下结合改进的帧间差分法来降低光照的影响。

2 混合高斯背景建模

混合高斯模型(GMM)由Stauffer和Grimson提出,该模型能有效适应背景中一些缓慢细微的变化造成的影响,抗干扰性强,是常用且有效的背景建模方法,在运动目标检测中得到广泛的应用。

混合高斯模型是指对图像中的每一个像素点建立多个高斯模型(一般3~5个),在任意时刻t,每个像素的概率密度函数由这多个多维高斯分布函数的加权和来表示

(1)

(2)

其中:n为xt的维数。

利用混合高斯模型进行背景建模主要有以下步骤: 第一步:用当前图像的每一个像素与已建立的K个高斯分布逐一进行匹配,其匹配的条件为:

(3)

第二步:如果当前像素满足匹配条件,则匹配成功。如果匹配不成功,则做以下操作:

1)当k

第三步:上一步中未匹配的分布各个参数保持不变,匹配的分布的参数做如下更新

wi,t=(1-α)·wi,t-1+α

(4)

ui,t=(1-ρ)·ui,t-1+ρ·xt

(5)

(6)

其中:ρ为参数的更新率。

(7)

最后对xi,t与上述B个高斯分布进行匹配,如果xi,t能与其中任意一个匹配,则认为该像素点为背景点;否则认为该像素点为前景点,从而完成背景的提取。

3 混合高斯模型的改进

采用混合高斯建模过程中,对每一个像素点建立K个高斯分布,当监控画面的分辨率很高时,比如1 600×1 200,算法的复杂度必然会很高,算法的实时性差。在实际的视频监控中,摄像头一般是固定不动的,因而背景画面的变化一般很小,只会存在局部细微的变化,比如树枝的摆动等。另外背景画面中一般有大量的像素存在相似性,比如大块灰色的地面,这些像素对应的参数模型同样具有相似性,可以将这些像素捆绑在一起,共用同一模型,从而降低背景建模的计算量。因此,当监控画面的分辨率过高时,本文算法采用块均值建模替代原混合高斯模型中的单个像素点的建模。

(8)

那么分块后式(1)和(2)变为

(9)

(10)

式中其他参数的意义保持不变。匹配后参数按下式更新

ui,t=(1-ρ)·ui,t-1+ρ·Xt

(11)

(12)

4 帧差法的改进

跟混合高斯模型相比,帧差法算法简单,而且对光照不敏感,因此考虑在光照变化剧烈的情况下采用帧差法来替代混合高斯模型进行运动目标的检测,但是传统的帧差法检测出来的运动目标不完整,内部有空洞,这就使得准确提取运动目标区域和计算运动目标是否进入警戒区变得困难。因此本文对传统的帧差法获取到有空洞的运动目标二值图像进行8邻域进行操作。帧差法的计算式为

(13)

式中:fi(x,y)表示当前帧(x,y)点像素的灰度值,fi-1(x,y)表示前一帧(x,y)点像素的灰度值,对差分图像Di(x,y)上计算像素点(x,y)的8邻域之和,Di(x,y)的8领域如图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 像素点(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,并二值化,得到的前景目标区域,如

(15)

最后将得到的二值化图像进行形态学处理即可得到运动目标,相比于传统的帧差法,改进后的帧差法得到的运动目标的像素点比较集中,而且算法的复杂度也不高。

5 入侵检测算法流程图

入侵检测算法的运动检测部分将以上改进方法相结合,整个算法流程图如图2所示。

图2 本文算法整体流程图

首先对混合高斯模型进行初始化,用户通过鼠标在监控画面上划定警戒区域。

第二步,根据当前视频帧的像素点数判断是否需要分块,当像素点数小于或等于640×480时,不需分块处理,直接进入第三步,当像素点数大于640×480且小于1 280×720时进行2×2分块,像素点超过1 280×720时则进行3×3分块。

第三步,对第二步中视频帧进行混合高斯模型处理,获取到前景的灰度图像,对灰度图像二值化和形态学处理后,计算出每个运动目标的外接矩阵。

第四步,判断检测出来的运动目标是否是因为光照的剧烈变化而导致的误检,因为当发生光照突变时,图像中大部分区域会被检测为前景区域,所以本文采用计算第三步中最大运动目标的外接矩阵的面积跟当前帧的面积的比值大小来判断是否有光照的剧烈变化,具体的计算公式如下

(16)

其中,Area(I)表示当前帧的面积;Area(Rmax(t))表示最大运动目标的外接矩阵的面积;ε是阈值,本文中取0.6。若式(16)成立,则说明存在光照的突变,进入第五步,否则进入第六步。

第五步,针对光照变化,采用改进帧差法来提取运动目标。相比于传统帧差法,改进帧差法得到的运动目标像素更为集中,但是仍然难以根据检测结果准确的计算出目标的外接矩阵。所以入侵检测采用警戒区域内运动目标的像素点跟整个警戒区域像素点的比例来判断,表达式如下

(17)

式中:dim(Ft)表示警戒区内检测出的运动目标像素点数,dim(It)表示整个警戒区的像素点数,其中η为阈值,本实验中取值为0.4。若超过阈值则触发告警,并回到第二步继续执行,若没有超过阈值则直接返回第二步。

第六步,因为没有发生光照剧烈的变化,所以检测出来的运动目标可以直接通过外接矩阵跟警戒区域的重叠率来判断是否运动目标入侵,计算公式如下

(18)

式中:Area(R(t))表示运动目标的外接矩阵的面积;Area(w)表示警戒区域面积;Area(R(t))∩Area(w)表示两者的重叠面积大小;β表示阈值,本文中β取0.4。同样,若超过阈值则触发告警,并继续进入第二步,否则直接进入第二步。

6 实验结果及分析

实验的条件为:Visual Studio 2013开发平台,采用OpenCV2.4.9编程。选用的计算机为Windows 7操作系统,处理器为Intel(R) Core i3 2.5 GHz,内存为4 Gbyte。

为直观地显示算法检测的结果,算法将检测到的运动目标用蓝色的外接矩阵标记,警戒区域用绿色线条标记,当检测到运动目标进入警戒区域时,算法将入侵的运动目标用红色外接矩形标记。首先,选取两组分辨率不高且没有发生光照突变即一般场景下的监控视频对本文算法进行测试,测试视频选自EC Funded CAVIAR project[7]中的OneStopEnter1cor和OneStopEnter2cor,测试结果如图3所示。

图3中2组测试视频的分辨率为384×288,没有超过本文算法中设定的640×480的阈值,所以算法不对视频帧进行分块处理,另外场景没有发生剧烈的光照变化,属于比较理想的场景。在这种场景下,本文算法能准确地检测出运动目标,能正确判断出运动目标进入警戒区域。

为验证本文改进的算法在不影响算法识别性能的同时能

降低算法的时间复杂度,用720p(1 280×720像素)摄像头拍摄一段视频进行实验。实验结果如图4~5所示。

图4跟图5分别是算法改进前后对720p测试视频的第532帧的检测结果,通过对比可以看出算法改进后没有降低检测的效果。表1是算法改进前后对720p测试视频从530帧到534帧每帧计算用时的统计。从表中可以看出混合高斯模型平均每帧的处理时间大约为0.07 s,当视频的帧率超过14 f/s(帧/秒)时,混合高斯模型算法不能实时检测。改进后的算法每帧的时间大约为0.008 s,能满足帧率124 f/s(帧/秒),可见改进后的算法提高了原算法的实时性。

为验证本文的入侵检测算法能在光照突然变化下避免误检测,选取一段来自ViSOR视频监控数据库[8]的Camera3exp3_1.avi视频进行测试,测试如图6~8所示。

图6是该测试视频的第489帧,此时光照还未发生变化,

表1 530帧到534帧每帧算法用时统计表

算法帧用时/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

从图中可以看出整个画面中没有前景运动目标,整个画面都为背景。图 7即492帧光照正在发生突变,从图中可以看出混合高斯模型将大面积的光照变化检测为前景图像,从而导致误检。图8为采用本文的算法检测的结果,可以看出当光照变化剧烈时,本文算法通过结合帧差法避免了因光照的变化造成的误检测。

7 结语

本文设计了一种将混合高斯模型和帧差法相结合的入侵检测算法,并针对具体的监控场景做出了改进:当检测的视频帧分辨率比较高时,算法采用块均值建模替代原混合高斯模型的单个像素点的建模;面对光照变化剧烈的场景,结合帧差法进行运动目标的检测。实验结果表明,改进后的算法实时性强,入侵检测灵敏度高,能避免因为光照变化引起的误检测,适用于高清的实时的智能视频监控系统中。

[1] 梁国山,朱秀昌. 用于运动人体检测的改进的帧差法[J]. 电视技术,2009,33(S1):133-135.

[2] 丁磊,宫宁生. 基于改进的三帧差分法运动目标检测[J]. 电视技术,2013,37(1):151-153.

[3] 袁国武,陈志强,龚健,等. 一种结合光流法与三帧差分法的运动目标检测算法[J]. 小型微型计算机系统,2013(3):668-671.

[4] PIAGGIO M,FORNARO 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] 莫林,廖鹏,刘勋. 一种基于背景减除与三帧差分的运动目标检测算法[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.

责任编辑:闫雯雯

【本文献信息】石涛,张丽,马菊.市级气象高清数字虚拟演播室建设研究[J].电视技术,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-08

猜你喜欢
差法像素点高斯
例谈“定比点差法”在解几问题中的应用
基于局部相似性的特征匹配筛选算法
数学王子高斯
天才数学家——高斯
基于5×5邻域像素点相关性的划痕修复算法
基于动态差法的交通量监测技术应用
基于canvas的前端数据加密
关于用逐差法计算纸带加速度合理性的讨论
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
“闹”中取静点差法