基于社会力模型和注意力机制的异常行为检测

2020-11-11 08:01:46杨兴明范楼苗
智能计算机与应用 2020年6期
关键词:注意力卷积神经网络

童 赟, 杨兴明, 范楼苗

(合肥工业大学 计算机与信息学院, 合肥230601)

0 引 言

近年来,大量的监控摄像机被应用于公共场所,用来保证公众安全。 通过视频监控来查找交通事故、违法犯罪等异常行为的相关证据。 然而在现实应用中,由于异常行为发生的几率小,其外观复杂多变,无关冗余信息的干扰等,这些因素使得异常行为检测仍然是相当困难的。

早期的异常行为检测的方法是通过社会力来对行人行为运动分析[1]。 例如,通过定义描述不同场景的物理力来检测人群中的异常行为,这种方法无法表达行为的高层语义特征[2]。 随着深度学习技术的发展,卷积神经网络被用来学习行为的深度表达,有专家提出通过从RGB 和光流来捕捉行为时空运动信息的双流网络,但是二维卷积神经网络只能捕捉很少的时序信息[3]。 而利用三维卷积神经网络(C3D)来学习视频帧的时序信息,大大提高了行为识别的准确率,但对于异常行为的运动分析却没有显著效果[4]。 例如:当人群中发生偷窃行为时,仅从运动和外观上并不能充分地分析出个体的行为。 对此,考虑通过使用社会力模型去挖掘复杂行为的更深层次的信息来解决这个问题。 即通过阻碍力,挤压力和侵犯力三种不同形式的社会力来描述监控视频下的复杂的行为,通过三维卷积神经网络对这些社会力特征进行分析,从而实现对监控视频下的异常行为检测。

针对视频中无关冗余信息的干扰,在基于社会力模型的多通道的三维卷积神经网络中,引入注意力机制来增强输入特征的显著性,提高视频中的异常行为检测效率和正确率。 本文的主要贡献如下:

(1)提出了一种新的基于社会力模型多通道的三维卷积神经网络学习框架,通过社会力模型定义3 种不同形式的社会力来描述监控视频下的复杂行为,利用三维卷积神经网络对这些社会力特征进行分析,从而实现复杂场景下的异常行为检测。

(2)引入了注意力机制模块去除冗余信息的干扰,增强输入特征的显著性。 通过在基于社会力模型多通道的三维卷积神经网络中,加入注意力机制,增强特征显著性的方法来提高异常行为检测的效率。

(3)实验结果表明,该方法在UCF-Crime 数据集上的AUC 值达到了79.23%,高于大多数先进的方法。

1 相关工作

异常行为检测的目的是从监控视频场景中检测不同寻常的行为或者动作,其关键就是异常行为的表达,而异常行为特有的时空结构特性,为研究者指明了方向。

早期的异常检测使用的手工特征包括轨迹特征,HOG 特征,HOF 特征以及光流特征等。 检测模型很多,例如:通过学习目标运动模式的场景模型来检测异常[5];半监督自适应隐马尔可夫模型来对正常事件进行建模[6];通过多个固定监视器来收集底层的统计信息,利用指数分布来描述局部光流的规则直方图,从而实现监控视频下的实时异常检测[7];通过混合概率主成分分析(MPPCA)特征来构建时空马尔可夫随机场模型(MRF)来检测异常,这种方法减少了噪声对异常行为检测的影响,提高了检测的正确率[8];基于时间和空间的混合动态纹理模型(MDT)来同时检测时间和空间上的异常[9];稀疏编码或字典学习也是对正常模式建模的常用方法,通过稀疏组合学习来降低视频帧的冗余度进行异常检测,有效提高了异常检测的速度[10];依据动态稀疏编码通过滑动窗口确定异常事件发生位置来检测异常[11];利用暴力流描述符来检测人群中的暴力行为[12];基于物理方程来定义三种启发式规则来区分暴力和非暴力行为,进而实现异常行为检测[13]。

随着深度学习技术的发展,研究人员提出了很多异常检测方法。 例如:利用多层的自编码器学习目标的运动和外观信息特征表示,并通过单类分类器去预测异常得分[14];利用3D 卷积自编码器(Conv-AE)去建模正常的视频帧,并使用重构误差来检测异常[15];利用LSTM 自编码器来建模正常行为的外观和运动模式[16];通过稀疏自编码器来提取特征,利用递归神经元网络来预测后面的特征,根据预测误差来区分异常[17];设计3D 自编码器,实现帧的重建与预测,来实现异常检测[18];时间相干稀疏编码(TSC)算法,通过堆叠RNN(sRNN)来映射TSC,根据预测误差来实现异常检测[19];根据正常帧可预测而异常帧不可预测,设计了一种基于帧预测网络的异常检测模型[20];通过C3D 和全连接网络来获取异常得分的深度多示例(MIL)排序的学习框架来判断异常[21]。 受这些利用注意力机制[22-23]来减少无关冗余信息干扰的启发,本文引入注意力机制来去除视频中的冗余信息的干扰,提出了一种基于社会力模型和注意力机制的异常行为检测的方法。 在新的异常数据集上的实验结果表明,此方法取得了良好的效果。

