可视化背景提取和粒子滤波的行为检测研究

2013-09-08 10:18中,关兴,张宁,张
计算机工程与设计 2013年6期
关键词:滤波像素粒子

瞿 中,关 兴,张 宁,张 亢

(1.重庆邮电大学 计算机科学与技术学院,重庆400065;2.重庆邮电大学 移通学院,重庆401520)

0 引 言

对视频中运动目标的异常行为进行检测在很多场合下都有非常重要的应用,如安防监控、交通监控、智能小区等,其目的是通过对摄像头拍摄到的视频序列进行分析,判断在视频监控区域中的运动目标的行为是否发生异常。对目标行为的分析,以运动目标的检测和跟踪为主要研究内容。在目标检测过程中,实际视频场景的复杂性和光照变化等情况降低了目标检测算法的鲁棒性,比较常用的算法有光流法[1]、帧差法[2]、背景减除法[3]。光流法的计算量大,对噪声敏感,对硬件要求较高;帧差法虽然计算量小,但是对于运动目标的运动快慢敏感;背景减除法是现在目标检测的常用算法,鲁棒性强,适应场景中的噪声干扰,目标检测准确快捷。各个运动目标之间的交叉、遮挡也增加了目标跟踪的难度,卡尔曼滤波[4]跟踪算法在跟踪目标的过程中,要求运动目标的运动状态是线性的,并满足高斯模型,但是目标的实际运动都是随机非高斯的,粒子滤波[5]算法却能够很好地处理这种情况下的运动状态,并能够有效的跟踪目标。

本文采用背景减除算法中的可视化背景提取 (visual background extractor,ViBe)算法[6,7]来检测运动目标。背景减除法[8]首先要建立合适的背景模型,将当前视频帧与其进行对比来完成视频中运动目标的检测。该方法是当前运动目标检测方面比较流行的一种方法,效果明显优于其他算法,可以准确地检测到复杂场景中静止或非静止的目标。ViBe算法是背景减算法中的一种基于采样的方法,其算法简单,能够快速地建立背景模型,并且对于实际场景中噪声的敏感度更低,在建立背景模型的视频帧中允许场景中运动目标的存在,并能够适应光照的变化。

本文使用粒子滤波[5]目标跟踪算法,该算法可以实现多个相似目标的跟踪,有效处理跟踪过程中目标的交叉、遮挡等问题。最后,对检测和跟踪的目标的运动行为进行数学定义,判断其在检测过程中的运动异常情况。本文所设计的行为检测系统处理流程如图1所示。

图1 系统处理流程

实验是在主频2.61GHz,内存2G的惠普 HPCompaqdx2355台式计算机上完成的,以Visual Studio2008为实验平台,C++为程序开发语言,结合计算机开源视觉库OpenCV2.10完成的。实验中采用的测试视频为摄像机固定情况下的网络视频[9]和自拍视频。

1 可视化背景提取算法

1.1 像素模型初始化

在背景减除算法中,建立合适的背景模型是这类算法中必要的过程,过程的长短却各不相同。在Codebook算法[10]中,采用量化、聚类方法,对于每一个像素构造一个包含一个或多个码字的码本,样本的每个像素依据颜色失真度和亮度范围聚类到一个码字集。这样,该方法就需要在经过若干帧 (本文将实验中的学习视频帧设定前100帧)之后才能完成背景模型的生成,并且在建立背景模型的过程中出现运动的前景目标时,背景模型的建立会受到很大影响。然而,ViBe算法却能够快速完成背景模型的建立,并且能够适应视频场景中环境噪声及光照的变化带来的影响。

本文采用的ViBe算法在读取到视频序列中的第一帧时,利用每个像素的空间邻域信息来建立像素的初始模型,空间邻域的大小要能够包括足够数量的不同采样。在二维欧式颜色空间中,在像素x的八邻域N8(x)的空间内,随机的采样邻域内的像素值来填充模型。假设像素x的像素值为p(x),则像素x的采样集为

