一种改进的视频运动目标检测算法
2010-07-18韩延玲赵辽英
韩延玲,赵辽英
(杭州电子科技大学计算机应用研究所,浙江杭州310018)
0 引 言
视频检测就是从视频序列中将运动目标从背景图像中提取出来,处于视觉监视系统的最底层,是后续高级处理如视频分析、视频编码、视频检索及视频监控等应用的基础。在实时的视频检测系统中,背景模型的可靠性和目标定位的准确性,直接关系到下一步视频处理的效果。目前常用的背景建模方法包括自适应建模方法、Kalman滤波器方法、单高斯方法及混合高斯方法等。自适应建模方法利用时间平均法获取自适应模型[1],但当检测区内存在大量连续的运动物体或运动目标长时间静止时,该方法失效;Kalman滤波器方法利用Kalman滤波器跟踪每个象素抽取背景模型[2],该方法能够克服光线变化带来的影响,但要求象素级阈值,同时背景恢复较慢且无法处理象素的双峰或多峰分布;单高斯方法[3],对于复杂环境(如树枝摇动、水面晃动等)很难建立有效的背景模型;利用混合高斯方法来抽取背景[4,5],能够鲁棒地克服由光线、树枝摇动等造成的影响,但存在运行速度慢的问题。目前常用的运动目标定位方法:基于区域生长的定位方法、基于投影的定位方法以及基于聚类的定位方法。而在这些方法中,基于区域生长的定位方法最为常用,然而,常规的区域生长法对于空域连通性较差的目标,容易导致误定位的问题。本文针对混合高斯背景建模和常规区域生长目标定位存在的问题,提出了相应的改进方法。
1 背景模型的提取
1.1 混合高斯模型
依次读入N帧视频图像,视频图像It的每个象素在整个时间上的值可看作一个时间序列,在任意时刻 t,象素点(x0,y0)的值为:{X1,…,Xt}={I(x0,y0,i):1≤i≤t}。
对于时间序列{X1,…,Xt}可看作由K个高斯模型迭代而成,即:
式中,K表示每个象素所允许的最大高斯模型个数,通常K为3~5,ωi,t表示第i个高斯模型的权重系数,η(Xt,μi,t,∑i,t)表示第i个高斯模型μi,t,∑i,t分别表示第i个高斯模型均值和协方差。
为了减小环境光线变化造成的影响,本文将得到的视频图像从RGB色彩空间转换到YCrCb色彩空间;为了降低计算复杂度,假设Y,Cr,Cb是相互独立的,协方差矩阵可以简化为:∑=σ2I。
1.2 背景的更新与确定
在室内外场景中,随着时间的变化,背景也是不断地发生变化,如光照变化、树叶晃动、水面波动等,因此,背景模型需实时更新以适应这些变化。当读入一帧图像时,对于每个象素,如果其象素值与该象素的某个高斯模型的均值差d小于3σ,那么认为此象素与该模型匹配,用此象素值更新该高斯模型的均值、方差和权值;若不匹配,则只更新模型的权值。本文采用文献5中给出的更新公式进行背景更新。通常情况下,背景在时间序列中相对稳定,即混合背景模型中权重较大且方差变化较小的模型可认为背景,否则作为前景。以ω/σ进行排序,构成β分布,则背景模型较大可能性的排在顶端,可能性最小的暂时性的背景模型将倾向于低端,将会被新的模型所代替。因此,前B个模型属于背景模型:
式中,T是确定背景模型的阈值参数,一般取T=0.6。
1.3 高斯模型数的动态选取
由于场景中有些部分变化不大,所以这些部分的象素的模型个数达不到最大模型数K,而在初始时仍然建立K个模型,背景更新时对其全部处理,会影响处理速度。因此,本文为每个象素动态选取高斯模型个数,首先在初始化背景模型时,为每个象素建立一个高斯模型,在后续处理中增加新的模型同时更新已有模型的权值,当模型的权值变为负数时,则舍弃该模型,以确保每个模型的权重为正数,归一化所有模型的权值。这样针对每个象素建立不同的模型数,在背景更新时,减少了循环次数,缩短了运行时间,提高了处理效率。
2 运动目标检测
当前帧减去背景图像阈值化后,得到前景二值图。考虑到噪声采集以及摄像机的轻微震动的存在,需要运用形态学的膨胀、腐蚀算法,来消除前景二值图F(i,j)中的孤立点,达到改善视频对象平面的空域连通性的目的。为了后续工作的准确性,需要在得到视频运动区域后,进一步定位视频运动目标,即获取视频运动目标的空间位置信息。
针对普通的区域生长法对于空域连通性较差的目标,容易导致误定位的问题,本文提出了一种扩展的区域生长算法,将象素种子点和其邻域扩展为宽为W高为H的超象素,设定超象素内前景点个数的阈值Tf,将象素个数超过Tf的超象素作为种子点或者将其合并到种子点的连通区域中。采用两步扩展区域生长法的迭代思想,实现视频运动目标的连通区域标记,其基本步骤如下:
(1)初始化标记矩阵M(x,y,tk),设定超象素的宽W和高H;(2)扫描阈值化后的前景二值图像,若超象素内前景象素个数超过Tf,则设该超象素为种子点,记录下超象素左上角的坐标f(x0,y0);(3)以f(x0,y0)为中心检查以超象素为单位的邻域,将满足合并条件的邻域超象素压入堆栈,并置其内所有的象素为背景点;(4)根据步骤(3)前景点的坐标找到目标矩形框位置坐标,将矩形框坐标压入堆栈,返回步骤(2);(5)逐个取出矩形框位置坐标,将M(x,y,tk)对应的矩形区域内的象素均置为前景点;(6)第二步扩展的区域生长标记,重复步骤(2)~(4),步骤(5)时逐个取出矩形框位置坐标,对目标连通区域进行标记,得到M(x,y,tk)。
3 实验结果及分析
为测试本文改进算法的实际效果,采用VC++6.0开发环境,在WindowsXP SP3,CPU Intel Core22.66GHz,内存为2G的PC机上分别对自拍的实际车辆运动视频序列(分辨率为352×240,帧率为15帧/s,共1 381帧)和Highway视频序列(http://cvrr.ucsd.edu/aton/shadow/)进行测试。其中,背景建模的学习率取0.001,最大高斯模型数M 取5,确定背景模型的阈值为0.75,均方差取3.0,取0.05,扩展区域大小取3×5,Tf取5。自拍的实际车辆运动视频序列的第137、300、500帧,如图1所示。采用本文改进的GMM算法比差异积累方法提取的背景更加干净可靠,如图2(a、b)所示。
图1 自拍视频序列的第137、300、500帧
图2 自拍视频序列的第137、300、500帧的实验效果图
由图2(c)的对比效果可见,本文提取的前景目标(左)不会像文献6(右)那样出现拖尾现象。图2(d)表明,本文扩展的区域生长法(左)对目标的定位更加准确,这将有利于进一步的运动目标的跟踪。Highway视频序列的实验效果如图3所示,Highway视频序列背景简洁,但是视频运动目标较多,且存在某些视频运动目标区域重叠的情况,但应用本文的算法可以很准确的定位到目标。对于自拍序列分别应用文献1和本文的改进GMM算法,得到的运行时间分别为156s和103s,表明本文的算法提高了处理效率。
图3 Highway视频序列第137、180、233帧的实验效果图
4 结束语
本文主要在背景建模和运动目标定位两方面做了改进,自拍的实际车辆运动视频序列和Highway视频序列的实验结果表明,为每个象素动态选取模型数提高了混合高斯的处理速度,扩展的两步区域生长算法消除了视频平面连通性差造成的目标误定位的问题,改进算法具有较好的实时性、自适应性和鲁棒性。
[1] Stauffer Chris,GrimsonW E L.Adaptive backgroundmixture models for real-time tracking[C].Cambridge:Proceeding IEEE Conference on Computer Vision and Pattern Recognition,1999:245-251.
[2] 严勇,黄席樾,刘爱君.Kalman滤波在运动图像背景提取及更新中的应用[J].自化与仪器仪表,2006,(2):28-30.
[3] Wren Christoper Richard,Azarbayejani Alli,Darrell Trevor.Pfinder:Real-Time Tracking of the HumanBody[J].IEEE Transactions on Pattern Analysis and Machine,1997,19(7):780-785.
[4] Power P Wayne,Schoonees Johann A.Understanding Background Mixture Models for Foreground Segmentation[C].New Zealand:Proceedings Image and Vision Computing New Zealand,2002:267-271.
[5] Zivkovic Zoran.Improved Adaptive GaussianMixtureModel for Background Subtraction[C].Cambridge:Proceedings of the 17th International Conference on Pattern Recognition,2004:28-31.
[6] 孙志海,朱善安.基于差异积累的视频运动对象自动分割[J].光电工程,2007,34(12):97-103.