一种用于车辆检测的选择性背景更新方法

2011-03-15 14:30齐美彬蒋建国
关键词:像素点灰度背景

杨 强, 齐美彬,2, 蒋建国,2

(1.合肥工业大学 计算机与信息学院,安徽合肥 230009;2.合肥工业大学安全关键工业测控技术教育部工程研究中心,安徽合肥230009)

车辆检测技术是实现智能交通监控的前提条件,而背景初始化及更新方法则是车辆检测技术的重要保障。

基于高斯分布的背景模型是目前较为常用的一种背景模型更新方法[1],它是把背景图像看成是前景高斯分布和背景高斯分布的混合体。高斯模型的效果比较好,但是计算量大,不适合实时的车辆检测。选择性更新背景模型也是一种常用的背景更新方法[2],它首先提取车辆检测的初始背景,将当前图像和背景图像进行背景帧差运算,如果某点在当前图像和背景图像的差值小于阈值时,则认为该点为背景,进行图像更新;反之则认为该点是运动车辆,保持不变。这种模型算法简单,在背景缓慢变化时可以取得很好的效果,但是背景突变时,会发生漏检,如无法处理车辆在背景更新中由运动变为静止和由静止变为运动等情况;而且方法中使用的背景帧差运算无法消除由于车辆表面某些区域与背景中路面的灰度接近所产生的运动目标“孔洞”现象。

另外,也可以从一组观测图像中按照一定的假设选择像素灰度值更新当前背景。文献[3]认为连续稳定状态最长的灰度值是背景像素值,但如果前景目标运动较慢,稳定状态最长的灰度值往往是前景目标,此时会产生错误结果;文献[4]利用光流场法去掉了由运动目标产生的稳定状态最长的灰度值,得到正确结果,但光流场算法复杂,运算量大;文献[5]认为背景在图像序列中总是最经常被观测到,并在此基础上提出了基于像素灰度归类的背景重构算法,当假设成立时能很好地重构背景,但是当运动物体出现的概率大于背景出现的概率时,即假设不满足时,不能正确重构背景;文献[6]利用分级分块背景估计法更新背景,即利用子块能量和高阶矩判断每一子块是背景子块还是运动子块,但分块的大小会影响重构背景的质量,分块过小不能反映高斯分布的特性,分块过大又会将子块中的小目标恢复到背景中。

上述许多文献中的背景更新方法实时性较差,而通过假设选择像素灰度值更新当前背景具有一定的局限性,不能很好地适应多种情况下的背景更新,因此本文采用常用的选择性背景更新方法,并进行了改进。首先利用对称差分法和背景帧差法的“或”融合对传统的背景帧差法进行改进,使每个运动目标成为独立的连通域,并采用基于两轮扫描法的种子填充技术确定运动目标区域和填补运动目标中的“孔洞”,然后对非运动目标区域和运动目标区域分别采用逐渐修正法和计数器更新法2种不同的更新方法进行更新,这样可以有效地解决传统选择性背景更新方法的缺陷,有利于适应复杂多变的交通场景,而且具有良好的实时性。

1 改进的背景帧差法检测运动目标

帧差法是采用图像相减来获得图像信息,常用于检测相邻帧图像的变化,本文采用帧差法检测当前帧相对背景的变化。直接帧差法算法简单,但是受噪声影响非常大。同时由于车辆表面存在局部与路面灰度接近的现象,简单地将当前帧和初始背景的差值与阈值进行比较,不可避免地会在检测到的运动目标中产生“孔洞”现象,而且运动目标的边缘往往不是封闭的,这使传统的种子填充方法无法很好地填充这些“孔洞”。对称差分法是有效检测出运动目标边缘轮廓的一种方法[7],本文利用对称差分法提出一种改进的背景帧差法检测运动目标。首先利用对称帧差法尽量连通运动目标的边缘,然后与背景帧差的结果相融合,使每一个运动目标中的像素点成为独立的连通域[8],最后使用基于两轮扫描法的种子填充技术填补车辆的“孔洞”。

1.1 对称差分算法

