APP下载

基于粒子流和能量模型的异常行为检测*

2014-09-06汪双承管业鹏

电子器件 2014年6期
关键词:光流流场幅值

汪双承,管业鹏

(上海大学通信与信息工程学院,上海 200444)



基于粒子流和能量模型的异常行为检测*

汪双承,管业鹏*

(上海大学通信与信息工程学院,上海 200444)

提出了一种基于单目摄像机的异常行为检测方法,可有效检测群聚群散事件。针对传统稠密光流法耗时大,抗噪声性差,对光照变化敏感,而稀疏光流又不能提供丰富运动信息的不足,提出采用二值前景为掩码计算局部稠密光流,既剔除了干扰,又减少耗时。针对光流仅能反应物体瞬时运动信息,不能反应运动的累积效应,不能描述物体间的相互影响,提出建立以光流为底层特征的粒子流场,以稳定地进行特征提取。最后,通过计算粒子幅值直方图的能量来进行异常行为的检测。搭建了实验监控系统,不同场景的实验表明,该方法实时性好,鲁棒。

异常行为;群聚群散;粒子流;能量;光流

智能视频分析与监控是多学科交叉的前沿研究领域,也是当前国际上最被关注的研究热点。运动对象的异常行为检测是智能监控技术的关键[1]。

针对监控场景能够及时准确地检测出运动对象的异常行为是非常重要的。传统的异常行为检测方法主要可分为两类[2]:一是基于运动对象的跟踪,不断检测运动对象或团块的运动轨迹,提取运动(包括空间位置,运动速度等)特征,根据运动状态进行检测。算法依赖于对运动对象的跟踪,在实际场景下存在多目标遮挡,较难实现准确的运动对象跟踪。二是基于学习训练,针对特定场景,预先采集运动对象视频序列,提取运动特征,建立学习样本库,训练针对特定运动行为的分类器。利用训练好的分类器针对未知视频序列检测异常行为。此类方法具有一定的局限性,运动对象异常行为样本较难采集。

近年来提出的社会力模型[3](Social Force Model)、行为熵模型[4](Behavior Entropy Model)、能量模型[5](Energy Model)以及借用流体力学和热力学概念建立的相应模型[1]是目前的研究热点。

紧跟学术研究前沿,本文提出了一种非监督的基于粒子流和能量模型的异常行为检测,可有效地检测群聚群散事件。算法利用二值前景为掩码计算局部稠密光流,既剔除了干扰,又减少耗时,解决了稠密光流法算法抗噪声性差,耗时大,而稀疏光流又不能提供丰富的运动信息的不足[6]。借鉴拉格朗日粒子场,建立了粒子流场,能够较稳定快速地进行特征提取。搭建了实验监控系统,实验表明,该方法实时,鲁棒,有一定的实用价值。

1 本文算法

如图1,算法主要分以下几个部分:(1)运动目标提取。以高斯背景更新并进行膨胀得到二值前景掩码。(2)局部光流场的计算。对以掩码得到的前景图像计算稠密局部光流场;同时对二值前景掩码进行腐蚀得到光流场掩码,以此除去前景边缘极大值的错误光流。(3)粒子流场建立。由上到下在视频帧上均匀地布满粒子点,当目标运动时,根据粒子点周围的光流场值,并结合社会力模型得到粒子运动的轨迹,并每隔15帧重新初始化粒子点。(4)能量模型建立。由粒子点运动轨迹,得到每15帧粒子的运动速度和方向,并建立粒子幅值直方图。计算粒子直方图的能量来进行异常行为的检测。

图1 本文算法

1.1 运动对象检测

运动对象检测的目的是从图像中得到比较完整的目标(前景)的运动区域。常见的方法有[7]:时域差分法,光流场法,背景减除法。时域差分法对动态变化场景非常有效,但一般不能很好地提取出运动目标的所有特征象素,造成空洞现象;光流场法能在摄像头运动时有效的检测运动目标,然而,这种方法计算很复杂,抗噪声性差;简单的背景减除法能得到运动物体很全面的特征数据,但却对由于光线和其他外部的动态场景变化非常敏感。本文采用Zivkovic Z[8]提出的混合高斯背景更新算法,即Opencv中的BackgroundSubtractorMOG2算法,实现运动对象的检测,并对更新得到的前景进行形态学滤波,开运算和闭运算,以得到较完整的前景。实验验证,该算法具有良好的检测效果。

实际环境中背景的复杂性,例如树叶的抖动、阳光、灯光等,在背景更新所得的前景图中会有些噪点。本文采用边界跟踪法[7],进行噪声的除去。即对更新得到的二值前景图中轮廓进行边界跟踪,将周长小于20的轮廓去除掉。

1.2 局部光流场的计算

