孙月驰 李 冠
(山东科技大学计算机科学与工程学院山东省智慧矿山信息技术重点实验室 山东 青岛 266590)
基于机器视觉的智能视频监控系统能够实时检测公共区域中行人、车辆等目标的状态变化,自动检测运动目标的异常行为[1]。本文主要研究的人群异常行为分为人群异常行为(聚集、混乱、拥挤等)、非人体进入(车辆驶入、骑车驶入等)等[2]。智能视频监控系统从视频序列中提取大量运动目标的特征信息,进行异常行为的检测,已成为预防公共突发事件的有效工具[3]。异常事件检测[4]旨在自动识别监控视频中的异常事件,检测方法主要根据提取运动目标的各种特征信息,将特征信息进行聚类、分类等处理,进而判断运动目标的运动状态是否异常。随着计算机视觉技术的发展,针对视频序列中异常事件检测算法得到广泛的应用,根据提取运动目标特征信息的方式,可以将人群中异常检测方法归纳成四类:
第一类为基于行为关系的分析。该类方法运用统计分析关系事件或行为,其中概率模型应用于描述不同行为之间的关系。例如,Hämäläinen等[5]搭建统计显著关联规则模型(SARM)搜索统计显著的行为关联规则,该算法在搜索统计非冗余关联规则上表现突出;Kwon等[6]将异常事件检测转化为图模型编辑问题,视频由图来表示,图中每个节点代表在空间和时间上分割视频而获得的事件,节点之间的权重描述了事件之间的关联关系;Yuan等[7]将统计假设检验的想法引入到异常事件检测框架,视频活动被视为一组事件模式的线性组合,异常事件被认为是包含异常模式的事件,同时具有异常检测器分数,利用高斯混合来估算复杂的噪声分布更利于对视频事件建模,提高了异常检测精度。该类方法检测效果较好,然而,需要大量的训练样本才能获得稳定可靠的关系模型。
第二类为基于运动轨迹的分析。该类方法通过提取研究对象的轨迹特征信息,检测跟踪对象的运动轨迹是否异常。例如,Fang等[8]通过搭建自适应外观模型,利用可靠的数据关联策略和合理的轨迹约束运动模型来提升对目标检测和追踪的效率;Yuan等[9]首次提出信息结构背景描述符SCD(Structural Context Descriptor)来描述人群中的个体,通过计算SCD的变化,设计出多目标追踪单元,用以追踪不同帧图像中同一目标的轨迹,通过线上时空分析SCD变化,来判断人群异常情;Zhou等[10]尝试构建一种新的统计框架来检测拥挤场景中异常轨迹的人群行为,首先,由特征跟踪器KLT(Kanade Lucas-Tomasi)获取行人的轨迹特征,形成代表性轨迹表示人群的潜在运动模式,最后由马尔可夫模拟模型判断人群中异常的行为。该类算法在杂乱和拥挤的场景中不能准确地检测和定位视频事件,在处理雾天、雨天等背景模糊的场景时识别精度不理想。
第三类为基于底层特征的分析。该方法通过提取运动目标的低级特征进行分析运动状态,根据研究对象的不同搭建各种各样行为模式的模型。例如,Reddy等[11]针对检测拥挤场景中异常目标提出了一种具有相对较低复杂度的异常检测算法,该方法基于每帧的前景掩码分析相关单元是否存在异常,根据检测目标的运动状态、大小和纹理分别建模;Li等[12]通过搭建表示复杂人群场景空间和时间的常态模型,将空间或时间常态与外观或动态融合在一个常态模型中,对异常事件进行检测。该类算法拥有一个共同特点需要人工辅助,设计有效的描述模型需要耗费大量时间。
第四类为基于深度学习[13]的视觉特征分析。该类方法通过基于深度学习用来提取视频中运动目标的特征信息,根据视频的特征信息进行人群异常事件的识别。例如,Sabokrou等[14]提出一种基于立方体补丁的方法,首先,使用3D自动编码器进行识别正常立方体,再使用更复杂、更深的3D卷积神经网络进行评估,将深度自动编码器和CNN分成多个子级用作级联分类器,最终实现对异常事件检测;Ravanbakhsh等[15]为解决异常检测的问题引入生成对抗网络,组成生成对抗网络的发生器(G)和鉴别器(D)分别进行深度网络学习,发生器(G)仅学习生成正常模式,鉴别器(D)学习区分正常和非正常模式;Kiran等[16]提出深度卷积架构用于特征学习来进行视频中异常事件的检测。此类模型由多种组件构成,产生较多参数增加了算法的复杂性。
针对上述方法的不足,本文提出一种改进的卷积神经网络人群异常行为识别方法,该方法通过嵌套mlpconv层改进卷积神经网络结构,利用混合高斯模型有效、精确地提取视频中前景目标,嵌套多层的mlpconv层自动学习前景目标的深度层次特征,生成的特征图经过向量化处理输入到与全连接层相连的Soft max分类器进行人群中异常行为检测。仿真实验结果表明,该算法减少对冗余信息的获取,缩短了算法运算时间和学习时间,改进的卷积神经网络在泛化性能和非线性拟合能力都有提高,对人群异常行为检测取得较高准确率。
本文提出基于卷积神经网络嵌套模型的人群异常行为检测方法的主要流程,图1为人群异常行为检测算法流程图。该算法分为四个步骤:检测和提取运动目标、获取特征信息、构建嵌套网络模型、进行异常行为检测。
图1 人群异常行为检测算法流程图
目前,视频中运动目标检测的方法主要有:光流法、帧间差分法和背景差分法三种[17]。本文选取背景差分法中的混合高斯模型GMM[18](Gaussian Mixture model),该模型与其他提取前景目标的方法比较,不但能够成功检测到运动目标,而且还能减少背景场景中微小重复运动的物体对前景目标检测的影响。视频中运动目标检测的工作流程如图2所示,首先高斯分布对每个像素建立背景模型,再进行背景模型参数自动更新,最后实现对视频中运动目标的成功检测和提取。
图2 混合高斯模型的工作流程图
1.1.1 混合高斯背景建模
对于任意像素点,其历史像素序列可以下式描述[19]:
{x1,x2,…,xt}={Ii(x,y),1≤i≤t}
(1)
式中:Ii(x,y)为第i个时刻的灰度值。
在t时刻,像素点(x,y)的概率函数计算公式为[20]:
(2)
(3)
1.1.2 混合高斯模型参数更新
按优先级大小将帧像素值Ii(x,y)的高斯分布进行排序,满足式(4),说明帧像素值Ii(x,y)与高斯分布匹配成功,帧像素值Ii(x,y)的高斯分布的参数依次按照式(4)至式(8)进行更新;不满足式(4),帧像素值Ii(x,y)与高斯分布匹配不成功,高斯分布的参数不变,权重值按式(9)进行更新。
|It(x,y)-μi,t-1| (4) Wi,t=(1-α)Wi,t-1+α (5) μ=(1-β)μi,t-1+βIi(x,y) (6) μi,t-1)T(It(x,y)-μi,t-1) (7) β=αη(It(x,y)|μ,δi,t) (8) Wi,t=(1-α)Wi,t-1+α (9) 式中:α、β分别表示混合高斯模型的学习率、更新率。 1.1.3 混合高斯模型对运动目标的提取 (10) 式中,T为设置的阈值。 获取了前B个高斯分布作为背景模型,将当前像素值Ii(x,y)与生成背景进行匹配,如果当前像素值Ii(x,y)与生成背景匹配不成功,当前像素Ii(x,y)点为运动目标;否则,当前像素Ii(x,y)点为背景点。经过上述过程之后,混合高斯模型实现对视频中运动目标的检测及提取。与其他方法提取前景目标的结果对比图如图3所示。图3(a)是原始视频序列,图3(b)是其他方法提取的前景目标,图3(c)是混合高斯模型提取的前景目标。 (a) (b) (c)图3 与其他方法提取前景目标的结果对比 1.2.1mlpconv层 mlpconv层由一个线性卷积层和一个多层感知机MLP(Multy-Layer Perception)构成,局部感受视野中的输入映射对应的特征向量。mlpconv层使用由多个带非线性激活函数的全连接层构成的MLP来提取运动目标的特征信息,将提取的特征信息转化为特征图,再将特征图作为下一层的输入[22]。 mlpconv层计算过程如下所示: (11) (12) (13) 式中:(i,j)是特征图中像素的位置,xi,j是以像素点(i,j)为中心的输入块,k1、k2和kn等是特征图中的各通道序号,n则是MLP的层数。 2.2.2BatchNormaliztion技术 在神经网络学习过程中,随着各层参数的变化,特别是算法的学习率和权值初始化会需要很长时间寻找合适值,降低了神经网络的训练速度。在使用饱和非线性激活函数来训练神经网络模型时,输入数据会误入激活函数的饱和区域,使神经网络的收敛性速度降低。 Ioffe等[23]通过BN(Batch Normaliztion)技术规范化每一层的输入来解决上述问题。BN技术使得输入数据具有零均值和单位方差: (14) 规范化处理后,参数需要相应的缩放和平移: (15) 卷积神经网络嵌套模型的核心思想为:嵌套网络模型可以出色地自动学习到深度层次特征,该模型获取的深层次特征主要是局部特征,在获取运动目标特征信息时局部特征在背景中分离目标发挥重要作用,此外,嵌套网络模型在应对背景目标剧烈变化时也具有一定的鲁棒性。 网络嵌套模型训练时,首先,对含有单个mlpconv层的卷积神经网络模型的权值初始化,再进行卷积神经网络的训练,整个训练过程结束,得到单个mlpconv层权值的更新;然后,接入第二个mlpconv层,第二个mlpconv层的输入是第一个mlpconv层的输出,进行第二个mlpconv层的权值初始化,再进行卷积神经网络的训练,整个训练过程结束,得到第二个mlpconv层权值的更新。当有新的mlpconv层加入,按照上述过程进行权值初始化、卷积神经网络的训练以及权值更新。 此外,在进行卷积计算之后使用BN技术,也使得非线性单元能够产生比较稳定的分布,达到去饱和的效果。在嵌套mlpconv层加入BN操作,模型中特征图的计算方式如下: (16) (17) (18) 式中:BN(g)表示BN层,(i,j)是特征图中像素的位置,xi,j是以像素点(i,j)为中心的输入块,k1、k2和kn等是特征图中的各通道序号,n则是MLP的层数。图4为基于卷积神经网络嵌套模型。 图4 基于卷积神经网络的嵌套模型 在3.0 GHzCPU、64位Windows7操作系统,采用MATLAB 2016a、Open CV作为开发工具进行仿真实验。为了验证提出算法的有效性,本文选取常用于人群行为识别研究的基准数据集,即UCSD[24]((University of California,San Diego)数据集和UMN[25](University of Minnesota)数据集。这两个数据集涵盖了室内和室外、局部异常和全部异常等情况。仿真实验中,定量评价采用AUC评价指标、等错误率(EER)以及运行时间(Time)等指标。 输入数据是将每一帧都裁剪为80×60的灰度图像,卷积神经网络模型的三个卷积层采用的卷积核分别是9×7、7×7、6×4的尺度,两个下采样层采用的卷积核均为3×3尺度。输入的80×60×9的视频块最终被转化为128维的特征向量。 USCD[24]数据集由加州大学圣地亚哥分校创建,数据集是通过安装在一定高度、俯视人行道的摄像机,采集自然状态下发生的异常行为,主要针对人群中个体行为的识别研究。数据集由98个视频组成,被分成ped1和ped2两个数据子集,每个场景录制的视频录像被分成约200帧的片段,像素分辨率分别为158 pixel×238 pixel和240 pixel×360 pixel。图5为UCSD数据集中的非人类实体入侵和异常人类行为场景的示例。 图5 UCSD数据集中非人类实体入侵和异常人类行为示例 在UCSD ped1和UCSD ped2数据集验证该算法的有效性,本文选取在上述数据库取得较好识别率的算法进行对比,例如:TCP模型[26]、AMDN(double fusion)模型[27]、运动能量(Motion Energy)模型[28]、时空卷积神经网络(ST-CNN)模型[29]及Commotion模型[30]等。 由表1可知,在UCSD ped1数据集上,采用帧级度量时,本文算法的EER较低,显著提高了AUC评价指标;采用像素级度量时,在EER指标、AUC评价指标上提高不是很明显,但是两个指标均高于其他算法的指标。在UCSD ped2数据集上,采用帧级度量测试,本文算法在EER指标、AUC评价指标方面占优势,AUC评价指标提高0.11。 表1 AUC和EER在于Ped1(UCSD数据集)上的 帧和像素级比较 另外,在UMN数据集也进行了实验验证,该数据集前一半视频作为训练集,后一半作为测试集,在该数据集上采用帧级度量下的EER和AUC评价指标对算法的性能进行评估。验证结果如表2所示。在UMN数据集上采用帧级度量下的EER和AUC评价指标对算法的性能测试结果,可以得出,本文算法在AUC评价指标与已有算法的性能上相当,在EER指标上优于其他算法,该算法在耗时方面得到了提高。 表2 AUC和EER用于UMN数据集上的帧和像素级比较 算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。 2.3.1 单个卷积层的时间复杂度 时间复杂度是指执行算法所需要的计算工作量,单层卷积层时间复杂度计算如下: Time~O(M2·K2·Cin·Cout) (19) 式中:M表示每个卷积核输出特征图(Feature Map)的边长;K表示每个卷积核(Kernel)的边长;Cin表示每个卷积核的通道数,即输入通道数(上一层的输出道数);Cout表示卷积层具有的卷积核个数,即输出通道数。 由式(19)可以得知,卷积层的时间复杂度由输出特征图面积M2、卷积核面积K2、输入Cin和输出通道数Cout决定;输出特征图的尺寸又由输入矩阵尺寸X、卷积核尺寸K、Padding、Stride决定,输出特征图的边长M表达式为: (20) 2.3.2 卷积神经网络的整体的时间复杂度 单层卷积神经网络的复杂度由式(19)计算,卷积神经网络(包含多层结构)整体时间复杂度为每层时间复杂度的和,计算公式如下: (21) 式中:D表示神经网络所具有的卷积层数,即网络深度;l表示神经网络第l个卷积层;Cl表示神经网络第l个卷积层的输出通道数Cout,即该层的卷积核个数;第l个卷积层的输入通道数Cin是第(l-1)个卷积层输出通道数。 在时间复杂度方面,本文选取TCP模型、AMDN(double fusion)模型、运动能量(Motion Energy)模型、时空卷积神经网络(ST-CNN)模型及Commotion模型与本文算法进行对比。由式(13)可以计算出各算法的时间复杂度,因为各算法的具体参数数据不明确,本文只计算算法时间复杂度属于哪个阶,常见的时间复杂度关系为:O(1) 如表3所示,本文算法与其他算法时间复杂度大部分在O(n2)阶上,分析其他算法神经网络结构模型在输出特征图面积M2、卷积核面积K2、输入Cin和输出通道数Cout均比本文算法的复杂,可以得出结论本文算法在时间复杂度上优于其他算法。 表3 本文算法与其他算法时间复杂度 本文提出基于改进的卷积神经网络对人群异常行为检测方法,通过嵌套mlpconv层改进卷积神经网络结构,利用混合高斯模型有效、精确地提取出视频序列中前景目标,混合高斯模型在复杂场景背景中表现出鲁棒性,不但能够成功检测到运动目标,而且减少了背景场景中微小重复运动的物体对前景目标检查的影响。嵌套多层的mlpconv层自动学习已经提取到的前景运动目标的深度层次特征,改进的卷积神经网络减少对冗余信息的获取。在UCSD和UMN数据集上实验结果表明,在算法运算时间和学习时间上得到优化,对人群中异常行为检测更迅速、准确,改进的卷积神经网络在泛化性能和非线性拟合能力上的表现也很优秀。1.2 获取运动目标的特征信息
1.3 构建卷积神经网络嵌套模型
2 实验与结果分析
2.1 在UCSD数据集上实验结果
2.2 在UMN数据集上实验结果
2.3 时间复杂度分析对比
3 结 语