2 模型框架

模型框架,如图1 所示。 首先,通过三种社会力来描述视频中行为,计算出视频帧的社会力特征。其次,将原始视频帧,光流图和计算得到的社会力图分别输入到引入了注意力机制的C3D 网络中,将提取到的特征通过注意力机制模块得到注意力机制的权重,并将其与原始特征相乘,生成显著性增强的新特征。 最后,将所得到的新特征通过三层全连接层进行特征学习,实现视频中的异常行为检测。

2.1 社会力模型

社会力模型包括阻碍力,挤压力和侵犯力三种。通过在图像上放置一个粒子网络,移动这些粒子与它们覆盖的相应流场,利用相邻流场矢量的双线性插值来计算粒子的有效速度。 将运动粒子视为个体,利用社会力模型计算不同个体之间的相互作用力。 将得到的相互作用力映射到图像平面上,从而得到每一帧中每个像素的力流。

(1)阻碍力。 对于复杂行为,从外观和运动上,不能很好地分析其运动模式,因此提出了一种新的社会力——阻碍力。 个体通常会选择最直接的路径方向到达目的地,但可能由于障碍物的存在,个体的速度会随之发生变化,根据速度的变化可以判断是否发生了异常,称这种社会力为阻碍力,可以表示为公式(1):

(2)挤压力。 仅从运动目标的阻碍力这一方面考虑是远远不够的,因此提出了另外一种社会力--挤压力。 在拥挤的情况下,人群动态不稳定身体接触频繁,个体的移动受其与周围的人接触的肢体影响。 需要定义挤压力去分析人群中个体的受力情况,可以表达为公式(2):

其中,F 为挤压力, nji表示归一化单位矢量,fi(j) 表示个体i 和个体j 的接触程度。

图1 异常行为检测整体框架图Fig. 1 Overall framework of anomalybehavior detection

(3)侵犯力。 在发生暴乱的情况下,个体主要向对手方向移动实施暴力动作。 例如,当有两个或两个以上的当事人相互打斗并表现出暴力行为,通过上面两种社会力无法很好地分析,因此引入了侵犯力的概念。 侵犯力可以用公式(3)表示:

通过定义上述三种简单但有效的社会力来描述人群中个体的行为,进而实现对复杂集群的异常行为分析。

2.2 注意力机制

