贾建英,董安国
(长安大学 理学院,陕西 西安710064)
目前,运动目标检测主要依托于3 种常用的方法:光流法[1,2]、帧差法[3,4]和背景减除法[5,6]。光流法因其算法复杂、抗噪性差,若没有特殊硬件装置,则无法实时地提取运动目标;帧差法虽不能完整地提取目标信息,但能很好地适应动态环境、光线变化对提取结果影响较小;背景减除法是当前常用的方法之一,但其对外部条件变化过于敏感,易使提取的目标出现部分空洞。王欢[7]提出了在对运动目标进行跟踪时可利用运动差分直方图作为衡量目标运动特征的依据,而背景区域和目标区域对应的运动差分直方图分布是不同的。据此,提出了一种逐次分块差分直方图算法,用于对运动目标的提取,由于背景块和目标块对应的差分直方图分布不同,可以通过逐步去除背景提取运动目标,这不仅能准确完整地提取出运动目标,而且还能够提高算法速度。
视频图像序列在拍摄时,由于受到各种随机干扰因素的影响,图像中时常伴随着大量的噪声,不能直接用于目标提取。需要对图像进行预处理,使本文算法的抗干扰性能更好。因此,运用二维离散小波变换的快速算法Mallat塔式分解[8]先对视频图像序列中随机取出的相邻两帧图像分别进行二维离散小波分解,得到各自的低频图像,经过预处理得到的低频图像可用于运动目标提取,不但能滤掉图像中的高频成分,消除椒盐、高斯等噪声对运动目标提取的干扰,也能在一定程度上缩短算法运算时间。
图1 (a)、(b)为一段自拍视频中随机取出的两帧相邻图像,图2 (a)、(b)分别是图1 (a)、(b)Mallat塔式分解结果,其中图2 (a)、 (b)左上角为Mallat塔式分解后的低频图像。
图1 从一段自拍视频中取出的两帧相邻图像
图2 Mallat塔式分解结束
假设在视频图像序列中随机取出两帧相邻图像为f1和f2,对f1和f2作差分运算得到差分图像f,再求差分图像f 的直方图P(rk),求得的直方图P(rk)定义为运动差分直方图。P(rk)的计算公式如下
式中:rk——第k级灰度,nk——图像中灰度为rk的像素个数,n——图像中像素的总数,k=0,1,…,L-1(L-1是图像灰度级的最大值)。
图3为图1 (a)与 (b)的差分图像,图4为运动差分直方图 (水平轴为对应灰度级值rk,纵轴对应于P(rk)的值)。
图3 差分图像
图4 运动差分直方图
分析相邻两帧的差分图像,因拍摄视频时摄像机是固定的,视频图像序列中运动目标是车辆,静止不动的是背景,若将差分图像f 进行分块,背景区域块所对应的差分直方图中灰度级分布极不均匀,0 灰度级处集中了几乎所有像素,而其它灰度级上基本没有像素;而包含目标区域块所对应的差分直方图中灰度级分布只是不太均匀,除0灰度级外,其余各个灰度级上都含有部分像素。为了更加准确的说明运动差分图像直方图这一特点,通过图5中A、B、C这3个块进行了验证。
图5 对差分图像进行分块
图5是对差分图像图3进行分块得到的,选图5中的3块分别记作A、B、C,其中A 块中只含背景,B 块中既含目标又含背景,C块中只含目标。只含背景区域块A 所对应的运动差分直方图如图6 (a)所示,从图6 可以看出,对于只含背景区域的块来说,几乎所有像素均集中在0灰度级,其它灰度级上基本没有像素。图6 (b)、(c)分别是块B、C对应的运动差分直方图,可以看出对于包含车辆目标的块,其对应的运动差分直方图中灰度级分布只是不太均匀,各个灰度级上都含有部分像素。
基于上述分析,针对视频图像序列中运动目标的提取,去除背景只需看相邻帧的差分图像分块后每块所对应的运动差分直方图中除0灰度级外,其余各个灰度级上是否基本没有像素,因此本文提出了逐次分块差分直方图对运动目标的提取算法。
图6 运动差分直方图
由上面运动差分直方图知,对于视频图像序列中两帧相邻图像在提取运动目标时先将图像进行分块处理,如何分块[9]成了问题,为了准确地提取运动目标,块的大小必须适中。一般情况下,分块过小,块中包含的元素过少,每小块的灰度值很接近,易将包含车辆目标的某块错误的归为背景区域,造成目标空洞,且算法运算量过大。因此,本文采用较大的块进行分块处理。
先将两帧相邻图像以及它们的差分图像均划分为32*32像素大小的块 (若图像的宽或高不能被32整除,则将图像以0像素进行下边界或右边界延拓,因为0像素的存在并不影响利用运动差分直方图去除背景),求出每块所对应的运动差分直方图,选取合适的阈值T,若某块对应的运动差分直方图中除0 灰度级外,其它灰度级上也有像素,且包含像素的其它灰度级的个数大于阈值T,说明当前块中包含目标,则将该块归为目标区域;否则将该块归为背景区域,并令该块的像素全变为0。如图7 (a)所示,图7(a)为将图像分为每小块大小为32*32像素,利用差分直方图对图1 (b)去除背景的结果。此时已去除大部分背景,目标周围依然还存在部分背景,因而再对上面去除背景的结果以及对应的差分图像进一步分块,划分为16*16像素大小的块,可依据上述规则利用差分直方图去除背景,结果如图7 (b)所示。因目标周围的背景仍较多,以2的幂次继续划分,每块大小分为8*8、4*4像素,结果分别如图7 (c)、(d)。由图7 (d)看出,图像中背景成分几乎没有,由前面如何确定分块大小的原则知,不宜继续进行划分,否则分块太小造成了目标漏洞,而图7 (d)显示了利用逐次分块差分直方图提取到的目标是准确且完整的。
图7 逐次分块差分直方图去除背影过程
本文算法具体步骤如下:
(1)将视频图像序列中随机取出的两帧相邻图像运用Mallat塔式分解进行图像预处理,得到各自的低频图像;
(2)利用上步得到的两帧低频图像求得它们的差分图像,将两帧低频图像以及差分图像均划分为大小适中的块;
(3)求得每块所对应的差分直方图,根据目标区域块和背景区域块运动差分直方图分布不同这一特点,选取适当的阈值,分析判断每块对应的差分直方图的分布情况,除0灰度级外,有像素的其它灰度级的个数是否大于阈值,若大于,则将该块归为目标区域,否则,该块归为背景区域,并令该块的像素值全为0;
(4)对上步去除背景的结果继续进行分半划分,重复第 (3)~ (4),直至每小块的像素大小划分为4*4。
下面对本文算法进行数值仿真实验。实验计算机CPU为Intel Core i5-3210M2.50GHZ,操作系统为Windows 7,仿真软件为MATLAB 7.1。
图8是利用不同算法提取视频序列图像图1 (b)中运动目标的实验结果。图8 (a)是采用本文算法提取的结果,本文算法在树枝晃动、光照变化等复杂背景情况下,能有效地避免运动目标内空洞的出现,提取的运动目标是完整且准确的。图8 (b)是采用帧差法[4]提取的结果,因目标上部分像素较为相近,前后帧直接作差,易使目标中这部分像素被减为0 而当作背景,造成了目标上出现空洞。图8 (c)是采用背景减除的中值模型法[10]提取的结果,该算法将背景模型中背景每一像素值取为在视频序列图像中所有帧同一位置像素值的中位数,再将背景模型与所要提取的帧作差,而目标中像素在背景模型和提取的帧中像素值一旦相同,就造成了提取到的目标出现空洞,又因要在树枝晃动、光照变化等复杂背景情况下提取目标,更易使提取到的目标中出现大量背景成分。图8 (d)是采用高斯混合模型法[11]提取的结果,因要在树枝晃动、光照变化等复杂背景情况下提取目标,背景模型不能得到很好的更新,使得提取结果受到严重影响,目标中出现了大量空洞。
图8 运动目标提取算法比较
为更好地说明本文算法提取运动目标的效果,下面列举了其它几种自拍视频序列图像中运动目标在不同算法下的提取结果,如图9、图10所示。
图9中第一行的3幅图为自拍视频序列中待提取目标的一帧图像;第二行的3幅图为本文算法提取运动目标的结果;图10中第一行的3幅图为背景减除的中值模型法提取运动目标的结果;第二行的3幅图为高斯混合模型法[12]提取运动目标的结果。
图9 本文算法目标提取结果
图10 背景减除的中值模型法和高斯混合模型法目标提取结果
到目前为止还不存在一种算法就能解决所有类型运动目标提取,但我们还是能根据实际情况对现有的算法实行改进,让它更符合我们要求中最关注的情况。本文利用差分直方图在背景区域块与目标区域块的分布不同这一特点,对相邻两帧和差分图像进行逐次分块,分析每块的差分直方图分布情况以逐步去除背景,最终在视频图像序列中提取到完整的运动目标。实验也表明了在解决视频图像序列中车辆运动目标的提取本文算法具有较好的检测性,但如何在更复杂的背景 (如背景遮挡)下准确且完整地提取运动目标将为下一步研究目标。
[1]Yin Jianqin,Han Yanbin,Hou Wendi,et al.Detection of the mobile object with camouflage color under dynamic background based on optical flow [J].Procedia Engineering,2011,15:2201-2205.
[2]WU Zhenjie,MAO Xiaobo.Improved optical flow estimation algorithm based on frame difference [J].Computer Engineering and Applications,2013,49 (18):200-203 (in Chinese).[吴振杰,毛晓波.一种改进的帧间差光流场算法 [J].计算机工程与应用,2013,49 (18):200-203.]
[3]Zhu Man,Sun Shuifa,Han Shuheng,et al.Comparison of moving object detection algorithms [C]//World Automation Congress,2012.
[4]HAO Haogang,CHEN Jiaqi.Moving object detection algorithm based on five frame difference and background difference[J].Computer Engineering,2012,38 (4):146-148 (in Chinese).[郝毫刚,陈家琪.基于五帧差分和背景差分的运动目标检测算法 [J].计算机工程,2012,38 (4):146-148.]
[5]Yang Jingjing,Dai Yaping.A modified method of vehicle extraction based on background subtraction [C]//IEEE International Conference on Fuzzy Systems,2012.
[6]Zhang Ruolin,Ding Jian.Object tracking and detecting based on adaptive background subtraction [J].Procedia Engineering,2012,29:1351-1355.
[7]WANG Huan.Research on moving object detection and tracking techniques [D].Nanjing:Nanjing University of Science and Technology,2009 (in Chinese).[王欢.运动目标检测与跟踪技术研究 [D].南京:南京理工大学,2009.]
[8]LIU Wei,LI Chunqing,ZHANG Yanfen.Prediction of COD time series based on wavelet and LS-SVM [J].Microelectronics and Computer,2013,30 (4):26-29 (in Chinese). [刘伟,李春青,张艳芬.基于小波分解和最小二乘支持向量机的COD预测 [J].微电子学与计算机,2013,30 (4):26-29.]
[9]TIAN Hongjin,ZHAN Yinwei.Moving object detection based on adaptive image blocking and SSIMl[J].Computer Science,2014,41 (2):119-122 (in Chinese). [田洪金,战荫伟.基于自适应分块和SSIM 的运动目标检测 [J].计算机科学,2014,41 (2):119-122.]
[10]YANG Zhibang,XU Cheng.Shadow elimination algorithm for foreground based on statistical model[J].Journal of Chinese Computer Systems,2013,34 (2):423-428 (in Chinese).[杨志邦,徐成.一种基于统计模型的前景阴影消除算法 [J].小型微型计算机系统,2013,34 (2):423-428.]
[11]Xie Yong.Improved gaussian mixture model in video motion detection [J].Journal of Multimedia,2013,8 (5):527-533.
[12]REN Keqiang,ZHANG Panhua,XIE Bin.Adaptive learning algorithm for moving target detection based on Gaussian mixture model[J].Computer Engineering and Design,2014,35 (3):968-974 (in Chinese). [任克强,张盼华,谢斌.自适应学习的混合高斯模型运动目标检测算法 [J].计算机工程,2014,35 (3):968-974.]