一种自适应的运动区域检测算法

2013-11-10 07:09张俊
网络安全与数据管理 2013年21期
关键词:直方图差分方差

张俊

(中国电子科技集团公司第三十八研究所,安徽 合肥 230088)

随着平安城市的建设、智能相机在交通监控的推广和普及以及数字图像分析技术不断地提高,关于智能交通系统的需求越来越丰富和多样。在智能交通系统视频分析中,运动物体的检测是很多图像处理的第一步,运动物体检测的好坏对于后续图像处理起着至关重要的作用。运动物体的检测需要二值化处理,这涉及阈值的选择。大多数运动区域检测文献对阈值的选择没有深入的分析。常用的背景建模算法(例如混合高斯模型、贝叶斯模型、码本方法)虽然效果不错,但是计算量较大,在某一些应用场合并不实用,例如嵌入式一体机。本文提出了一个简单有效的阈值自适应选择方法,通过实验数据可以看出,本文算法计算量很小,而且可以得到较好的运动区域检测结果。

本文主要介绍了背景图像的初始化和背景图像的更新策略,提出了一种简单有效的阈值选择方法,并进一步分析其缺陷,对此提出了改进策略,提高了阈值选择的鲁棒性。最后从实际视频分析中验证了算法的有效性。

1 背景图像的初始化及更新

1.1 背景图像初始化

基于背景差分可以得到较完整的运动区域,因此需要首先获得背景图像。这里采用参考文献[6]的方法来完成背景图像的初始化及背景更新。通过相邻帧差分的二值图像找到运动的像素,将这些运动区域的像素值丢弃,只对非运动区域的像素值进行累加,最后求平均。该算法可以很好地消除运动目标的影响,得到较完整的背景图像。

背景图像初始化步骤如下。

(1)将每帧图像转成灰度图像,假定一个像素点(x,y)时间t上的灰度值可表示为F(x,y,t)。将当前帧与前一帧作差分,然后再作二值化,得到二值图像 D(x,y,t):

(2)帧间差分后得到的二值图像会有空洞现象,这是因为运动物体含有均匀区域造成的,所以采用形态学区域填充来降低这种空洞的影响。

(3)计算非运动区域累加值。 sum(x,y)为非运动区域的像素灰度累加值,num(x,y)为像素点(x,y)被作为非运动区域累加的次数。

(4)i=i+1,返回步骤(1)进行迭代,当迭代到一定次数时,便可结束迭代。

(5)求平均得到背景图像:

1.2 背景更新

随着时间的推移,背景中不可避免地会发生一些变化,如果背景更新不能迅速跟上实际背景的变化,检测结果中可能出现较大范围的噪声,这要求背景图像更新对运动目标有较强的抗干扰能力。这里采用参考文献[6]的更新策略,分为像素级更新和更级更新。

像素级更新步骤如下:

(1)以当前帧图像和背景图像作差分、二值化和形态学处理得到运动区域M1;使用同样的方法,前后帧差得到运动区域M2,然后计算两个运动区域的交集,即M=M1∩M2。

(2)得到运动区域后,定义 sTime(x,y,t)为像素点(x,y)在 t时刻没有产生连续变化的累积次数,若该为白点,则属于运动区域,sTime(x,y,t)清零;否则 sTime(x,y,t)加 1。

(3)当(x,y)点连续 k次没有发生变化时,更新当前像素值为背景点,否则保持(x,y)像素值不变。虽然背景是静止的,但考虑到环境变化等影响,对连续超过k次没有发生变化的背景像素点采用加权的当前背景图像与加权当前图像之和作为更新后的背景图像。

像素级更新方法结合了时间帧差法和背景差法,可以很好地适应场景中的微小变化,特别是光线的缓慢变化,基本消除了累积性误差,且在场景内存在物体移入与移出时能够及时有效地对背景进行更新。如果场景光线发生大范围突变、背景全局变化等问题,像素级更新就难以反映出这种全局变化,这时需要帧级图像更新。

帧级更新的步骤如下:

(1)若在当前帧与背景图像差分后二值图运动区域个数大于整体图像的一定百分比,则背景发生了大范围的变化。

(2)若连续多帧中这一比值依然很大,则按本文背景提取算法重新提取背景。

2 运动区域检测及阈值选择

