银行智能监控管理平台中运动目标检测算法的研究*
2013-06-28高丽
高 丽
(淮南联合大学机械与电子系,安徽淮南232038)
智能视频监控技术(IVS)是结合计算机和视频分析方法,不需要人工干预的情况下,对监测目标进行检测和跟踪,最终达到分析和判断的“智能化”过程.本文以银行为背景构建了一个智能监控管理平台,平台分为硬件和软件两个部分,主要包括管理服务器模块、模拟量采集模块、IVS模块、报警模块、集中存储模块等,其中IVS模块是核心.提出了一种将背景减法和帧间差分法结合的运动目标检测算法,并通过测试来论证平台的实用性.
1 常用目标检测方法的比较
常用的运动目标检测方法大致包括三种.
1.1 帧差法[1]
帧差法根据相邻帧的差值图像获得运动信息,然后通过分析来确定运动目标所带来的变化部分.帧差法原理简单,计算量较小,所以检测速度较快,更重要的是这种方法能够在多种动态环境下使用.缺点是对噪声和光线比较敏感,另外当被检测目标在运动方向上被线性拉伸时会导致目标区域存在一定重叠,这样就会有可能在内部产生少数空洞.而如果空洞数较多,就不能够全面提取出被测目标的所有特征像素点,直接影响下一步对目标的识别.
1.2 光流法[2]
通常认为,光流是指图像中模式运动的速度.如果有物体运动时,它在图像上对应点的亮度模式也在发生改变,光流表达了图像的变化,利用这一特点就可以进行场景分割从而检测出运动目标.
虽然光流法在摄像机运动的情况下依然能够检测出运动目标,但是由于这种算法的核心是计算目标的光流即速度,这样就使得算法的过程相当复杂,难以做到实时检测.
1.3 减背景法
减背景法通过将当前图像与背景图像实施差分运算来检测运动区域.减背景法将输入的视频帧中的每个像素与现有背景模型相“比较”,然后将比较结果二值化,再用已经设定的阈值跟它进行比较.如果判断出两者的差异大于设定的阈值,那么将其判定为前景,否则判定为背景.
减背景法原理简单,定位准确,易于实现,能够较好地提取出目标的特征像素,不足在于对外界环境的变化敏感,需要对背景不断更新,否则难以达到理想的检测效果.
2 本平台使用的目标检测方法
通过对常用算法的比对分析,可以看到在同样的测试条件下帧差法比减背景法检测速度快,灵敏度也高.当背景受到客观因素改变时,帧差法较减背景法稳定,但是帧差法的检测结果没有减背景的检测结果精确.所以考虑将二者结合,优势互补,我们采用了一种基于减背景法和改进的帧差法[3]相结合的目标检测方法.先构建混合高斯背景模型,然后减背景提取运动目标,再用改进的帧间差分算法提取目标,最后综合两个结果,得到较为准确的运动目标.
算法流程图如图1所示,包括背景构建、参数更新、背景减除、三帧差分和目标提取等部分.构建背景时采用混合高斯模型,并且不断进行参数更新.针对混合高斯模型法在建背景过程中对于光照的突然变化适应缓慢导致检测结果中存在阴影的缺点,采取将背景减除运算融入到混合高斯背景法中获得运动目标.最后将帧差分算法获得的运动目标与之前的结果逻辑“或”即可得到较为准确的目标.融入减背景的混合高斯模型的建立与更新背景是本算法的关键所在,其中背景更新更是后续背景相减操作的重要基础.
2.1 背景建立和更新
高斯混合模型[4]是目前普遍采用而且非常有效的背景建模的方法.基于高斯混合背景模型的差分方法,简单来描述就是通过根据预先设置背景模型来判断像素点是前景点还是背景点,前景点即为分割出来的运动目标.
设X为视频图像中的任意一个像素点,每一个象素点亮度的变化用序列{X1,…,Xt}表示.对X采用K个高斯混和模型来建模:
图1 算法流程图
在模型初始化的时候,首先将输入的第一帧图像中的所有像素点的灰度值作为混合高斯模型的均值,给定初始化方差和权值.第一次建立的高斯混合背景模型初始方差应较大,例如取δ0=25,权值应较小,首次可以取为0.5,其余模型参数按照取值.随后将新的视频帧中的像素值逐一跟现有的高斯模型进行匹配判断,可以用下式判断准则:
其中β是高斯分布模型中各主要参数更新快慢的表征量,较大的β可以使背景模型能够及时快速地对背景的变化做出响应.此外,权值的大小也会影响背景的更新速度.对于新构建的初始化模型,参数需要实时更新,保证对背景帧样本不断地进行学习,才可以得到相对稳定的混合高斯模型.
另外对于不匹配的模型,应按照式(5)减小其权值.
2.2 背景差分
高斯背景模型建立之后,输入新的带有运动目标的视频帧与背景做下列差分运算:
式中B(x,y)表示像素点在背景图像中的灰度值,I(x,y)为
2.3 三帧差分法[5]
帧间差分法算法简单,检测速度较快,但是它获得的运动目标往往不够准确.检测效果的好坏取决于选择的时间间隔,过大可能会失去目标,造成“漏检”,过小可能会出现重复的多个目标,导致“误检”.针对上述情况,考虑采用改进的帧间差分法即三帧差分克服这些缺点.三帧差分的原理是在两帧差分基础上选取连续的三帧图像,分别计算相邻两帧图像的差分值.然后选取适当的阈值,对差分结果进行阈值分割,就可将运动目标提取出来.
可以按照下面的流程图提取目标轮廓:含有目标的图像中该像素点的灰度值,E(x,y)为两者的差分值.
若差值E(x,y)大于给定的阈值T,则判定为前景,生成的二值图像函数为DB(x,y),
图2 三帧差分法流程图
流程图中It(x,y)表示第t帧图像中像素点的坐标位置为 (x,y),连续的三帧视频图像分别用 It-1(x,y),It(x,y),It+1(x,y)表示.
由差分定义可得两两相邻两帧图像亮度的差分值:
选取适当的阈值T,将上述差分结果二值化:
在这个处理过程中,阈值大小的选择至关重要,决定着整个算法是否有效.阈值Τ如果取得太大则检测到的目标像素点过少,不能完整给出目标信息;相反Τ如果太小,就会将整个场景中非目标的像素点提取出来,包括大的噪声颗粒.
将上述方法获得的二值图像取逻辑“与”,得到二值图像Dt(x,y)
经测试,三帧差分法能够准确得获取运动目标的位置,而且算法程序简单,速度较快,适于实时监控.
基于上述两种算法,将待测视频输入,与已构建的混合高斯模型做差分运算就能得到一组目标区域;然后再用三帧差分法重新检测,得到另外一组目标区域.为了获得更加准确、全面的目标,将两种方法获得的运动区域取逻辑“或”运算:
其中DB(x,y)为背景差分的目标区域,Dt(x,y)为三帧差分法的目标区域,Ck(x,y)为最终得到的目标图像.
3 实验结果分析
为了测试算法的有效性,选择了以银行为背景的特定区域.在Visual c++6.0的开发环境下使用MATLAB[6]完成核心算法的设计,借助OpenCV软件平台完成基本的图像处理功能,实现算法的测试程序.实验对大量银行自助服务区的监控视频进行测试,测试时采用速度为20帧/秒.将减背景法、帧间差分法以及本文所提出的两者并用的方法分别在这些视频上进行测试,获得如下的测试结果.图(a)、图(b)为连续两帧有运动目标的图像,(c)为背景图,(d)为减背景法获得的目标,(e)为帧间差分获得的目标,(f)为采用减背景法和三帧差分法检测结果.
图3 目标检测结果
由于监控场景受到光照、震动以及其他因素的影响,通过大量平台的测试结果可以发现减背景法存在以下问题:背景模型的更新速度如果跟目标的运动速度相差过大时,会导致提取出来的目标产生虚影或者发生漏检.另外提取出来的运动目标包含较多噪声,影响图像的效果;而帧间差分法检测的结果明显偏大而且产生“双影”现象,另外光照变化会影响算法的有效性,严重时会使算法失败.而将两种算法结合起来的测试结果跟之前的结果对比,证明本文提出的方法检测结果更加准确完整,表明算法的实用性和有效性.
4 结论
减背景法和帧间差分法都是运动目标检测常用的方法,但是这两种方法都有各自的缺点,所以实际运用时考虑结合几种方法来解决复杂多变的问题.本文以银行为背景构建了一个监控管理平台,提出的基于多个高斯模型的减背景法与帧差法相结合的方法自适应性较强,经测试目标检测的精确度较两种方法独立运用有了明显的提高,可以用于道路监测、楼宇监控、机器人视觉导航、安防等相关领域.
[1]文灏,陈红涛.基于减背景与对称差分的运动目标检测[J].微计算机信息,2007,(25):99 -101.
[2]Stauffer C,Grimson W E L.Adaptive background mixture models for real- time tracking[J].Computer Vision and Pattern Recognition,1999,(2):246 -252.
[3]Kameda Y,Minoh M.A human motion estimation method using 3-successive video frame[A].Proceedings of International Conference on Virtual System and Multimedia[C].1996:135 -140.
[4]莫林,廖鹏,刘勋.一种基于背景减除与三帧差分的运动目标检测算法[J].软件时空,2009,(25):274-276.
[5]周西汉,刘勃,周何琴.一种基于对称差分和背景消减的运动检测方法[J].计算机仿真,2005,(4):117 -120.
[6]张志涌,徐彦琴.Matlab教程[M].北京:北京航空航天大学出版社,2001.