M(x)即为像素x建立的初始化模型,其中pn是在像素x的八邻域内采样得到的像素值,n是采样集中采样值的数量,在实验中取值为8。实验表明,Codebook算法的背景学习用了100帧的时间,而本文的算法在实验中只需要8帧的时间即能获得较好的背景。

1.2 像素模型的更新

像素模型建立之后,为了在后续视频帧中精确地检测到运动目标,要对像素模型进行实时的更新。该算法中使用的是随机更新策略,首先,要确定原模型中哪个像素值被新的采样值替换,即解决了哪个像素被保留在新的模型里面,保存多久的问题,提高了模型的时间相关性。一个像素采样由时刻t0到时刻t1存在的概率为

如果采用插入新的采样值p(x)来更新x的采样值,更新邻域N8(x)内随机选取的一个像素的采样集也要使用采样值p(x)来完成。

1.3 像素分类

在Codebook算法[10]中,检测阶段是以两个条件来判断当前像素为背景的,首先,当前像素值的某个码字的颜色失真小于检测阈值;其次,当前像素的亮度位于该码字的亮度范围之内。否则,该像素为前景。

本文算法是将背景减方法看作像素的分类过程。在该算法中,像素的初始背景模型建立之后,由下一帧开始,就可以利用背景模型对新的像素进行分类。首先,以当前像素值pt(x)为圆心,以R为半径定义一个范围SR(pt(x)),在这个范围内将像素值pt(x)与其采样集中的最靠近的像素值相比较。若范围SR(pt(x))与采样集M(x)的交集的基数H大于或等于给定的最小阈值Hmin(文中实验取值为2),则该像素就被认定为背景 (BG),否则为前景 (FG),如式 (3)所示

这种对像素的进行分类的方法,如图2所示,即实现了背景减除法。

1.4 目标检测结果及分析

实验中,分别对两个视频做了实验结果对比。实验中,取样范围半径R=20,最小阈值Hmin=2,背景模型中的像素采样数n=8。

图2 像素分类

图3是在室外自然光照环境下拍摄的视频,背景相对单一,只有远处晃动的树木造成较少的干扰,此种情况下,二者检测的目标基本完整,ViBe算法处理的结果对于存在的噪声敏感度更低。

图3 室外自拍视频实验结果

图4是网络视频数据库[9]中环境复杂的视频,其中存在近处晃动的树木、太阳光照的缓慢变化。图4(a)组图像为3种光照情况下的原始图像,在发生光照变化之前,二者都能够精确检测到完整的运动目标,并且都对镜头近处的晃动的树木不敏感,不能造成对检测效果的影响;随着时间的推移,光照的强度慢慢的变化,原本调试好的Codebook算法的阈值及训练好的背景模型就不能够适应这种光照带来的变化了,虽然能够检测到远处的目标,但是图像中远处房屋的光照变化却给检测带来很大的影响,而ViBe算法则能够使原本已经调试好的阈值不发生变化,背景模型的建立受光照影响也较小,远处房屋的光照变化也没有影响运动目标的检测,并且仍然能够检测到远处的较小目标,如图4(b)和图4(c)组图像的第二幅图;当光照达到最强时,Codebook算法虽然能够检测到目标,但是场景中的由于光照变化给远处背景中的光照变化带来的噪声已经对前景检测造成了很大的影响,对后面的运动目标跟踪的效果造成很大干扰,而ViBe算法仍然能够检测到场景中的运动目标,并且受光照变化的噪声影响很小,对背景噪声和光照变化有较好的鲁棒性。

2 结合目标检测的粒子滤波跟踪算法

图4 网络视频实验结果

传统粒子滤波算法[11]是通过随机选取粒子来保持粒子的多样性,大量的计算都浪费在无效的粒子上,增加了工作量,降低了程序的处理效率。而采用重采样可以在一定程度上解决粒子滤波算法在处理过程中的粒子退化的问题。并且由于重采样是根据像素之间相似度的权值大小来进行的,导致采样以后的粒子由大量重复粒子构成的,这样,粒子集就失去了粒子的多样性。本文将粒子滤波应用在运动目标的范围内,减少了浪费在无用粒子的计算量,提高了程序处理的效率,降低了粒子退化问题,增强了粒子的多样性,使运动目标的跟踪更准确,并且能够有效解决实际场景中运动目标在运动过程中交叉、遮挡问题。这对后面判断目标行为是否发生异常也是十分重要的。