对称差分是通过对连续3帧序列图像的差分检测出中间帧运动目标的形状轮廓。这里采用改进的连续3帧对称差分法,可以更有效地检测运动目标的边缘轮廓。其算法如下[7]:

序列图像连续3帧图像分别用Ik-1(x,y)、Ik(x,y)、Ik+1(x,y)表示,其中(x,y)表示图像中的像素值。由(1)式可见,对称差分算法可表示为相邻2帧的绝对差值,即

其中,d(k-1,k)(x,y)和d(k,k+1)(x,y)通过阈值判断得到b(k-1,k)(x,y)和b(k,k+1)(x,y)的二值化图像[9],然后在每个像素位置按照(2)式对b(k-1,k)(x,y)和b(k,k+1)(x,y)进行“或”运算得到对称差分的二值图像D k(x,y),即

1.2 对称差分和背景帧差相融合

上述改进后的对称帧差法能有效地检测出运动物体边缘的大致轮廓,将对称差分的结果与背景帧差结果相融合,可以使每一个运动目标中的像素点成为独立的连通域。

首先使用多帧平均法建立简单的背景模型Bk(x,y)[10],然后用背景帧差法得到二值化的初始运动目标D Ik(x,y),最后按照(3)式将对称差分和背景帧差的结果做“或”融合,得到最终的运动目标检测结果。

实验结果如图1所示,图1b中对称差分的结果检测出了运动目标大致的边缘轮廓,图1c为融合后的结果,从中可以看到每个运动目标中的像素点已成为独立的连通域。

图1 对称差分和背景帧差相融合的检测结果

为了抑制结果中的噪声,在求绝对差分时可以使用中值滤波函数[11]。

1.3 基于两轮扫描法的种子填充技术

传统的种子填充算法有递归种子填充法和扫描线种子填充法[12,13]等。递归种子填充法要求填充图像的边缘封闭,而且使用的堆栈需要大量的存储空间,因此效率较低;扫描线种子填充法填充中间带有孔洞的复杂图形可能产生漏填现象。本文提出一种基于两轮扫描法的种子填充技术,首先采用两轮扫描法将一个连通域分割成一个独立的目标,然后在该目标范围内采用逐行逐列扫描填充的方法,这样既可以在非封闭区域填充“孔洞”,又大大减少了漏填现象。

1.3.1 基于连通域的两轮扫描法

经过上述的运动目标检测算法后,各个运动目标可以认为是一个独立的连通域,本文介绍基于连通域的两轮扫描法标记这些运动目标,可以避免将一个连通域分割为多个目标的情况,从而实现目标分割。

(1)初步标记各个连通域。针对上述改进的背景帧差法所得到的二值化图,按照从上向下、从左至右的顺序扫描各像素点,判断当前扫描点像素是否为1,如果像素值为1,说明该点是运动像素点,然后判断该点邻近像素点是否已被标记以决定当前像素点标记值(如图2a所示,黑点为当前扫描点,白点为需要查询是否已被标记的邻近像素点),按照从上到下、从左至右的顺序对图2a白点(邻近像素点)进行扫描,当遇到第1个已被标记的邻近像素点,将该像素点的标记值作为当前扫描像素点的标记值,若邻近像素点都未标记,说明该像素点可能属于一个新的目标块,赋予该像素点新的标记值。为了存放各个像素点的标记值,对扫描图像额外建立一个标记数组,数组大小为扫描图像像素点个数,初始化各个值为0。第1轮扫描后可能存在同一连通域的像素点被标记成不同目标的情况,如图2b所示,因此需要进行第2轮扫描。

(2)第2轮扫描将同一连通域内不同标记值的目标合并为一个目标。扫描对象是前面建立的标记数组。判断每个像素点标记值是否为0,如果为0,说明当前扫描点为背景像素点,则不予处理。反之,进一步查询当前扫描点邻近像素点是否已被标记(类似图2a),按照从上到下、从左至右的顺序对邻近像素点进行扫描,当遇到第1个已被标记且标记值与当前像素点标记值不同的邻近像素点时,则进行合并,设该邻近像素点标记值为m,当前像素点标记值为n(m≠n),具体合并过程为:将标记值为n的目标块内所有像素点标记值修改为m。通过第2次扫描,使得同一连通域标记值为统一数值,实现目标分割,如图2c所示。

