一种改进R(2+1)D网络的暴力行为检测方法
2022-05-28靳伟昭全英汇
王 勇,靳伟昭,冯 伟,全英汇
(西安电子科技大学 电子工程学院,陕西 西安 710071)
近年来,国内外公共安全问题日益凸显,暴力冲突事件频发,如伦敦、巴黎、纽约等城市发生的非法暴力行为,此类事件对公共安全危害极大。因此,及时地发现并处理此类事件,对维护公共安全具有非常重要的意义。
早期的暴力行为检测,主要采用人工设计特征的方法。GIANNAKOPOULOS等[1]和LIN等[2]使用音频、血液和火焰等关联特征来检测暴力场景。2016年,ZHANG等[3]提出了光流方向直方图描述符进行暴力行为检测,此描述符通过对候选区域光流直方图进行重新排列、添加上下文信息和归一化后构造而成,最后使用支持向量机(Support Vector Machines,SVM)分类器进行分类。2017年,SENST等[4]提出拉格朗日时空兴趣点描述符用于暴力行为检测,将基于方向的拉格朗日场测度集成到时空兴趣点描述符中用于提取暴力行为特征,然后使用词袋模型提取特征直方图,最后使用支持向量机进行特征分类。2018年,ZHOU等[5]从运动区域中提取了两种低层次的视觉特征:低层次方向梯度直方图特征和低层次光流方向直方图特征,然后在词袋模型下对低层特征进行处理,再由支持向量机分类器进行分类。2019年,SAMUEL等[6]使用方向梯度直方图提取图像空间特征,然后利用双向长短期记忆网络对时序特征进行聚合。同年,MAHMOODI等[7]采用全局阈值和自适应阈值来获取光流的大小和方向变化,从而构建光流大小及方向直方图描述符,最后使用支持向量机分类器进行分类。2020年,DEEPAK等[8]设计了一种时空梯度自相关特征描述暴力行为,最后使用支持向量机进行特征分类。
在曲棍球比赛数据集和人群暴力数据集上,文献[5]中的方法效果最佳。然而,上述基于手工特征的方法过度依赖于先验知识,对于特定的小规模数据集特征提取效果较好,但对于其它数据集的适应性较差且特征提取效率较低。
随着深度学习在计算机视觉领域的巨大成功,研究人员逐渐将深度网络模型应用于暴力行为检测领域。2016年,DONG等[9]提出了一种新的多流卷积神经网络框架,通过卷积神经网络分别对空间网络的RGB图像和时间网络的光流图像与加速度流图像进行处理,最后对分类结果进行融合得到最终分类结果。2017年,ZHOU等[10]构建了暴力行为识别网络模型,采用行为识别领域的双流卷积神经网络框架分别对RGB图像、光流图像和加速度流图像提取特征。2020年,LI等[11]提出了一种新的多流卷积神经网络框架,分别通过基于注意力机制的卷积神经网络和卷积神经网络处理RGB图像从而获取空间特征,并通过光流图像提取时间特征,进而得到时空特征。但上述多流深度神经网络模型过于复杂且计算量过大。周智等[12]参考视频行为识别领域三维卷积网络的思路构建了一个较为简单的暴力行为检测模型,直接使用三维卷积网络提取时空特征。实验结果表明,上述方法在暴力行为检测方面比人工设计特征的方法提取特征效率更高,但网络参数较多,网络模型较复杂。
针对三维卷积神经网络中暴力行为检测准确度较低、网络参数过多不易拟合的缺陷,笔者提出了一种(2+1)D密集残差网络的暴力行为检测方法。此网络结构借鉴了行为识别领域优秀的R(2+1)D网络[13]结构,采用 (2+1)D卷积核替代三维卷积核,可以更加有效地提取暴力行为特征。受文献[14]中的ResNet-D的结构启发,文中将三维残差模块分支进行优化,由于原残差模块中步长(stride)为2的卷积操作忽略了3/4的特征信息,因此将其优化为步长为2的池化操作和步长为1的卷积操作。另外将残差模块中两个卷积层间进行密集拼接,不仅可以增加特征复用,还可以减轻梯度消散问题。
1 网络模型
笔者提出的(2+1)D密集残差网络模型结构如图1所示。模型共有1个(2+1)D卷积层、4个(2+1)D密集残差模块、1个全局池化层、1个全连接层、1个分类层器。使用5个卷积模块进行时空特征提取,卷积层后是全局平均池化层,再其次是全连接层,并在所有卷积层和全连接层之后使用批量正则化,从而加快网络的优化速度,最后分类器采用Softmax进行分类。
图1 (2+1)D密集残差网络结构
1.1 (2+1)D卷积核
TRAN等[13]提出了一种三维时空特征提取方法,通过将三维卷积核优化为(2+1)D卷积核,即空间二维卷积与时间一维卷积实现三维时空卷积,有效减小了训练时长并提高了分类精度。因此,文中采用(2+1)D卷积核构造卷积模块,实现三维时空特征提取。此外,在(2+1)D卷积核中两个子卷积之间增加一个修正线性单元(Rectified Linear Unit,ReLU)函数,使得网络中非线性操作的数量增加了1倍,进而可以提高网络分类精度。其网络结构如图2(b)所示。
(a) 三维卷积核网络结构
1.2 (2+1)D密集残差模块
残差模块是残差网络的基本组成部分,可以有效地减少梯度弥散问题。它分为直接映射和残差两部分(如图3所示),数学公式可表示为
x1=h(x0)+F(x0,w0) ,
(1)
其中,h(x0)表示直接映射部分,F(x0,w0)表示残差部分,x0表示输入特征图,x1表示输出特征图。由于x0与x1的特征图数量不同,直接映射部分需要对特征图进行降维处理。
图3 残差模块结构图
由于原始残差模块结构中直接映射部分stride=2的卷积操作忽略了原特征图中3/4的信息,导致丢失某些有用的特征。因此,文中通过将残差模块直接映射部分优化为stride=2的均值池化操作和stride=1的卷积操作,stride=1的卷积操作可以保证特征信息不丢失,同时均值池化操作可以使高层特征具有更大的感受野,还可以增加它的平移不变性,具体如图4所示。
另外,借鉴密集连接的思想,在图4结构之上将残差模块中两个卷积层间特征图进行拼接,使得残差块中的两个卷积层输出的特征图可以重复使用,以强化特征的传输减轻梯度消散问题,从而构建了(2+1)D密集残差模块,如图5所示。
图4 改进后残差模块结构图
2 实 验
分别在两个数据集上对3D-CNN网络[12]、R(2+1)D网络、改进后R(2+1)D网络、(2+1)D密集残差网络进行了对比分析。3D-CNN网络是周智等借鉴行为分类领域的C3D网络构建的暴力行为检测模型;R(2+1)D网络是C3D网络的升级版;改进后R(2+1)D网络是由改进后残差模块构建而成;(2+1)D密集残差网络是依据(2+1)D密集残差模块构建而成的。
2.1 数据集
实验数据集包括曲棍球比赛数据集和自制数据集。曲棍球比赛数据集是暴力行为检测领域最常用数据集,由冰球比赛场景中的视频剪辑而成,共包括1 000个视频片段,500个暴力行为视频,500个非暴力行为视频。图6为曲棍球比赛数据集中的暴力行为示例图,图7为非暴力行为示例图。
由于曲棍球比赛数据集背景过于单一,笔者自制了一个暴力行为数据集,此数据集中的视频主要包括50个从网上电影中剪辑的视频片段、1 000个曲棍球比赛数据集中的视频片段、200个Movies数据集中的视频片段以及250个从UCF101数据集中拳击动作集、相扑动作集、曲棍球点球动作集以及拳击训练动作集挑选的视频片段。该数据集共有1 500个视频,包括750个暴力行为视频和750个非暴力行为视频。自制数据集示例帧如图8与图9所示,此数据集背景多样,背景光线变化明显,更加具有挑战性。
图6 曲棍球比赛数据集暴力行为示例图
2.2 实验设置
2.2.1 实验环境
实验训练的软件平台为:Google Colaboratory云平台,硬件平台为:Tesla P100 GPU,开发框架为:pytorch 0.40,开发语言为:python 3.6。
2.2.2 网络架构
采用经典的残差网络7层架构。该架构首先以时间长为16 帧,空间大小112×112的图像作为输入,然后使用5层卷积模块提取暴力行为时空特征,再使用全局池化层(Global Average Pooling)与全连接层(Fully Connected Layer,FC layer)进行特征向量转换,最后使用Softmax层进行分类,具体网络结构如表1所示。为清晰表达出网络架构,表中省略了卷积模块2~卷积模块5中直接映射部分。
表1 网络结构参数
文中所用4种网络模型的参数量(Parameters,Params)以及计算量(FLoating point Operations Persecond,FLOPs),如表2所示。
表2 网络模型参数量对比
由表2可知,笔者构建的2种网络结构相比3D-CNN网络和R(2+1)D网络,网络参数量更少,网络参数更加高效,网络更易优化。
2.2.3 损失函数及评价指标
文中实验采用动量梯度下降法对网络进行优化,初始学习率为0.005,每隔20代学习率乘以0.1,权重衰减设置为0.000 5,动量因子设置为0.9,批处理大小设置为16,损失函数使用二分类交叉熵函数
L=-(ylog(y1)+(1-y)log(1-y1)) ,
(2)
其中,L表示损失值(Loss),y1表示模型预测样本是正例的概率;y表示样本标签,如果样本属于正例,y取值为1,否则取值为0。实验中暴力行为类别为正例,非暴力行为为负例。
文中采用精度作为网络的评价标准:
(3)
其中,A表示精度值,TP表示测试样本的真实类别是正例并且模型预测的结果也是正例的样本数量,TN表示测试样本的真实类别是负例并且模型将其预测为负例的样本数量,T表示测试样本的总数。
2.3 实验结果及分析
文中为验证(2+1)D密集残差网络的性能分别在曲棍球比赛数据集和自制数据集上,分别对3D-CNN网络、R(2+1)D网络、改进后R(2+1)D网络以及(2+1)D密集残差网络进行了训练及测试。
首先将数据集以4∶1的比例划分为训练集和测试集。随机选取每个视频的16帧图像作为一个视频序列,并将每一帧图像的大小调整为171×128。训练时,将训练集以4∶1的比例划分为训练和验证两部分,在训练的过程中,为提高数据多样性并且避免过度拟合问题,文中将视频序列中的每帧图像随机裁剪为112×112的图像,再以50%的概率对每帧图像进行水平翻转操作,将这些图像作为网络的输入。验证和测试过程中,从每帧图像中心位置裁剪出尺寸大小为112×112的图像作为网络的输入。
在曲棍球比赛数据集上,笔者分别对R(2+1)D网络(n1)、改进后R(2+1)D网络(n2)及(2+1)D密集残差网络(n3)进行了训练。如图10~13所示,在训练过程中损失函数Loss值整体呈现下降趋势,准确率整体呈上升趋势,当训练进行到30轮后,Loss值和准确率均基本达到稳定状态,其中(2+1)D密集残差网络的Loss值最小,准确率最高。数据分析参见图10~图13。
在自制数据集上,笔者分别对3D-CNN网络(n0)、R(2+1)D网络(n1)、改进后R(2+1)D网络(n2)及(2+1)D密集残差网络(n3)进行了训练。如图12所示,在训练过程中损失函数Loss值整体呈现下降趋势,准确率整体呈上升趋势,当训练进行到40轮后,Loss值和准确率均基本达到稳定状态,其中(2+1)D密集残差网络的Loss值最小,准确率最高。
从表3中可以看出,在曲棍球比赛数据集和自制数据集上,改进后R(2+1)D网络相比原网络取得了更好的结果,准确率相比原网络分别提高了约2.30%和1.00%,从而验证了文中对残差模块直接映射部分改进的有效性;笔者构建的(2+1)D密集残差网络与改进后(2+1)D网络相比,准确率分别提高了约1.47%和 0.93%,从而验证了密集残差模块的有效性。
另外,改进后的R(2+1)D网络和(2+1)D密集残差网络均比3D-CNN网络取得了更好的结果。在曲棍球比赛数据集上,准确率分别比3D-CNN网络提高了约1.21%和 2.68%,在自制数据集上,准确率分别比3D-CNN网络提高了约0.67%和 1.61%。从而验证了该网络模型的有效性及优越性能。
表3 网络模型实验结果对比
3 总 结
笔者提出了一种(2+1)D密集残差网络的暴力行为检测方法,其中(2+1)D密集残差模块可以有效提取暴力行为时空特征。在公开的经典暴力行为检测数据集曲棍球比赛和自制数据集上与其他三种网络进行了实验对比评估,验证了该网络模型能够更好地表示暴力行为信息,是一种简单有效的暴力行为检测方法。在今后研究中,笔者将考虑采用迁移学习、模型融合和扩充数据集等方法来提高网络的识别精度及鲁棒性,构建更加贴近实际生活应用的网络模型。