2.1 算法步骤

(1)采用ViBe算法检测运动目标,经过阴影消除等后处理得到准确的目标范围。

(2)初始化粒子集。求得目标范围的HSV颜色直方图{q},通过序列重要性采样创建初始粒子集

(3)状态转移。将 (2)中得到的初始化粒子集中的粒子输入状态转移方程,得到粒子{,并计算颜色直方图。

(4)权重归一化。将得到的权重归一化为=。

(5)预测目标的新位置。粒子集中权值最大的粒子的位置为目标新位置。

(6)重采样。

1)目标交叉判断。不交叉时则进行重采样,否则,停止重采样。

2)当进行重采样。

(7)读取下一帧。

2.2 跟踪结果及分析

此实验中设定粒子数为100,对比了目标由分开到交叉,再到分开的过程,实验对比结果如图5所示。图5(a)组图像是原始粒子滤波跟踪的实验结果,可以看出,原始粒子滤波的粒子是比较分散的,对运动目标的跟踪不稳定;图5(b)组图像是本文改进了之后的粒子滤波跟踪结果,粒子紧紧围绕在检测到的运动目标周围,跟踪效果稳定;图5(c)组图像是隐藏了粒子后的跟踪结果。经过对比可以看出,本文改进之后的粒子滤波能够将粒子围绕在目标范围的周围,状态稳定,所有粒子并不随着时间而发生发散现象,减少了粒子的发散和退化,能够在目标交叉、遮挡时准确的跟踪目标。同样,图6是实际场景中原始粒子滤波、改进粒子滤波对运动目标 (车辆)的跟踪效果图。

3 目标运动行为检测

对于运动目标的异常行为的定义和检测,国内外的学者有不同的方法,得到的效果也不相同。如赵海勇等[12]以视频中运动的人体轮廓为特征,采用模板匹配方法对人体行为进行定义和识别。印勇等[13]将人体行为动作近似为周期运动的对象,将人的行为序列分解为一系列的近似运动周期单元,并提取变换特征,来判断人体运动是否异常。

本文是将运动目标运动方向的方向向量和设定的正方向的方向向量之间的夹角作为研究对象。首先,通过鼠标设定运动的正方向,即在视频帧所在的坐标系内,选取起点S(xs,ys)和终点E(xe,ye),作为正方向的方向向量= (xe-xs,ye-ys)。在跟踪的过程中,以目标的标识框的中心点H(x,y)作为跟踪对象,每三帧记录一次中心点的坐标,每组记录5次。假设中心点的当前坐标为 (xn,yn),第一 次 记 录 的 坐 标 为 (xn+3,yn+3), 第 二 次 为 (xn+3×2,yn+3×2),以此 得 到 第 五 次 记 录 的 坐 标 为 (xn+3×5,yn+3×5),此时即可计算出当前运动目标的运动方向,用向量表示即为= (xn+3×5-xn,yn+3×5-yn),计算和之间的夹角满足式 (4)

此实验在视频场景中设定固定区域 (红色矩形框),假设自左向右为正方向,目标自右向左逆向运动时,系统及时报警 (跟踪目标的最小外接矩形框红色为正常,白色为报警)。如图7所示,当行人在固定区域中行走,方向和正方向相同时,即自左向右,跟踪矩形框正常 (红色),当行人的运动方向和正方向相反时,发生报警,跟踪矩形框变成白色。当车辆以和正方向相同的方向行驶进入固定区域时,跟踪矩形框正常 (红色),当反方向行驶进入固定区域时,则发生报警,跟踪矩形框变成白色。

图7 逆向运动检测

4 结束语

