基于自适应混合高斯模型的前景目标检测
2014-06-13孟晓燕董增寿
孟晓燕,董增寿,武 霞
(太原科技大大学电子信息工程学院,太原 030024)
前景目标的检测是指从视频序列中将发生变化的区域从相对静止的背景图像提取出来的过程。在智能监控研究中,运动目标能否准确并且及时有效地检测出来对后续进行目标分类、跟踪、行为理解等处理起到非常关键的作用。
前景目标的检测方法有:帧差法[1-3]、光流法[4-5]和背景减除法[6-8],其中背景减除法是目前较为普遍的检测方法。它的基本思想是利用背景的参数模型来近似背景图像的像素值,将当前读入的视频帧与背景图像进行比较来判断哪些是前景区域,哪些是背景区域,所以能否准确地检测出前景区域与背景模型建立的好坏是密切相关的。很多专家学者为此进行了大量的研究,例如,文献[9]利用前n帧的像素中值作为背景模型,虽然算法简单易于实现,但是背景模型会被检测到的前景污染;文献[10]用单个模型来描述每个像素点,这种方法虽然可以在一定程度上克服场景中光照变化带来的干扰,但是处理复杂场景的能力太差;文献[11]把像素分布看作是高斯分布,对其背景建模,并在此基础上用K个高斯混合模型(Gaussian Mixture Model,GMM)表示像素分布,克服了光照变化等造成的影响,解决了像素多峰分布的问题。但是它仍然存在如下缺点:(1)混合高斯背景建模方法通常用固定个数的高斯分布来描述场景,这样会产生一些不必要的模型,造成资源的浪费。(2)现在使用的匹配更新机制使得混合高斯建模速度过慢,不能够反映实际背景的变化。当原来静止的物体运动或者运动的物体停止运动等情况发生的时候,不能够及时更新背景,造成误检或漏检等问题。
本文针对传统混合高斯背景建模法存在的一些不足,提出了以下三点改进措施,提高算法的实用性。
(1)对视频帧进行分块处理,用块建模来代替点建模。通过分析监控场景来确定像素块的大小,在不影响识别的基础上提高混合高斯模型的运算速度。
(2)以像素块为单位,改变传统高斯建模采用固定高斯成分个数的算法,根据不同像素块描述的背景特点,自适应地为像素块分布不同个数的模型。这样就将目标出现概率极小的区域和概率较大的区域区分开处理,避免了反复运算浪费时间,而且节省了存储空间。
(3)引入新的学习率调整机制,从时域和空域两方面自适应调整学习率的大小,从而既加速背景的形成,又避免产生过多的噪声干扰整个前景检测过程。
1 混合高斯模型
混合高斯背景模型[12]是由Grimson和Stauffer提出的。它的依据是视频图像的像素值在时间轴上服从高斯分布,用多个高斯分布对每个像素值进行背景建模,并通过对高斯模型的参数的更新来适应场景中背景的变化。
1.1 模型建立
假设在一个时间段里,某一个像素点的像素值分别为{X1,X2,…,Xt},根据这些像素值,用K个高斯分布来描述该像素点的像素值分布情况。在t时刻,像素值Xt属于背景的概率为 :
(1)
(2)
其中μi,t为均值,∑i,t是第i个高斯分布在t时刻的协方差矩阵。背景模型初始化时将读入第一帧图像的像素值作为均值,方差取一个较大的值σ0,权值取一个较小的值ω0.
1.2 模型匹配与更新
将新读入像素点Xt依次与K个高斯分布进行匹配,匹配条件为:
|Xt-μi,t-1|≤2.5σi,t-1
(3)
按匹配结果更新高斯模型的各参数:
ωi,t=(1-a)ωi,t-1+aMi,t
(4)
μi,t=(1-β)μi,t-1+βXi,t
(5)
(6)
其中α是整个检测过程的学习率,Mi,t的值是变化的,取值为1或0由像素与模型之间是否匹配来决定。β是第2个学习率,β=αη(Xt/μk,σk).
1.3 背景估计与前景检测
(7)
在进行前景检测时,如果所检测的像素点Xt与描述背景的B个高斯模型中的任意一个相匹配,则该像素点属于背景;否则属于前景。
2 本文方法
2.1 对视频帧进行分块处理
摄像机固定的情况下,所监控的场景的背景也是相对稳定的。一般只会出现局部细微的变化,而其他大部分区域是保持不变的。背景中很多相邻的像素点可能具有相同的像素值,通过高斯模型对这些点建模的时候,它们的模型参数应该相同或者相近,所以可以把这些点聚为一个整体来进行建模。而在传统的高斯模型背景建模过程中,每一个像素点都由多个高斯模型来共同描述。这样模型依次与读入像素进行匹配更新操作过于浪费时间,并且当场景发生突变时,背景模型不能及时做出相应的改变。于是,本文首先对视频帧进行了分块处理,分成N*N的像素块,然后用每个块的像素均值来代替这个块中所有的像素值。在高斯模型建立和匹配过程中都以像素块为单位进行计算,从而节省了计算机的运行时间和存储空间。
2.2 高斯模型分布个数的改进
考虑到对于一个监控场景,视频中的每个像素块的活跃程度是不同的。背景中的点并不是每一时刻和每一个位置都存在着目标运动等情况,这些情况不存在或者出现概率极小的区域是相对稳定的.传统混合高斯背景建模时,没有对背景进行分析判断,从而对稳定区域和不稳定区域进行差别对待,导致了一定程度的资源浪费。所以本文开始只用一个高斯模型来描述每一个像素块。然后读入视频帧,将新像素块与高斯模型按照公式(3)进行匹配,如果匹配成功,则按照公式(4)-(6)对模型参数进行更新,增大该模型的权重。如果不匹配,不仅把这个模型的权重减小,而且把新的像素块作为第二个模型的均值加进去。为了避免高斯模型的个数无止境增加,为高斯分布的个数设一个上限,当模型个数未达到上限且当前像素块与已有模型都不匹配的话,则增加模型个数。如果已经达到上限,就用新模型将已有模型中描述背景可能性最小的模型替代掉。
图1显示了本文将高斯模型个数自适应分布后在一段街道视频序列上的运行结果。第一列表示的是第12帧、76帧和120帧的原始图像,第二列分别显示了对应帧上每个像素块是由几个高斯模型描述的。每个像素块最多可以分布三个模型,即Kmax=3.图中分别用黑色、灰色和白色来代表一个、两个和三个高斯模型。
图1 混合高斯模型的高斯成分个数分布Fig.1 Components number distribution of mixture Gaussian model
从图1可以看出如果初始化只给每个像素块分布一个高斯模型的话,在很长一段时间里,场景中的很多区域只需要用这一个模型就能够描述,如草地等这些车辆及行人经过概率极小的地方。而在那些目标出现相对频繁的区域,随着帧数的增加,像素块的高斯模型个数会自适应地增加为两个或三个。此外,由于光线变化或者摄像机发生轻微抖动等会造成一定的干扰,可能有一些目标出现概率小的区域的像素块的高斯分布个数也会增加。
2.3 学习率α的选取
前景目标检测过程中学习率α的选取是一个很关键的因素。学习率选取过大或过小都会对背景模型的建立和前景检测造成一定的干扰。为解决这个矛盾,本文从时域和空域两个方面对学习率的选取方式进行了改进。从读入第一帧图像开始,就进入了背景形成阶段,这个阶段是高斯模型的方差由初始值不断减小,直到达到一个稳定值,而权重不断变大,最终成为背景模型的一个过程。如果想要在较短时间内快速达到方差的收敛,以及权重优先级的排序,应该选用较大的学习率,从而快速建立相对稳定的背景模型。当背景模型可以相对准确描述场景的时候,就可以改用较小的学习率,维持背景的稳定与更新。学习率计算公式如下:
(8)
其中α是混合高斯建模典型算法的学习率,n是视频帧中当前流过的帧数。
本文在进行分块的基础上,对于不同的块,采用不同的学习率。对于只用一个高斯模型就可以描述的像素块,即单模态区域,不考虑当前的帧数,采用固有的相对小的学习率。而对于多模态区域,则按照上面给出的计算公式来进行学习率的选取。
2.4 算法改进后的流程图
针对混合高斯模型存在的不足,本文对其做出了改进,算法流程图如图2.
3 实验结果及分析
为了检验算法的有效性,基于上述算法流程,在Matlab 2012,普通PC机(CoreII 2.4GHz)上对一段街道监控视频进行测试,测试视频的分辨率为320×240.在测试视频序列时所取参数:Kmax=3,α1=1/n(n⟸50),α2=0.02,σ0=15,ω0=1,T=0.7,δ=2.5,每个像素块的大小为3×3.
图3中a是测试视频中第48帧的原图像,b和c分别是传统方法和本文方法建立的背景。从图3可以看出,传统方法建立背景的速度比较慢,并且前景和背景不能准确分割。而本文算法不仅可以在较短的时间内形成背景,而且建立的背景更接近真实场景。图4是对所用的街道监控视频的第74帧、第146帧和第189帧前景目标的检测结果。传统的混合高斯背景建模方法检测到的前景目标内部包含了很多的空洞,并且会出现一定的延时,而本文的检测方法与传统方法相比,残留的像素点更少。在摄像机固定的情况下,对行人的检测更加准确,而且没有出现虚假前景等干扰,目标轮廓相对清晰。
从算法的执行速度来看,本文可以达到20帧/s的平均检测速度,明显优于传统的5.5帧/s的运算速度。原因是本文方法在保持精确度的前提下,对视频帧进行了分块处理,并且对不同的像素块区别对待,自适应地改变高斯分布的个数和学习率,从而减少了计算量。
为了客观的评价本文的方法,使用如下指标:
(9)
其中,NS是算法检测出来的前景像素;NC是算法正确检测出来的前景像素;NM是人工检测出来的前景像素。D代表DetectionRatio体现了前景检测的正确率,F代表FalseRatio是前景检测的错误率。图5、图6是选取检测视频序列第100帧到140帧进行分析的结果。本文算法在准确度上明显优于传统混合高斯背景建模法。
图4 前景目标检测结果Fig.4 Detection results of foreground objects
图5 前景像素检测的正确率Fig.5 The accuracy rate of foreground pixels detection
图6 前景像素检测的错误率Fig.6 The error rate of foreground pixels detection
4 结论
在传统混合高斯模型的基础上做出了改进,在对视频帧进行分块处理的基础上,用每个像素块的均值来代替这个块内所有的像素值进行建模。根据不同块描述的场景的特点自适应地改变每个像素块上的高斯模型个数,并且在时域和空域上对学习率的选取进行了改进,加速了背景的建立和及时更新,从而准确的检测出前景目标。实验结果表明,在摄像机固定背景环境比较稳定的环境中,本文算法有较好的检测效果,为后续的跟踪、识别和行为理解奠定了良好的基础。
参考文献:
[1] MEIER T,NGUN K N.Video segmentation for cintent-based coding[J].IEEE Trans on circuits and Systems for Video Technology,1999,9(9):1190-1203.
[2] 杨学超,刘文萍.视频图像序列中的运动目标检测技术[J].计算机应用与软件,2008,25(1):215-218.
[3] POWER P W,SCHOONERS J A.Understanding background mixture models for foreground segmentation[C]∥Proceedings of Image and Vision Computing.Auckland,New Zealand:Amuck and University Press,2002:267-271.
[4] RIBARIC S,ADRINEK G,SEGVICS.Real-time Active Visual Tracking System[J].IEEE Melecon,2004,1:231-234.
[5] BARRON J L,BEAUCHEMIN S S,FLEET D J.On Optional Flow[C]∥6Int Conf on Artificial intelligence and Information Control Systems of Robots.Bratislava,Slovakia,1994:3-14.
[6] 彭可,陈燕红,唐宜清.一种室内环境的运动目标检测混合运算法[J].计算机工程与应用,2008,44(5):239-341.
[7] 陈高华,卓东风,杨铁梅.基于数学形态学的遥感图像边缘检测方法研究[J].太原科技大学学报,2009,30(4):280-282.
[8] 代科学,李国辉,涂丹,等.监控视频运动目标检测减背景技术的研究现状和展望[J].中国图像图形学报,2006,11(7):919-927.
[9] LO B P L,VELASTIN S A.Automatic Congestion Detection System for Underground Platforms[C]∥Proc of Int′l Symp on Intelligent Multimedia,Video,and Speech Processing.Hong Kong,China,2001.
[10] RIDDER C,MUNKELT O,KIRCHNER H.Adaptive Background Estimation and Foreground Detection Using Kalman Filtering[C]∥Proc of the Int′l Conf.on Recent Advances in Mechatronics.Istanbul,Turkey,1995.
[11] COLOMBARI A,FUSIELLO A,MURINO V.Segmentation and Tracking of Multiple Video Objects[J].Pattern Recognition,2007,40(4):1307-1317.
[12] STAUFFER C,GRIMSON W E L.Learning patterns of activity using real-time trackin[J].IEEE Trans on Pattern Analysis and Machine Intelligence,2000,22(8):747-757.