所谓光流[9]指图像中灰度模式运动速度。光流计算进行像素级运动估计,主要基于亮度恒常性假设,若I(x,y,t)是在像素(x,y)和时间t的图像强度,则有:

(1)

可以推出光流约束方程:

IXu+Iyv+It=0

(2)

光流分量

(3)

光流约束方程式(2)含两个未知量,可见光流问题是个病态问题。求解光流(u,v)尚需加上其他的约束条件,HS方法[9]假定光流在整个图像上的变化平滑,可设光流速度的梯度幅度的平方(∂μ/∂x)2+(∂μ/∂y)2和(∂v/∂x)2+(∂v/∂y)2最小。可以得到(u,v)的递归解:

(4)

(5)

只要迭代次数k足够大,就可以得到比较稳定的光流矢量(uk+1,vk+1)。所以只要有两个需要自行确定的参数:正则系数和领域尺寸。

以上就是经典的HS稠密光流法原理[9]。本文采用GunnarFarneback[10]于2003年所提出的在抗噪声性和计算速度上更优秀的光流算法。

全局稠密光流计算量大,文献[11]中采用局部光流场,文中方法建立在多目标的跟踪基础之上,但运动目标重叠遮挡使得这一方法的有效性大大降低。同时,我们注意的背景图像的光流计算不仅没有什么信息价值,而且耗时严重;同时,光流抗噪声性差,对树叶抖动,光照敏感,背景光流噪声会干扰运动光流场。而稀疏光流,只计算几个角点的光流值,不足以提供丰富的运动信息。为达到剔除干扰,也加快计算速度的目的,提出采用二值前景为掩码只计算局部运动区域稠密光流场。因为矩阵零元素越多,矩阵越稀疏,运算越快。同时,仅对关注区域运动前景部分光流进行粒子统计和计算,避免了对全局光流场的统计,这样也减少了计算量。过程如图2所示。

图2 局部光流场的计算

首先利用前面得到的二值前景,如图2(a),并对其进行3×3核的膨胀,如图2(b),以此为掩码得到前景图像,如图2(c),进行稠密光流场(Gunnar Farneback光流法[10])计算。很显然,由于前景图像和背景在边缘存在突变,这会造成运动前景边缘处有极大光流值的存在,而这些是需要剔除的,如图2(d)。为此,在膨胀得到图2(b)的基础上,进行5×5核的腐蚀,得到光流场二值掩码,如图2(e)。将图2(d)与图2(e)相与得到真实的光流场如图2(f)。在光流场图2(d)和2(f)中,不同颜色表示不同的运动方向,深浅表示运动的快慢,即光流的大小。

1.3 粒子流场的建立

光流抗噪声性差,对光照变化比较敏感,光流仅反应物体瞬时点的运动信息,不能反应运动的积累效应,不能描述物体间的相互影响[8]。拉格朗日粒子动态系统中粒子的流动可反映视频移动对象的运动状态,尤其是异常行为的流体特征变化[12]。因此结合社会力模型,借鉴拉格朗日粒子模型,提出建立了本文的粒子流场,粒子流较光流可得到较稳定的运动轨迹及其运动趋势,从而进行运动对象异常行为的检测。

首先,对视频进行网格划分(这里采用8×8像素的网格),在网格节点并由上到下在均匀地布满粒子点,如图3(a)。由于本算法涉及的场景相对固定,摄像机离人群的距离相对较远。在计算量和运动信息的丰富性上做了和折中,根据多次实验,选取8×8像素为网格大小。

当目标运动时,结合社会力模型,根据粒子点周围的光流场值跟新粒子位置,从而得到运动轨迹,方向和速度信息,如图2(b),红色线段表示粒子流运动轨迹。考虑到一个完整的行为是由若干帧的视频片段组成的,而一般的摄像头在25帧/s或30帧/s,所以这里每隔15帧重新初始化粒子点位置。

图3 粒子流场

社会力模型认为群体行为是个体之间相互作用的结果。近年来,Mehran[3]等人将社会力模型应用于视频中异常行为的检测,用社会力模型计算每个采样点受到的相互作用力,得到图像上的社会力场,机器学习以判别视频中的异常行为。为了描述粒子受到周围点作用以及上下文影响,借鉴Mehran[3]的做法,本文根据粒子点周围的光流场值更新粒子位置:即粒子下一帧的位置为当前帧位置加上下一帧该粒子的值。粒子值具体算法如下:

图4 双线性插值计算粒子值

首先,对光流场进行一个3×3的高斯滤波,得到平均光流场。然后,在空间上,粒子点值由所在区域光流值双线性插值[13]而来,以描述周围粒子点的相互作用。如图4,粒子点A在初始位置,值由图中绿色区域的光流场双线性插值而来,区域跟随粒子A运动。本文设x和y都为8个像素。粒子点的运动轨迹如图3(b)所示。