图2 连通域两轮扫描法示例

1.3.2 种子填充

将每个车辆标记为一个独立的目标后,即可通过扫描法填充车辆中的“孔洞”。首先记录每个目标块的范围,即找出每个目标块在 x轴和y轴的最大最小值,将该目标块置于一个虚拟的矩形框中,在该矩形框范围内开始由上到下、由左到右的进行逐行扫描填充。首先将该行第1次和最后一次出现的具有该目标块标号的像素点记录下来,然后在2个记录的像素点之间扫描,若发现像素为0的点则直接置为1。逐行扫描填充完成后还可以进行逐列扫描填充,方法类似。

图3所示为采用传统的扫描线种子填充法和本文使用方法的比较,其中图3a为原始背景帧差结果,运动目标中存在较严重“孔洞”问题且目标边缘不连续。从2个种子填充法的效果可以看出,图3b在目标中仍存在漏填的“孔洞”和许多不规则的“裂痕”,而图3c不存在漏填的“孔洞”,而且“裂痕”较少。

图3 传统扫描线种子填充法和本文方法的比较

2 选择性背景更新方法

外界背景的变化主要包括由光照变化引起的原背景像素值发生缓慢和小幅度的变化,以及静止车辆突然运动和运动车辆长时间停止[14]。车辆检测的背景应该实时更新,这样才能准确地实现车辆检测。本文采用选择性背景更新方法,通过上述介绍的改进背景帧差法和种子填充技术确定运动目标区域后,对非运动目标区域采用逐渐修正法更新,对运动目标区域采用计数器更新法进行更新,以实现实时准确的更新背景。

2.1 逐渐修正法

首先介绍常用的背景更新方法——逐渐修正法[15],通过判断当前帧和背景帧的灰度差而改变背景的灰度,其计算公式为:

其中,B(x,y)表示背景;I(x,y)表示当前帧;M为常数。如果当前帧图像的灰度值比背景图像的灰度值大,背景的灰度值加M;如果当前帧图像的灰度值比背景图像的灰度值小,背景的灰度值减M,M选取的大小决定了背景更新的速度,一般取1或2。逐渐修正的方法对整个图像采用统一的更新策略,这对于背景缓慢变化的区域有良好的效果,对于车辆运动区域会产生错误的更新(如出现车辆拖影)。因此,针对非车辆运动区域背景变化缓慢的特点,本文采用逐渐修正法对其更新,而对于变化较快的车辆运动区域,本文采用一种全新的计数器更新法避免拖影问题,并且可以有效地处理背景突变(如车辆由运动变为静止或由静止变为运动)的情况,有效地解决了传统选择性背景更新方法的缺陷。

2.2 计数器更新法

计数器更新法的基本算法如下:

为背景帧的每个像素点定义 increase、decrease、initvalue 3个变量,分别为增长计数器、减少计数器和像素变化初值,用于判断是否进行背景更新。首先由上述方法得到当前帧和前一帧图像的运动目标,然后判断,若某像素点在当前帧和前一帧都属于运动目标,则对其使用计数器更新方法:将当前帧的该像素点与背景帧对应像素点求差值,若差值大于零(小于零)表示该像素点相对于背景出现增大(减小)变化,则增长计数器increase加1(减少计数器 decrease加1),同时用initvalue记录第1次增长(减少)时的值。当|increase-decrease|大于阈值 τ1时,检查当前值与initvalue的差值,当此差值小于阈值τ2内时才对背景的该像素点用当前值更新,同时将3个计数器清零,否则不对背景作任何操作,仅将3个计数器清零。这里的τ1取25,τ2取5,可以得到较好的更新效果。

3 算法描述

本文首先使用多帧平均法建立简单的背景模型Bk(x,y),然后采用改进的选择性背景更新方法更新背景。

算法的具体步骤如下:

(1)用多帧平均法建立背景模型Bk(x,y)。

(2)利用背景帧差法和对称差分法分别求出差分后的二值图DIk(x,y)和Dk(x,y)。

