APP下载

高饱和交叉口背景提取与更新算法*

2012-05-09李熙莹罗长政王镇波罗东华

关键词:差分滤波背景

李熙莹,罗长政,王镇波,罗东华

(中山大学工学院//广东省智能交通系统重点实验室,广东 广州 510006)

作为常用的视频车辆检测方法,背景差法通过将当前帧与背景图做差分以提取出前景目标——运动车辆,其原理简单,算法速度快,应用比较普遍。但是,在场景复杂的交叉路口进行应用时,背景差分方法由于难以获取可用的背景图而往往不能达到满意的车辆检测效果。特别是在早晚高峰期的一些高饱和交叉口中,这种情况尤为严重。交叉路口的背景提取与更新方法成为基于背景差法进行路口车辆检测的瓶颈。

迄今为止,国内外专家针对背景提取已提出了诸多方法[1]。针对主要关注点的不同,可以将现有的背景提取方法分为基于模型的方法与基于更新策略的方法。基于模型的方法注重于建立一个数学模型用于描述背景信息与前景信息的区别,并借此提取出背景图像。基于更新策略的方法则注重于建立一种适合于应用场景的更新方法,使背景图像能在不断地更新中向真实背景趋近。无论是怎样的方法,设计一个背景提取与更新算法都需要关注2个问题:一是如何从像素信息流中较好地筛去前景信息,留下背景信息;二是对筛选出的背景像素信息以何种方式进行更新。归结起来就是所假定的背景像素信息的特征是否符合应用场景的实际情况。基于模型的方法在算法设计时往往会关注第一个问题,而基于更新的方法则会关注第二个问题。因此基于模型的方法往往具有较强的过滤前景能力,基于更新的方法则拥有较强的适应场景变化的能力。

基于模型的背景提取和更新方法包括经典的中值滤波方法、直方图统计方法、高斯模型方法等。高斯模型近年获得了极高的关注[2],然而因其算法复杂度太高,尚未适合实际的工程应用。目前,中值滤波与直方图统计仍为工程应用中的主流方法。

中值滤波算法是将图像序列中各像素点出现的灰度值的中值当做该点的背景像素灰度值[3-6]。

此方法具有较强的前景滤除能力,常作为背景初始化算法。不过,如果车辆密集,会导致背景出现的帧数少于序列图像的一半,无法提取出可用背景。

直方图统计算法则是将像素点出现频率最高的灰度值作为背景灰度值[7-8]。统计方法素来有空间复杂度过高的问题,一些学者也针对这方面进行了改进,如:Li Xiaofei[7]设计的分区统计的算法,极大地降低了算法空间复杂度。直方图统计算法的统计机制能有效推断出场景中的实际状况,但当车辆较多、车速较慢、且黑白两种颜色的车辆比例较大时,统计结果往往会产生偏差。

基于模型的方法虽然经过了多方面的优化,但算法复杂度依然较高,所以工程应用中更倾向于使用基于更新的方法。其中,最为经典的是帧间差分算法[9-13],其他许多算法都借用了该算法的基本思想:利用当前帧的非运动部分不断地更新背景。Koller[12]建议针对像素点不同的状态使用不同的更新率,这样避免了单一更新率带来的诸多问题。在前景物体较多、情况复杂的场景中,帧间差分算法会因为引入噪声而造成算法失效。

高饱和交叉口车辆较多,车速较慢,车间距较小,可观测到的背景区域较少,且不同信号周期的车辆组成差异大。在这种复杂场景中,单纯通过建立数学描述模型或优化更新方法难以设计出实用可靠的算法。通过分析可以发现:当采用中值滤波方法时,虽然每次提取出的背景中都会包含很多噪声,但是其噪声的具体位置是随机的。如果对背景进行评估从而定位噪声,则可以通过不断更新含噪声的中值背景图逐渐向真实背景趋近。因此,本文提出一种中值滤波与帧间差分算法相融合的方法,吸取基于模型方法和基于更新方法的优点,从而可以针对高饱和交叉口实现道路背景的有效提取。

1 中值背景噪声特点分析

背景差分的检测思想为对比当前帧信息与背景图信息是否异同,如下式:

|Icurrent-Ibackground|>0

(1)

式中Icurrent为当前帧信息,Ibackground为背景信息。如果此时当前帧中包含前景车辆信息Ivehicle,即

Icurrent= Ibackground+ Ivehicle

(2)

那么与背景差分后会得到车辆的信息|Ivehicle|。

如果背景图中某区域包含有噪声,如下式:

InoiseBG= Ibackground+ Inoise

(3)

式中InoiseBG为含噪声的背景,Inoise为噪声。那么在当前帧不包含车辆信息的情况下,背景差分的结果为|Inoise|,系统同样会认为有车辆占用此区域。即背景差分图中绝大部分时间会显示该区域有前景物体。如图1所示:图1(a)中所含的噪声在图1(b)的背景差分图中都保留了下来。

图1 背景中的噪声

而在一般情况下,绿灯周期时交叉口引道内不会存在静止不动的车辆,即不可能存在长期被车辆占有的区域。根据以上分析,可以假定:在绿灯周期内,长时间被前景物体占有的区域为背景图的噪声区域。换句话说,背景图中的噪声区域可以通过检测被车辆占用的情况进行定位。

背景图像中的噪声来源于前景信息的混入。如中值滤波算法,当某一区域被前景覆盖的时间大于50%时,中值滤波算法会将某一帧的前景物体当成背景信息。由于特定时刻车辆出现的位置具有随机性,所以各区域被前景物体占用的时间是随机的。所以中值背景中噪声的位置也具有随机性,即不同时间段所提取出的中值背景的噪声区域是不同的。对一个特定的区域来说,在不同时间段提取的中值背景,可能正确地获取到背景信息,也可能误获得前景信息。只要进行的次数足够多,总会有一次能正确地获取到背景信息。那么通过定位背景图中的噪声,并用新提取出中值背景更新原背景的噪声区域,就可以使背景图不断地向真实背景趋近,直至获取出一张工程上可用的背景图。

为了定位与消除中值背景的噪声,根据噪声的显著程度,将噪声分为两类:一类为“鬼影”,其显著程度可以干扰到车辆检测的结果,如图2中黑色椭圆圈内所示;另一类为“差异”,其显著程度不足以干扰到车辆检测结果,如图2中白色椭圆圈内所示。虽然差异并不足以干扰到车辆检测,但这类噪声会随着时间的推移而变得显著,需要在此之前对其进行抑制。

图2 鬼影与差异示意图

2 算法介绍

图3为算法的总体流程图。算法将背景图输出给车辆检测系统,并根据系统反馈回的信息进行背景评估,定位噪声区域。最后根据评估结果进行背景更新,再输出更新后的背景。经过多次循环,就可以获得一张接近真实背景的背景图。

图3 算法总体流程图

2.1 初始背景提取

算法采用中值滤波方法提取初始背景图,即对第一个绿灯周期内的视频帧,采用中值滤波方法提取出一张背景图片。此背景图片作为初始背景输入。

2.2 背景评估

背景评估的目的在于检测出长期被前景物体占有的区域,即噪声区域。由于车辆在绿灯前半段处在启动状态,速度慢、车辆密度高,这时候进行累加计算是没有意义的,反而会形成干扰。所以系统只在绿灯时间后半段才进行背景评估操作。背景评估包含两个部分:鬼影检测与差异检测。

2.2.1 鬼影检测 检测背景图中鬼影区域的方法为:累加车辆检测系统反馈回的检测结果;如果检测到某区域长时间被前景物体占有,则判定为鬼影区域。具体步骤如下:

1)获取车辆检测系统于绿灯周期反馈回的车辆检测二值图序列{Ti}。