得到背景图像,将当前图像与背景图像作差分,然后对差分作二值化,得到前景图像。图像的二值化涉及阈值选择问题,显然自适应的阈值比固定阈值要好,这是因为图像场景光照变化,很难找到一个固定的阈值适用于各种时间段。可以发现,当前帧图像没有运动物体时,对差分图像作直方图的统计,直方图分布在-255~255之间,该直方图分布服从高斯分布。没有运动物体和有运动物体的帧差分及对应的直方图分别如图1、图2所示。这个现象是合理的,因为图像的噪声是服从高斯分布的。可以根据该直方图计算出均值μ和方差σ,根据高斯分布,横轴区间(μ-2.58σ,μ+2.58σ)内的面积为99.73%。均值μ的选择是寻找直方图中最大值的位置,然后对均值μ附近区域计算方差σ。其中,均值反映了图像的整体亮度信息,方差反映了图像的噪声信息。根据均值和方差确定二值化的阈值,即:

其中,系数k相对固定,一个固定值可适用于各种场合,对二值化的结果影响并不大。

图1 没有运动物体的帧差分及对应的直方图

图2 有运动物体的帧差分及对应的直方图

当图像亮度发生整体变化时,直方图中峰值的位置也发生了变化,如图3所示。二值化阈值能够自适应地得到合理的阈值,从而得到较好的运动区域。

图3 图像整体变亮的情况

该方法中隐含了一个假定,那就是背景像素占整幅图像的大多数,如果前景像素占整幅图像的大多数,如图 4(a)、图 4(b)所示,那么均值就不是背景的均值,而是前景个数最多的直方图位置,这样计算出的均值和方差就是不正确的,尤其是在对图像感兴趣区域(ROI)进行视频分析时,如图 4(c)和图 4(d)所示。因为需要计算的是背景区域的均值和方差,但是这里对整幅图像进行了直方图统计,如果只对背景区域进行直方图统计,那么得到的均值和方差就是合理的。

图4 运动区域较大时二值化

这里可以利用背景更新中的计数器 sTime(x,y,t)中包含的信息,它描述了一个像素位置属于背景的持续帧数,如果该计数器的值很大,则表明该像素位置一直属于背景,那么判断该像素位置属于背景区域是比较可靠的。 这里假定 sTime(x,y,t)>t,则该像素属于真正的背景区域。这样就得到了的真正背景区域,然后用当前帧中真正的背景区域与背景图像对应的区域作差分,再对该差分进行直方图统计,如图4(e)所示,计算均值和方差,该均值和方差是属于背景区域的均值和方差,得到的阈值是正确的二值化阈值。最后再用该阈值对当前图像与背景差分作二值化,得到正确的运动区域,如图4(f)所示。

通过对差分图像直方图的分析发现,在没有运动物体的情况下,帧差直方图服从高斯分布,根据该高斯分布得到了自适应的二值化阈值。当运动区域占整幅图像的大部分面积时,通过只对背景区域进行差分直方图分析,得到了正确的阈值,进一步提高了阈值选择的鲁棒性。实验证明,本文提出的算法简单有效,很适合用于构建嵌入式实时视频分析系统。

[1]HU W, TAN T, WANG L, et al.A survey on visual surveillance of object motion and behaviors[J].Transactions on Systems, Man, and Cybernetics—Part C: Applications and Reviews,2004,34 (3):334-352.

[2]POPPE R.Vision-based human motion analysis: an overview[J].ComputerVisionandImageUnderstanding(CVIU),2007,108 (1-2):4-18.

[3]STAUER C,GRIMSON W.Learning patterns of activity using real-time tracking[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2000,22(8):747-757.

[4]Li L, Huang W, Gu I, et al.Foreground object detection fromvideoscontainingcomplexbackground[C].TheEleventhACM International Conference on Multimedia, New York,USA:ACM, 2003:2-10.

[5]KIM K,CHALIDABHONGSE T H,HARWOOD D,et al.Real-time foreground-background segmentation using codebook model[J].Real Time Imaging,2005,11(3):172-185.

[6]樊晓亮,杨晋吉.基于帧间差分的背景提取与更新算法[J].计算机工程,2011,37(22):159-161.

[7]祝东进,郭大伟,刘晓.概率论与数理统计[M].北京:国防工业出版社,2010.

猜你喜欢
直方图差分方差
RLW-KdV方程的紧致有限差分格式
符合差分隐私的流数据统计直方图发布
数列与差分
概率与统计(2)——离散型随机变量的期望与方差
方差越小越好?
计算方差用哪个公式
用直方图控制画面影调
方差生活秀
中考频数分布直方图题型展示
基于空间变换和直方图均衡的彩色图像增强方法