曾庆山,宋庆祥,范明莉
(郑州大学 电气工程学院,河南 郑州 450001)
近年来,公共场所人群安全问题日益频发,应用智能监控技术进行安全管理,并在群体性安全事件发生初期自动检测识别并预警,是当前计算机视觉领域的研究热点.人群行为异常检测算法主要通过视频预处理、特征提取、模型构建等步骤从监控视频中检测识别异于平常的人群行为.近些年来,国内外研究人员在人群行为异常检测问题上提出了许多经典的算法,从算法理论基础的角度来说,大致可以分为两类:(1)基于人群运动轨迹的检测算法[1-3],如文献[2]通过建立正常人群行为轨迹的隐马尔科夫模型(HMM)进行人群行为异常检测;(2)基于底层特征的检测算法[4-10],如文献[4]通过提取视频的三维时空梯度特征并对其进行HMM模型训练,进行人群行为异常检测.
第一类算法在人群稀疏无遮挡的情况下效果不错,然而在中高密度存在人群相互遮挡的情况下效果不佳;第二类算法在一定程度上避免了因人群相互遮挡对算法性能的影响,但仍存在一些问题.如文献[7]通过构建混合时空动态纹理特征(MTSDT)进行人群行为异常检测,然而MTSDT本质上基于图像纹理,更倾向于描述人群图像纹理的变化而非人群运动行为的实际情况,因此以其作为人群行为异常检测的判别特征,将会影响到人群行为异常检测的正确率.
针对传统基于图像纹理特征来检测人群行为异常所造成的偏差,笔者提出一种人群运动行为状态的特征提取方法,即通过建立光流幅值共生矩阵与光流方向共生矩阵来提取人群运动信息空间分布特征,并基于此进行人群行为异常检测.首先采用Lucas-Kanade[11]光流法提取视频中人群的运动信息,在此基础上构建光流幅值共生矩阵和光流方向共生矩阵,通过共生矩阵提取角二阶距、对比度、熵、相似度等特征,并与光流值均值合并作为特征向量训练支持向量机(support vector machine,SVM),进行人群行为异常检测.通过构建视频光流共生矩阵提取人群运动行为光流分布纹理特征,能够有效描述人群运动行为状态,最后通过实验验证了本文算法并取得了较好的检测性能.
1950年由Gibso首先提出的光流(optical flow)法是运动图像分析的重要方法.当物体在运动时,对应像素点的亮度模式在图像上会做相应运动,这种图像亮度模式的表观运动就是光流.由于其映射了目标的运动信息,观察者可以用其来确定目标的运动情况,与其它运动估计算法如块匹配法相比能够提取较为精细化的物体运动信息.
假设f(x,y,t)是时刻t图像上坐标点为(x,y)的灰度值,假设(x,y)的直接邻域在时间间隔dt内被平移了某个微小的距离(dx,dy),根据泰勒公式像素点的微小运动可表示为:
f(x+dx,y+dy,t+dt)=
f(x,y,t)+fxdx+fydy+ftdt+o(δ2),
(1)
式中:fx、fy、ft为偏导数,如果dx、dy、dt非常小,那么式(1)中的高阶项可以忽略不计.又假设像素点的微小运动不改变其灰度值,如式(2)所示:
f(x+dx,y+dy,t+dt)=f(x,y,t).
(2)
合并式(1)与式(2)则有光流约束方程:
(3)
fxμ+fyν=-ft.
(4)
1.2.1 光流幅值共生矩阵及特征提取
利用Lucas-Kanade光流算法提取视频中人群运动光流值,其光流值彩色图像如图1所示.在相似人群密度情况下,对比不同人群行为状态光流值彩色图像纹理特征,可以发现当人群行为正常时,如图1(c)所示其光流值彩色图像纹理比较平滑,对比度较低;当人群发生逃散行为时,如图1(d)所示其光流值彩色图像纹理比较尖锐,对比度较高.笔者根据这个现象,提出建立光流值共生矩阵,对其进行统计计算提取人群运动行为特征.
图1 光流图像示意图Fig.1 Schematic diagram of optical flow image
通过对灰度图像纹理特征提取方法灰度共生矩阵[12]的研究,笔者提出建立光流幅值共生矩阵来提取人群运动速度大小空间分布特征.首先利用Lucas-Kanade光流算法提取视频中人群运动光流值,为降低计算复杂度,将光流值按照模值大小分成16个等级,将等级值替换光流值建立新的光流矩阵,并按照构建灰度共生矩阵的方法建立光流幅值共生矩阵.
在一个光流幅值矩阵中随机的选择点(i,j)与点(i+a,j+b)形成一个点对,按照其对应光流值等级如图2进行统计.遍历矩阵中所有点并按照指定水平距离a与垂直距离b两两组合成一个点对,进行统计建立光流幅值共生矩阵.光流幅值共生矩阵在本质上是指定距离与角度的像素光流幅值的联合直方图,取不同的a和b值可以改变指定的距离与角度参数值.如图2所示,左图为光流幅值矩阵,其光流值按照模值大小分成4个等级.设指定距离为1,方向为水平方向,从光流矩阵中统计由光流值1变化到光流值1的点对数,总计1次,则右图光流幅值共生矩阵第一行第一列值记为1.
图2 光流共生矩阵建立示意图Fig.2 Schematic diagram of the optical flow and the co-occurrence matrix
本文通过提取光流幅值共生矩阵角二阶距、对比度、熵与相似度等统计特征,表征人群运动行为状态的光流值空间分布特征.其特征计算方法如下所述,式中:i代表光流共生矩阵元素的行数;j代表其所在的列数;d代表计算光流共生矩阵时所采用的两像素之间距离;θ代表两者之间的角度;p(i,j)代表共生矩阵概率值.
角二阶矩E是光流幅值共生矩阵所有元素值的平方和,可以表征光流幅值矩阵光流值分布的均一程度.角二阶矩越大,光流幅值共生矩阵元素分布就越集中,其计算如式(5)所示:
(i,j)2.
(5)
对比度C反映图像的清晰度和沟纹的深浅程度.当人群行为正常时,其相应光流幅值矩阵纹理的沟纹浅,其对比度小;当人群行为异常如逃散时,其对应光流幅值矩阵纹理的沟纹深,其对比度大.其计算如式(6)所示:
(i,j).
(6)
根据信息论理论,可以用熵来表征信息的不确定程度.当人群处于逃散状态时,与人群正常行为状态相比光流值分布更加混乱,人群运动行为正常情况光流值分布均匀.利用光流幅值共生矩阵熵值S来描述人群运动行为的混乱程度,光流幅值空间分布越混乱,熵值就越大.其计算如式(7)所示:
(i,j)logp(i,j).
(7)
除了角二阶距、对比度、熵之外,为了更好地表征人群在逃散过程中所表现出的从众性,引入相似度的特征,它是共生矩阵元素在行或列方向上的相似度X的度量,其计算如式(8)所示:
(8)
式中:σi、σj是共生矩阵的方差;μi、μj是共生矩阵的均值.
(9)
(10)
(11)
(12)
通过统计研究发现,人群行为发生骚乱、逃散等异常情况时,比人群正常行为状态下运动速度要高,光流值可以很好的反映人群运动速度.因此光流幅值矩阵均值大小可作为判断人群行为异常的一个很重要的特征,其计算如式(13)所示:
(13)
1.2.2 光流方向共生矩阵及特征提取
当人群遇到突发意外事件时,在逃散过程中往往因场景的不同不仅伴随着人群运动速度大小的特定变化,人群运动方向空间分布纹理也会发生变化.比如在室外空旷场景中,人群在遇到突发事件时往往会选择逃离事件中心位置,虽然具体方向不定,但是因为人群行动有着从众性,运动方向相似度较高,如图3(a)所示.而在室内人群遇到突发事件时,与室外四散情况不同的是,往往会最快逃向出口方向,方向明确,如图3(b)所示.笔者通过构建光流方向共生矩阵并提取其统计特征来表征不同人群行为状态下光流方向的空间分布关系.
图3 不同场景中人群行为异常Fig.3 Abnormal crowd behavior in different scenes
首先将平面上360°按照45°的间隔分成8个区间,即D={[-π,-3/4π),[-3/4π,-1/2π),[-1/2π,-1/4π), [-1/4π,0),(0,1/4π),[1/4π,1/2π),[1/2π,3/4π),[3/4π,π]}.设Di代表第i个区间,i取值为{1,2,3,…,8},其中不包含0°,即背景部分.将属于Di区间的光流方向标记为i,背景相应的像素点方向标记为0,建立与视频图像相应的光流方向矩阵,然后利用与光流幅值共生矩阵相同的方法建立光流方向共生矩阵.
通过对光流方向共生矩阵进行统计计算,提取角二阶距、对比度、熵与相似度等特征,描述不同人群行为状态下运动方向的空间分布关系.
SVM是一种基于统计学习理论的新型机器学习方法,在解决小样本、非线性和高维度的模式识别问题中具有明显优势[13].人群行为异常检测作为一种典型的小样本、非线性模式识别问题,SVM是一种比较合适的特征分类方法.笔者通过构建光流幅值共生矩阵和光流方向共生矩阵,提取角二阶距、对比度、熵与相似度等人群运动信息空间分布特征,与光流矩阵幅值均值合并组成特征向量,然后对其进行预处理与归一化处理,最后对已标定好的视频数据提取特征并训练SVM分类器,使用测试视频数据来验证本文所提出人群行为异常检测算法的检测性能.
针对传统基于图像纹理特征的人群行为异常检测算法性能较差的问题,笔者提出一种基于人群运动信息空间分布特征的人群行为异常检测算法,即通过建立光流幅值共生矩阵与光流方向共生来提取人群运动行为的整体特征,并结合光流幅值均值,组成合并特征向量训练SVM作为分类器进行检测人群行为异常状态,其步骤如下:
(1)采用Lucas-Kanade光流法提取监控视频人群运动的光流信息,建立光流幅值矩阵与光流方向矩阵.
(2)分别建立光流幅值共生矩阵与光流方向共生矩阵,并提取其特征即二阶距、对比度、熵、相似度,与光流幅值矩阵均值合并组成特征向量,大小为1×9.
(3)因视频受摄像器材抖动、光照突变的影响会使所提取的特征产生噪声.笔者采用中值滤波方法对特征进行滤波处理,减少噪声影响.
(14)
Cgi=Cdi/max(Cd).
(15)
(5)将视频随机分成训练集与测试集,利用训练集数据训练SVM分类器模型,然后利用训练好的SVM分类器模型对测试集视频进行人群行为异常检测,验证算法性能.
为了测试本文算法的有效性,选取人群行为异常检测算法测试标准数据集,即美国明尼苏达大学UMN数据库中的相关视频序列进行测试.UMN数据库视频基于3个不同的背景进行拍摄,共包含11个不同情境的人群逃散事件视频段,共有6 369帧正常帧数,1 072帧异常帧数.
为了评估人群异常行为检测算法的实用性,笔者利用ROC(receiver operating characteristic curve)下的面积AUC(area under ROC curve)作为评判标准,AUC通常介于0.5~1,其值越大说明算法性能越好.其中ROC曲线是以真阳性率tpr为纵坐标,假阳性率fpr为横坐标绘制的曲线,利用ROC曲线能很容易观察出算法的分类识别性能.
笔者对数据库UMN中3个场景11段视频的人群异常行为进行了检测,首先随机选取一部分视频作为训练集,另一部分视频作为测试集.然后对本文算法进行验证,每种场景的ROC曲线如图5所示.图5表明:本文算法对不同场景能够很好地进行人群异常行为检测.
图4 UMN 数据集Fig.4 UMN data set
图5 UMN 数据集中3种场景的异常检测ROC曲线Fig.5 Anomaly detection ROC curve of three scenes in UMN data set
方法场景AUCSocialForce[10]混合场景09600OpticalFlow[10]混合场景08400D⁃IncSFA[15]混合场景09692STVV[16]混合场景09300场景一09950SparseScene2[14]场景二09750场景三09640本文方法场景一09963场景二09994场景三09790混合场景09838
计算得出3种场景下ROC曲线下面积AUC值,分别为0.996 3、0.999 4、0.979 0;在3种场景中各选一部分帧做训练集,另一部分做测试集,仿真得到AUC为0.983 8.将本文的检测算法与其他几种检测算法进行对比,分别是光流法Social Force[10]、社会力模型Optical Flow[10]、稀疏重构Sparse Scene2[14]、深度增量慢特征分析网络D-IncSFA[15]、时空语境分析STVV方法[16].如表1所示,与其他算法相比,本文算法性能较优,在不同场景下取得了更好的人群行为异常检测效果.
笔者介绍了一种描述人群运动行为真实情况的运动图像纹理特征提取方法.该方法通过图像光流值建立光流幅值共生矩阵与光流方向共生矩阵,然后提取人群运动统计特征,利用SVM作为分类器进行训练,最后通过训练完成的模型对人群行为异常做出判断.实验结果显示,该算法在检测人群异常事件时具有比较理想的检测结果,与其他算法相比性能较优.
参考文献:
[1] ZHAN B, MONEKOSSO D W,REMAGNINO P, et al. Crowd analysis:a survey[J] Machine vision and applications, 2008,19(5):345-357.
[2] ZHANG T, LU H, LI S Z. Learning semantic scene models by object classification and trajectory clustering[C]//IEEE Conference on Computer Vision and Pattern Recognition (2009).Miami,FL,USA:IEEE,2009:1940-1947.
[3] MA R, LI L, HUANG W, et al. On pixel count based crowd density estimation for visual surveillance[C]//2004 IEEE Conference on Cybernetics and Intelligent Systems. Singapore: IEEE, 2004,1:170-173.
[4] KRATZ L, NISHINO K. Anomaly detection in extremely crowded scenes using spatio-temporal motion pattern models[C]//IEEE Conference on Computer Vision and Pattern Recognition(2009). Miami, FL: IEEE, 2009:1446-1453.
[5] 逯鹏,梁玉,陈树伟. 基于角点动能的视频群体异常行为检测[J]. 郑州大学学报(工学版), 2015,36(3):20-24.
[6] 逯鹏,张利亚,黄石磊,等. 基于稀疏超完备的异常行为检测算法[J]. 郑州大学学报(工学版),2016,37(6):72-76.
[7] MAHADEVAN V, LI W, BHALODIA V, et al. Anomaly detection in crowded scenes[C]//2010 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). San Francisco, CA: IEEE, 2010:1975-1981.
[8] 胡斌斌,涂铮铮,郑爱华,等. 基于单元格运动特征的人群异常检测[J]. 计算机应用与软件,2014, 31(8): 157- 159.
[9] 杜鉴豪,许力. 基于区域光流特征的异常行为检测[J].浙江大学学报(工学版),2011,33(7):1161-1166.
[10] MEHRAN R, OYAMA A, SHAH M. Abnormal crowd-behavior detection using social force model[C]//IEEE Conferenceon Computer Vision and Pattern Recognition. Miami, FL: IEEE, 2009:935-942.
[11] LUCAS B D, KANADE T. An iterative image registration technique with an application to stereo vision[C]//International Joint Conference on Artificial Intelligence. San Francisco, CA: Morgan Kaufmann Publishers Inc. 1981:674-679.
[12] 郑红,李钊,李俊. 灰度共生矩阵的快速实现和优化方法研究[J]. 仪器仪表学报,2012,33(11):2509-2515.
[13] 陈刚,王宏琦,孙显. 基于核函数原型和自适应遗传算法的SVM模型选择方法[J]. 中国科学院大学学报, 2012, 29(1):62-69.
[14] CONG Y, YUAN J S, LIU J. Abnormal event detection in crowded scenes using sparse representation[J].Journal of pattern recognition, 2013, 46(7):1851-1864.
[15] HU X, HU S, HUANG Y, et al. Video anomaly detection using deep incremental slow feature analysis network[J].Iet computer vision, 2016, 10(4):258-265.
[16] LI N, WU X, XU D, et al. Spatio-temporal context analysis within video volumes for anomalous event detection and localization[J]. Neurocomputing, 2015, 155(5):309-319.