在通过C3D 网络得到不同通道的卷积特征之后,通过注意力机制对原始特征进行加权,计算注意力权重,使特征能够更加显著的表达出异常事件发生区域。 全卷积的注意力模型如图2 所示, 模型选用FCN32s 作为基础全卷积网络,编码器由8 个卷积层组成。 输入特征是通过C3D 得到的视频片段特征Z∗= {其中,表示第i 帧的特征, N表示输入视频帧数,∗=rgb 代表RGB 特征,∗=opt 代表光流特征,∗=of 代表阻碍力特征,∗=cf代表挤压力特征,∗=af 代表侵犯力特征。 对卷积之后的特征经过编码器进行编码,而后通过解码器解码之后,得到注意力得分,公式(4)、(5):

其中,ZA∗表示生成的新特征。

图2 注意力模型Fig. 2 Attention model

2.3 损失函数

模型由5 个不同的通道组成,都是由C3D 来实现。 通过在每个通道的输出处定义一个损失函数对每个通道进行训练,反复生成异常事件的预测分数。对于5 个不同的通道,采用标准的交叉熵损失函数,公式(7):

其中,yn是事件的真实标签,p∗是我们模型的预测得分。 因此本文的损失函数如下:

3 实 验

3.1 数据集

选用UCF-Crime 数据集,该数据集是目前规模最大的异常数据集,该数据集包含异常行为种类多,对于异常行为检测研究极具意义。 数据集包含1 900 个监控视频,共14 类行为,1 类正常行为和13类异常行为。 选用1 610 个视频(800 个正常视频,810 个异常视频)用于训练,余下的290 个视频(150个正常视频,140 个异常视频)用于测试。

3.2 实验细节和评价标准

首先,依次提取各段视频的视频帧,并将分辨率调整为112×112。 其次,取16 帧视频帧作为一次输入,通过C3D 网络进行特征提取,并将经过注意力模块进行增强后的特征输入到三层全连接神经网络中,其中第一个和第二个全连接层有4096 个单元,最后一层全连接层有2 个单元。 最后,对第一层全连接层采用ReLU 激活函数激活,最后一层全连接层采用sigmoid 激活函数激活。 设置初始学习率为10-3,并采用Adagrad 优化器进行优化。

利用帧级AUC 进行性能评估。 通过逐渐改变规则评分的阈值来计算ROC 曲线,将曲线下面积(AUC)转换成标量进行性能评估。 AUC 数值越大,异常检测性能越好。

3.3 实验结果分析

首先,消融研究不同的社会力对异常检测性能产生的影响,如表1 所示。 研究发现:C3D 网络仅仅通过RGB 和光流所学习到的特征去检测视频中异常行为是远远不够的,通过定义三种社会力去描述监控视频中的复杂行为,显著提升了异常行为检测的正确率。 当从运动和外观无法区分异常行为时,考虑速度异常,由于受到障碍物的影响,运动目标的移动速度将会发生变化。 阻碍力相比较于RGB 和光流特征,AUC 值提升了2.87%。 在拥挤场景中,挤压力就表现出明显的优势。 相比较于阻碍力,其AUC 值也从71.16%提升到了74.92%。 侵犯力适用于大多数的暴乱场景中,随着侵犯力的加入,异常行为检测性能大大提升,AUC 提升了4.31%,由此说明,本文所提出的社会力能够有效的实现监控视频下的异常行为检测。

表1 不同的社会力对异常行为检测的影响Tab. 1 The influence of different social forces on abnormal behavior detection

其次,验证注意力机制对实验结果的影响。 由表2 可以看出,加入注意力机制比不加的效果更加明显,通过引入注意力机制,减少无关冗余信息的干扰,从而提高异常行为检测的准确率。

表2 注意力机制对实验结果的影响Tab. 2 The influence of experiment result by attention mechanism

最后,将本文的方法和现有大部分异常检测方法进行比较,AUC 值达到了79.23%,如表3 所示,说明异常行为检测的效果最好。 将所提出的方法与当前先进算法的性能进行比较,并在UCF-Crime 数据集上绘制了帧级ROC 曲线,从图3 可以看出,本方法要优于其他的方法,曲线相对平滑,说明模型的稳定性好。 将社会力加入到异常检测的模型中,从物理层面对视频中的运动个体进行受力分析,有助于提高异常检测的正确率;通过引入注意力机制,可以检测出作用力异常的视频帧,能够从视频帧中提取有用的特征信息,减少了背景以及其他无关冗余信息的干扰,使得异常检测的正确率显著提升。

图3 ROC 曲线图Fig. 3 The ROC curve

表3 不同异常检测方法对比Tab. 3 Comparison of different anomaly detection methods

通过为正常帧生成较低的异常得分,而异常帧生成较高的异常得分的方法来实现异常行为检测。 不同的异常视频上的可视化结果如图4(a)~(d)所示。

图4(a)~(d)中,矩形框表示异常行为所发生的真实区域(groud-truth),曲线表示本方法为所有视频帧生成的异常得分曲线。 不难看出,在不同的异常行为视频上,本方法对于正常帧产生了更低的得分,近乎接近0,相比较异常帧,会生成更高的异常分数,通过对异常分数高低的判断,可以检测出异常行为发生的区域。

图4 定性分析结果Fig. 4 Qualitative analysis results

4 结束语

本文提出了一种新的基于社会力模型和注意力机制的异常行为检测框架,通过提出三种社会力来描述监控视频下各种复杂行为,利用三维卷积神经网络来捕捉视频中的时空语境信息,同时引入注意力机制来减少无关冗余信息的干扰,增加特征的显著性。 通过在UCF-Crime 数据集上进行实验验证,结果表明,该方法明显优于现有大部分的异常行为检测的方法。

猜你喜欢
注意力卷积神经网络
让注意力“飞”回来
基于3D-Winograd的快速卷积算法设计及FPGA实现
神经网络抑制无线通信干扰探究
电子制作(2019年19期)2019-11-23 08:42:00
从滤波器理解卷积
电子制作(2019年11期)2019-07-04 00:34:38
基于傅里叶域卷积表示的目标跟踪算法
“扬眼”APP:让注意力“变现”
传媒评论(2017年3期)2017-06-13 09:18:10
A Beautiful Way Of Looking At Things
基于神经网络的拉矫机控制模型建立
重型机械(2016年1期)2016-03-01 03:42:04
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定