2)对{Ti}进行累加,公式如下:

(4)

其中,G(x,y)为鬼影检测累加结果图像,Ti为反馈回的车辆检测结果图像的第i帧,N为反馈回的二值图总数,(x,y)为像素点的位置信息。最后除以255是因为反馈回的二值图像的高值设定为255。

3)对累加结果图G(x,y)进行二值化:

(5)

其中τ为阈值。如果某点的灰度值大于τ(即检测到被前景物体覆盖的次数大于τ),则认为背景在此点存在鬼影,需对其进行更新。理论上τ的取值应为N。然而在实际场景中存在车身颜色相近的情况,所以τ的取值应在0.75N至0.95N之间。路口的饱和度越高,τ的取值越小。

图4为鬼影检测过程示意图。图(a)为背景图;图(b)为当前帧图片;图(c)为图(b)的车辆检测结果;图(d)为经过半个绿灯周期后车辆检测的累加结果。可以看出:背景图中的鬼影区域在进行车辆检测时被当作前景物体显示出来;并且在累加结果中鬼影区域的灰度值也比其他的区域高。

图4 鬼影检测过程示意图

2.2.2 差异检测 差异检测算法与鬼影检测算法原理相似,区别在于差异检测是对背景差分图的累加,而非累加车辆检测结果。具体步骤如下:

1)获取车辆检测系统反馈回的背景差分图序列{Si}。

2)对每一帧背景差分图都进行二值化:

(6)

Si为反馈回的第i帧背景差分图像,δ为认为背景图中存在差异的阈值,一般为10左右。

3)对二值化后的{Si}进行累加,累加结果存入累加矩阵U:

(7)

其中,U(x,y)为差异累加结果图像,Si为二值化后的第i帧背景差分图,N为反馈回的差分图总数。除以255的原因同前。

4)对差异累加结果图像U(x,y)进行二值化:

(8)

其中ε为阈值。如果某点的值大于ε,则认为背景在该点存在差异,需对其进行消除。一般而言,阈值ε的取值与τ值一样。

图5为背景评估结果示意图,初始背景图经过半个绿灯周期的背景评估后可以获得鬼影检测的结果与差异检测的结果。

图5 一个周期的背景评估结果

2.3 更新背景

定位到噪声之后,对背景图中需更新的部分进行更新,具体的更新步骤如下:

1)在进行背景评估的同时,采用中值滤波方法提取出一张新的中值背景作为参考背景图BZ,用以更新当前背景图。

2)绿灯周期结束时,读取鬼影检测结果矩阵G′与差异检测结果矩阵U′,对G′、U′进行扫描,执行以下操作:

G′(x,y)=255

G′(x,y)=0andU′(x,y)=255

G′(x,y)=0andU′(x,y)=0

(9)

其中α为更新系数,Bj为第j周期的背景图,BZ为参考背景图,G′为鬼影检测累加结果;U′为差异检测累加结果。更新系数α的取值范围为0到1之间,其倒数为获得真实背景至少所需的更新次数。α取值过高容易引入噪声,取值过低则会使算法所需时间过长。一般情况,α的取值为0.2至0.3之间。

3)更新完毕,等待至下一绿灯周期时跳回至背景评估阶段,为更新后的背景做背景评估。

3 实 验

实验视频摄于广州市五羊邨,时间为星期日中午12:30,路口信号周期为2 min,平均绿灯时间为21 s。拍摄视频时该路口处于高饱和状态,在一个信号周期内无法放行全部排队车辆。图6为在绿灯时间倒数第三秒时的车流状况。

图6 高饱和交叉口俯拍图

实验中,车辆检测系统在绿灯周期的后半段每秒反馈一次结果。背景评估的两个阈值τ与ε都取0.8N,更新系数α的取值为0.25。算法结果如图7所示。图7(a)为初始背景图,经过一个周期的鬼影检测与差异检测,得到鬼影检测结果图7(b)与差异检测结果图7(c)。利用这两个检测结果与新提取出的中值背景图7(d)对图7(a)进行更新,得到背景图7(e)。经过五个周期的更新,初始背景中的噪声部分基本已被消除,如图7(g)所示。利用图7(g)的结果进行背景差法的车辆检测。图7(h)为当前帧;图7(i)为图7(h)与五周期后的更新背景图(图7(g))的差分图;图7(j)为图7(i)帧的车辆检测二值图。可以看出,初始背景经过五个周期的更新后,已经满足了车辆检测的使用要求。

图7 算法过程

实验视频的大小为720*576像素,每秒25帧,算法运行主机的CPU为主频3.21 GHz的AMD PhenomII X6 1090T,无任何软硬件加速。背景评估操作每帧耗时小于1 ms,背景更新操作用时47 ms。其中更新阶段的耗时主要在计算新的中值背景上。背景更新只在绿灯时间最后一帧进行,接下来的红灯时间不再运行,因此背景更新时间超过40 ms不影响算法的实时性。如果将提取中值背景的计算分布到提取图片的阶段,则可将每帧的计算时间都降到15 ms以下。