本文根据实际运动目标所处场景中的噪声和室外光照变化的对于目标检测效果的影响,以及在实际运动中运动目标之间的交叉、遮挡等对跟踪效果的影响,提出一种新的运动目标行为检测方法,即将可视化背景提取 (ViBe)算法和粒子滤波相结合的方法。实验表明,本文采用的ViBe算法能够快速建立背景模型,计算简单,能够精确检测复杂视频场景中的运动目标;将其和粒子滤波跟踪算法相结合,能够准确跟踪运动目标,判断运动目标的交叉、遮挡,实时跟踪运动目标,并对检测运动目标的运动行为的异常情况非常有效。

[1]SONG Xiaojing,Seneviratne L D,Althoefer K A.Kalman filter integrated optical flow method for velocity sensing of mobile ro-bots [J].IEEE/ASME Transactions on Mechatronics,2010,16 (3):551-563.

[2]YIN Hongpeng,CHAI Yi,YANG Simon X.Fast-moving target tracking based on mean shift and frame-differece methods[J].Systems Engineering and Electronics,2011,22 (4):587-592.

[3]Jae Kyu Suhr,Ho Gi Jung,Gen Li,et al.Mixture of gaussiansbased background subtraction for bayer-pattern image sequences[J].IEEE Transactions on Circuits and Systems for Video Technology,2011,21 (3):365-370.

[4]Aydogmus O,Talu M F.Comparison of extended kalman and particle filter based sensorless speed control [J].IEEE Transactions on Instrumentation and Measurement,2012,61 (2):402-410.

[5]Sherrah J,Ristic B,Redding N J.Particle filter to track multiple people for visual surveillance [J].Computer Vision,IET,2011,5 (4):192-200.

[6]Olivier Barnich,Marc Van Droogenbroeck.VIBE:A powerful random technique to estimate the background in video sequences[C]//IEEE International Conference on Acoustics,Speech and Signal Processing,2009:945-948.

[7]Olivier Barnich,Marc Van Droogenbroeck.ViBe:A universal background subtraction algorithm for video sequences [J].IEEE Transactions on Image Processing,2011,20 (6):1709-1724.

[8]Sen Ching S Cheung,Chandrika Kamath.Robust techniques for background subtraction in urban traffic video [C]//Proceedings of International Society for Optical Engineering,Visual Communications and Image Processing,2004:881-892.

[9]Lucia Maddalena,Alfredo Petrosino.11th international conference on advanced concepts for intelligent vision systems [OL].ftp://ftp.pets.reading.ac.uk/pub/PETS2001/,2009.

[10]Kim K,Chalidabhongse T H,Harwood D,et al.Real-time foreground background segmentation using codebook model[J].Real time Imaging,2005,11(3):167-256.

[11]HAN Hua,DING Yongsheng,HAO Kuangrong.A new immune particle filter algorithm for tracking a moving target[C]//6th International Conference on Natural Computation,2010,10 (6):3248-3252.

[12]ZHAO Haiyong,LIU Zhijing,ZHANG Hao.Human action recognition using the image cintour [J].Journal of Optoelectronics·Laser,2010,21 (10):1547-1551 (in Chinese).[赵海勇,刘志镜,张浩.基于轮廓特征的人体行为识别 [J].光电子·激光,2010,21 (10):1547-1551.]

[13]YIN Yong,WANG Jiandong,JIN Xiangang.Human abnormal activity recognition for approximate period motion.Computer Engineering and Applications,2010,46(26):158-161 (in Chinese).[印勇,王建东,金宪刚.近似周期运动的人体异常行为识别[J].计算机工程与应用,2010,46 (26):158-161.]

猜你喜欢
滤波像素粒子
像素前线之“幻影”2000
碘-125粒子调控微小RNA-193b-5p抑制胃癌的增殖和侵袭
基于膜计算粒子群优化的FastSLAM算法改进
“像素”仙人掌
Conduit necrosis following esophagectomy:An up-to-date literature review
基于粒子群优化极点配置的空燃比输出反馈控制
ÉVOLUTIONDIGAE Style de vie tactile
高像素不是全部
一种GMPHD滤波改进算法及仿真研究
基于自适应Kalman滤波的改进PSO算法