(3)对DIk(x,y)和Dk(x,y)进行逻辑或运算,得到其融合的结果BD k(x,y)。

(4)对BD k(x,y)进行基于两轮扫描法的种子填充最终得到车辆运动掩码BW(x,y)。

(5)使用中值滤波函数去除BW图像中的孤立噪声,并确定图像中的运动车辆区域及背景区域,本文中运动目标区域像素为1,背景区域像素为0。

(6)选择性背景更新算法如下:BWk(x,y)为二值图BW的实时图像像素点,当BWk(x,y)=1时,认为是运动目标区域,用计数器更新法对背景进行更新;当BWk(x,y)=0时,认为是背景区域,用(4)式对背景进行更新。

(7)k=k+1,然后回到步骤(2)重复各步骤操作。

4 实验结果与分析

本文所述算法采用CPU为Intel酷睿II(主频2.13GH z),内存为2 G的计算机进行实验,程序采用VC6.0编制,并采用基于YUV彩色空间352×288的视频序列作为输入,测试视频是交通比较繁忙的路段。

首先建立初始背景模型,然后将本文改进的选择性背景更新方法和传统的高斯分布背景更新以及逐渐修正法进行比较。3种算法在每帧图像用于背景更新所消耗的平均时间是:高斯分布背景更新为30.4m s,逐渐修正法为4.5m s,本文方法为15.7 ms。

使用多帧平均法将前100帧原始图像做均值得出的初始背景模型,如图4所示,3种方法的更新结果,如图5所示。其中,逐渐修正法的M值和本文方法中(4)式的M值均取2,可以实现对光照变化的快速响应。

图4 初始背景模型

图5 3种方法的背景更新结果

图5a、图5b、图5c为采用高斯分布的背景更新结果,由于在图像帧开始时车流量较大,而采用高斯模型更新背景的计算量大,因此导致实时性较差,背景错误的区域长时间不能通过更新修复;逐渐修正法更新背景结果如图5d、图5e、图5f所示,车辆经过后会留下较为明显的拖影,而且长时间不能消除。

图5g、图5h、图5i为本文方法更新背景的结果,与上述2种方法比较可以看出,本文改进的选择性更新方法在车流量大的情况下由于算法简单,具有良好的实时性,而且对运动目标区域采用计数器更新方法,车辆经过后不会出现拖影问题,因此优于传统的2种方法。

在背景部分区域突变的情况下,使用高斯分布背景更新,并用逐渐修正法和本文方法进行比较。在实验的图像序列中,从635~689帧,出现了一辆暂停的车辆,使得其后一段时间内的背景都受其影响。对该暂停车辆造成的背景突变,背景更新要实现2个功能:在车辆由运动变为静止后应尽可能快地使静止车辆成为背景的一部分;在车辆由静止变为运动后应尽可能快地消除背景中的该车辆。在实验结果中,对于第1个功能的实现,高斯分布背景更新需要51帧更新时间,逐渐修正法需要49帧更新时间,本文方法需要29帧更新时间(在第664帧时完成更新);对于第2个功能的实现,高斯分布背景更新需要67帧更新时间,逐渐修正法需要52帧更新时间,本文方法需要31帧更新时间(在第720帧时完成更新)。

图6所示提取了视频序列的第635帧、664帧和720帧原始图像,其中图6a、图6b为车辆暂停时的2帧图像(暂停车辆在图像右下角),图6c为第720帧图像,此时暂停车辆已离开。

图6 提取的3帧原始图像

使用3种方法对背景突变区域的更新结果及在此基础上的车辆检测结果,如图7所示。其中,图7a、图7b是在664帧和720帧时采用高斯分布的背景更新结果,图7c是在720帧时对应的车辆检测结果,从中可以看出高斯分布背景更新实时性较差,背景无法及时得到更新,使720帧时的检测结果中出现了错误的车辆检测(错误检测到的车辆在图像右下角)。

图7d、图7e、图7f为逐渐修正法在对应图像帧的背景更新及车辆检测结果,从中可以看出逐渐修正法对突变区域更新较慢,影响了第720帧的车辆检测结果。