图8为本文算法与中值滤波法和帧间差分算法的对比。左列为本文算法获得的结果,中间列为使用中值滤波方法所获得的结果,右列为帧间差分算法的结果。3种方法都使用中值滤波法提供初始背景图。可以看出,另外两种算法由于缺乏合理的更新机制,不能有效地减除背景图中的噪声。中值算法的结果中噪声更加明显。

图8 算法与中值滤波和帧间差分的对比

4 结 语

根据中值背景中噪声位置的随机性特点,建立了一种基于统计的背景评估机制,并依此通过整合中值滤波与帧间差分算法,提出了一种适用于高饱和交叉路口场景的背景提取与更新方法。该算法的实质为中值滤波算法加上累加计算,算法复杂度不高,满足工程应用的实时性要求。

参考文献:

[1]PACCARDI M.Background subtraction techniques: a review [C]//2004 IEEE International Conference on Systems,Man & Cybernetics.The Hague,Netherlands: IEEE,2004: 3099-3104.

[2]ELGAMMAL A,DURAISWAMI R,HARWOOD D,et al.Background and foreground modeling using nonparametric

kernel density estimation for visual surveillance [J].Proceedings of the IEEE.2002,90(7):1151-1163.

[3]GLOYER B,AGHAJAN H K,SIU K Y,et al.Vehicle detection and tracking for freeway traffic monitoring [C]//Conference Record of the Twenty-Eighth Asilomar Conference on Signals,Systems and Computers,1994.Pacific Grove,USA: IEEE,1994,2: 970-974.

[4]苏礼坤,陈怀新.中值滤波的视频背景更新[J].光电工程,2010,34(1): 131-135.

[5]LO B.P.L,VELASTIN S.A.Automatic congestion detection system for underground platforms [C]//2001 International Symposium on Intelligent Multimedia,Video and Speech Processing.Hong Kong: IEEE Hong Kong: Chapter of Signal Processing,2001: 158-161.

[6]CUCCHIARA C,GRANA C,PICCARDI M,et al.Detecting moving objects,ghosts,and shadows in video streams[J].IEEE Transaction on Pattern Analysis and Machine Intelligence,2003,25(10): 1337-1442.

[7]LI Xiaofei.A new fast hybrid algorithm of background extraction suitable for the DSP platform[C]//Mack Burgin.Computer Science and Information Engineering,2009 WRI World Congress on.Los Angeles,USA: IEEE Computer Society,2009: 1-4.

[8]彭强,李华.基于块直方图分析的视频背景提取方法[J].西南交通大学学报,2006,41(1): 48-53.

[9]GUPTE S,MASOUD O,Martin R F K,et al.Detection and classification of vehicles [J].IEEE Transactions on Intelligent Transportation Systems.2002,3(1): 37-47.

[10]黄绿娥,李平康,杜秀霞.室内人体运动目标的自动跟踪方法[J].计算机工程,2009,35(9): 201-203.

[11]吴众山,雷蕴奇,吴绿芳,等.一种实用的背景提取与更新算法[J].厦门大学学报,2008,47(3): 348-352.

[12]KOLLER D,WEBER J,HUANG T,et al.Towards robust automatic traffic scene analysis in real-time [C]//12th IAPR International Conference on Patten Recognition.Jerusalem,Palestine: IEEE Computer Society Press,1994: 126-131.

[13]赵有婷,李熙莹,罗东华.基于视频车辆轨迹模型的交通事件自动检测方法研究[J].中山大学学报:自然科学版,2011,50(4): 56-60.

猜你喜欢

差分滤波背景
RLW-KdV方程的紧致有限差分格式
符合差分隐私的流数据统计直方图发布
“新四化”背景下汽车NVH的发展趋势
数列与差分
《论持久战》的写作背景
黑洞背景知识
基于EKF滤波的UWB无人机室内定位研究
一种GMPHD滤波改进算法及仿真研究
基于自适应Kalman滤波的改进PSO算法
RTS平滑滤波在事后姿态确定中的应用