1.4 能量模型的建立

群聚群散是一种典型的异常行为[14]。这类异常行为特征是当人群突然散开时,运动幅值相对于正常行为会有一个较大的变化。也就是说这类异常行为,异常发生时运动能量会有一个显著的变化。由此,引入粒子流的能量模型。

图5 粒子幅值

由此,得到粒子流的幅值直方图,每15帧跟新一次。

根据得到的幅值数据信息,实验设定幅值统计范围为0到36。平均分成12组,并从低值到高值依次标记为1到12,竖坐标为落入这个组的粒子数。组数的选择是根据多次实验取得的一个较好值,如果组数取的过小,则不能充分量化能量,组数过大也不能明显提高检测率,反而增加了后续计算量。由于幅值是每隔15帧更新一次,一般来说对于一个帧率固定的摄像机来说,15帧的时间是固定的,这里我们简单地设每15帧为一个单位时间,那么粒子幅值和速度在数值上是相等的。同时,假设粒子的质量都为1。

物体由于运动而具有的能叫动能(KineticEnergy)[15]。根据动能定理,其计算方法如下:

(6)

其中Ek代表动能,m代表物体的质量,v代表物体的速度。

那么,定义粒子幅值直方图的能量为:

(7)

其中E为粒子幅值直方图能量,i为组号从1到12,ki为每个组的值。实时监测E的变化,当E连续3次大于阈值Eth(根据实验,设为10 000),即判定为异常;判定异常后,若E连续3次小于阈值Eth,则判定行为恢复正常,以提高检测的稳定性。

2 实验结果和分析

为验证算法的有效性,搭建如图6所示实验监控系统。

图6 实验系统图

在该监控系统中,算法由C++编写,使用Opencv视觉库[16];PC处理机硬件配置为:CPU为Inteli3,主频为3.3GHz,4G内存,Windows7操作系统;监控摄像头分辨率为320pixel×240pixel的usb摄像头。当系统检测到异常行为发生时,电脑发信号触发继电器开关从而声光报警器会播放报警音和闪烁报警灯。监视器供监控人员观察。应用该系统,以从UMN人体行为数据库中提取相关的视频序列和实际场景进行测试,实验表明该系统实时,有效,且适用于低分辨率情况。

图7是序列1的实验效果图和相关数据。图8是序列2的实验效果图和相关数据。由图7和图8可得,正常行为时粒子直方图能量值为5000以下,处于较小值,当人群突然散开时,其值明显增大。说明,能很好的区分正常和异常情况。在多次实验的基础上,算法设阈值Eth为10 000。

同时,为了更好的评估本算法的性能,本文同传统全局稠密光流法[3]对比检测性能和运算速率。即先对整幅图进行稠密光流计算得到光流场,直接对光流场进行能量建模,计算光流幅值直方图能量,进行异常检测。

图7 序列1实验图

图8 序列2实验图

检测结果正确检测率和错误检测率对比算法如下:

TPR=TP/(TP+FN)

(8)

FPR=FP/(TP+FP)

(9)

其中,TPR表示正警率,TP表示正确检测异常行为的帧数,FN为在数据库中异常行为真值帧中漏检的帧数,FPR表示为虚警率,FP为错误检测为异常的帧数。表1表明,相对于光流方法[3],本文方法能更有效地检测出异常行为,且误警率低。

表1 检测率对比 单位:ms

为对比算法的耗时,采用搭建的实验平台进行实验。耗时如表2所示,可见本文方法大大减少了耗时,使得算法实时性好,能到达到实时应用的要求。

表2 视频每帧平均(ms)视频320×240

3 总结

本文提出了一种建立在粒子流基础上,结合社会力模型使用动能模型的异常行为检测方法。本文使用前景掩码,达到了计算局部稠密光流的目的,不需要对目标进行跟踪和有效分隔,算法不仅鲁棒且场景适应性强。相对传统全局光流法,有效减少耗时。本文以光流为基础,建立粒子流场,使用社会力模型引入物体间的相互作用,提高了检测率,也减小了计算量。以搭建的实验监控系统为平台进行实验,表明本文通过计算粒子幅值直方图能量能够实时有效地检测群聚群散行为,具有一定的实用意义。

当然本文也存在一些不足。相关参数的自适应获得等方面还有大量工作需要进行。后续需要引入粒子场的方向特征,以进一步完善能量模型或者寻找更合适的模型,得到更好的效果。后续在实际应用中可以引入GPU技术,进一步加快处理速度,Opencv中已经有基于Cuda的光流计算和背景跟新[16]。