图7g、图7h、图7i为本文方法的背景更新及检测结果,本文方法中的计数器更新法在664帧和720帧时使背景变化大的部分及时得到更新。因此在720帧时得到了正确的车辆检测结果,所以本文方法对背景突变区域的更新具有良好的实时性,从而提高了车辆检测的准确性,优于前2种方法。

图7 3种方法的更新结果及车辆检测结果

5 结束语

本文提出了一种用于车辆检测的选择性背景更新方法,首先利用改进的对称差分和背景帧差相融合以及基于两轮扫描法的种子填充技术检测运动目标,然后针对运动目标区域和非运动目标区域采用不同的更新方法进行更新。从实验结果可以看出,与传统的高斯分布背景更新和逐渐修正法相比,本文方法算法简单,具有良好的实时性,不会产生车辆拖影问题,而且对背景部分区域突变的情况,可以及时更新背景,得到正确的目标检测结果,优于传统方法,因此,本文方法在背景实时更新及目标检测能力上具有实用价值。

[1] E lgamm al A,H arw ood D,Davis L.Non-parametric model for background subtraction[C]//The 6th Eu ropean Conference on Computer V ision.Dublin,Ireland:IEEE,2000: 1-17.

[2] Fathy M,Siyal M Y.An imagedetection technique based on m orphological edge detection and background differencing for real-time traffic analysis[J].Pattern Recognition Leters,1995,16(12):1321-1330.

[3] LongW,Yang Y H.Stationary background generation:an alternative to the difference of tw o im ages[J].Pattern Recognition,1990,23(12):1351-1359.

[4] Gutchess D,T rajkonic M,Cohen-Solal E,et al.A background model initialization algorithm for video surveillance [C]//The 8th IEEE Int Conference on Compu ter V ision. Vancouver:IEEE,2001:733-740.

[5] Ko rnprobst P,Deriche R,Aubert G.Image sequence analysisvia partial difference equations[J].Jou rnal of Mathematical Im aging and V ision,1999,11(1):5-26.

[6] 崔宇巍.运动目标检测与跟踪中有关问题的研究[D].西安:西北大学电子科学系,2005.

[7] 陈朝阳,张桂林.基于图像对称差分运算的运动小目标检测方法[J].华中理工大学学报,1998,26(9):34-35,38.

[8] 蒋建国,刘 扬,詹 曙.灰度视频序列中驾驶员疲劳实时检测方法[J].合肥工业大学学报:自然科学版,2008,31 (9):1424-1427,1442.

[9] Liption A J,Fujiyoshi H,PatilR S.Moving target c lassification and tracking from real-time video[J].IEEE T ransactions on Workshop Application of Computer V ision,1998,10:8-14.

[10] 王 齐.基于视频图像的交通监控系统研究[D].西安:西北工业大学自动化学院,2005.

[11] 周西汉.一种基于对称差分和背景消减的运动物体检测方法[J].计算机仿真,2005,22(4):117-123.

[12] 倪玉山,林德生.扩充堆栈结构的种子点区域填充算法[J].复旦学报:自然科学版,2000,39(1):99-103.

[13] 孙家广,杨长贵.计算机图形学[M].北京:清华大学出版社,1998:185-197.

[14] 邹承明,李 伟.一种改进的自适应背景更新算法[J].武汉理工大学学报:自然科学版,2009,31(3):45-48.

[15] Jung Y K,H o Y S.Traffic parameter ex traction using video-based vehicle tracking[C]//IEEE Conference on Intelligent Transportation System s.Tokyo,Japan:IEEE,1999: 764-769.

猜你喜欢
像素点灰度背景
采用改进导重法的拓扑结构灰度单元过滤技术
“新四化”背景下汽车NVH的发展趋势
基于局部相似性的特征匹配筛选算法
《论持久战》的写作背景
基于5×5邻域像素点相关性的划痕修复算法
基于canvas的前端数据加密
基于最大加权投影求解的彩色图像灰度化对比度保留算法
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
晚清外语翻译人才培养的背景
基于灰度线性建模的亚像素图像抖动量计算