[1]Popoola O P,Wang K. Video-Based Abnormal Human Behavior Recognition—A Review[J]. Systems,Man,and Cybernetics—Part C:Applications And Reviews,2012,42(6):65-878.

[2]Ying L,Jiulun F. Review of Intelligent Video Surveillance with Single Camera[C]//4th International Conference on Machine Vision(ICMV)—Machine Vision,Image Processing and Pattern Analysis,2011,8349:23-25.

[3]Oyama A,Shah M. Abnormal Crowd Behavior Detection Using Social Force Model[J]. Computer Visionand Pattern Recognition,2009,1(4):935-942.

[4]Haidar Sharif M,Djeraba C. An Entropy Approach for Abnormal Activities Detection in Video Streams[J]. Pattern Recognition,2012,45(7):2543-2561.

[5]Xiong G,Cheng J,Wu X. An Energy Model Approach to People Counting for Abnormal Crowd Behavior Detection[J]. Neurocomputing,2012,83:121-135.

[6]沈美丽. 基于角点检测的光流目标跟踪算法[J]. 电子器件,2007,30(4):1397-1399.

[7]张显亭. 一种改进的复杂场景运动目标检测算法[J]. 传感技术学报,2007,22(8):1146-1149.

[8]Zivkovic Z. Improved Adaptive Gaussian Mixture Model for Background Subtraction[C]//Proceedings of the 17th Internatio1al Conference on Pattern Recognition,2004:28-31.

[9]Simon B,Daniel S. A Database and Evaluation Methodology for Optical Flow[J]. International Journal of Computer Vision. March 2011,92(1):1-31.

[10]Gunnar F. Two-Frame Motion Estimation Based on Polynomial Expansion[J]. Lecture Notes in Computer Science,2003,2749:3-370.

[11]杜鉴豪,许力. 基于区域光流特征的异常行为检测[J]. 浙江大学学报(工学版),2011,45(7):1161-1166.

[12]Solmaz B. Identifying Behaviors in Crowd Scenes Using Stability Analysis for Dynamical Systems[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2012,34(10):2064-2070.

[13]Gribbon K T. A Novel Approach to Real-Time Bilinearinterpolation[C]//IEEE International Conference on Field-Programmable Technology,2004:126-131.

[14]Beibei Z,Monekoss Dorothyo N. Crowd Analysis:A Survey[J]. Machine Vision and Applications,2008,19:345-357.

[15]Xinyi C. Abnormal Detection Using Interaction Energy Potentials[C]//IEEE Conference on Computer Vision and Pattern Recognition(CVPR),2011:3161-3167.

[16]http://opencv. org/.[Z].

汪双承(1988-),男,汉族,安徽宣城人,上海大学通信学院硕士,主要研究方向为智能信息挖掘与处理,模式识别,wsc36305@163.com;

管业鹏(1967-),男,汉族,教授,主要研究方向为智能信息挖掘与处理、模式识别、计算机视觉等,ypguan@shu.edu.cn。

AbnormalBehaviorDetectionBasedonParticleFlowandEnergyModel*

WANGShuangcheng,GUANYepeng*

(School of Communication and Information Engineering,Shanghai University,Shanghai 200444,China)

This paper proposes a novel method to detect abnormal behavior with single camera,which can capture the dynamics of the crowd behavior successfully. Due to the time-consuming,the bad anti-noise and high sensitivity to light for dense optical flow method and inadequate motion information for sparse optical flow,binary foreground mask is used for calculating local dense optical flow. Particle flow is constructed based on optical flow for stable feature extraction,since optical flow only reflects instantaneous motion information and cannot describe the motion accumulation and interaction between objects. A kinetic energy of particle magnitude histogram is computed to capture the abnormality. A video surveillance system is constructed,the experiments on different scenes show that the proposed method is real-time,and robust.

abnormal behavior detection;crowd analysis;particle flow;energy model;optical flow

项目来源:国家自然科学基金项目(11176016);教育部博士点基金项目(20123108110014)

2013-12-19修改日期:2014-01-07

0439

:A

:1005-9490(2014)06-1081-06

10.3969/j.issn.1005-9490.2014.06.015

猜你喜欢

光流流场幅值
利用掩膜和单应矩阵提高LK光流追踪效果
AFM轻敲模式下扫描参数对成像质量影响的研究
《液压与气动》常用单位的规范
基于HYCOM的斯里兰卡南部海域温、盐、流场统计分析
基于S变换的交流电网幅值检测系统计算机仿真研究
正序电压幅值检测及谐波抑制的改进
天窗开启状态流场分析
基于瞬态流场计算的滑动轴承静平衡位置求解
基于国外两款吸扫式清扫车的流场性能分析
一种改进的基于全局最小能量泛函光流算法