黄 涛,邬开俊,王迪聪,2,白晨帅,陶小苗
(1.兰州交通大学 电子与信息工程学院,兰州 730070;2.天津大学 智能与计算学部,天津 300350)
目前,大量的监控摄像头部署在公共场所的各个角落,摄像机每时每刻都在产生海量的视频数据,利用这些视频数据来分析解决现实生活中的问题是计算机视觉领域的研究热点。但是,仅通过人眼去识别庞大视频数据中的异常行为将耗时耗力且效果不佳,因此,需要通过机器来识别异常行为。
视频异常检测通常面临如下挑战:对异常行为定义模糊,在不同场景下很难区分行为是否异常;异常事件很少发生,正常和异常样本数据量极不均衡,可用的异常检测数据集很少;不同的异常行为之间存在较大差异,训练模型很难学到有规律的特征;监控视频包含很大的环境噪声,如复杂光线条件、摄像机抖动等。在实际场景中,如果很多人聚集在一条通常情况下人流量很少的街道上,可能会发生斗殴等异常情况。但是对于机器,它们没有自我思考的能力,仅通过分析所捕捉到的视觉信息数据来判断是否异常。一般而言,视觉特征越强,异常检测性能越高。
异常检测可以通过提取视频数据中的外观特征或运动特征来判别行为是否异常。文献[1]设计2 个处理模块,第一个处理模块通过自动编码器学习正常事件的外观特征,第二个模块通过提取视频中的光流信息来学习外观特征和运动特征之间的对应关系。然而,光流估计具有很高的计算成本[2],很难应用在真实场景中。无论网络深度和维度如何变化,基于运动信息的特征都比基于图像的外观特征表现得更好,因为大多数异常行为都是不规则的突然运动,所以运动特征更适合视频异常检测任务。
本文从原始视频帧中尽可能多地获取时空信息,以学习更有效的视觉特征,同时构建一个融合RGB 帧差图[3]和RGB 图像特征的残差网络来学习视频中的运动信息,融合视觉和运动2 种特征的数据来提高检测性能。另外,本文引入卷积注意力机制模块,该模块沿着通道和空间2 个不同的维度学习注意力图,通过学习的注意力权重与输入特征图相乘实现特征自适应优化。为了解决视频异常检测中正负样本比例不平衡的问题,本文引入焦点损失(Focal Loss,FL)函数减少训练中大量简单正常样本的权重,使得模型将更多注意力分配到分类难度较高的样本上。
视频由很多独立的图像帧组成,且视频帧之间存在时间关系。在传统方法中,改进的密集轨迹(Improved Dense Trajectory,IDT)算法[4]利用前后两帧视频之间的光流信息估计相机运动,减弱相机运动带来的影响;采用概率密度估计的方法[5]分析视频中事件的分布状况,从而判断事件是否异常。近年来,深度卷积神经网络[6-8]被提出,如时间结构挖掘[9]、时间卷积网络[10]、三维卷积网络[11-12]、时间分段网络[13]、双流网络[14]等。为了整合视频数据的时空信息,文献[14]提出一种双流网络,即一个单独的RGB 流和一个光流,2 个流通过后期融合进行动作分类。文献[15]提出用于异常检测的双流架构,将光流表示的静态图像和动态运动作为2 个独立网络的输入,分别捕获外观和运动特征,最后通过融合这2 个流的异常分数得到判断结果。文献[16]利用2 个生成器网络来学习正常的人群行为,其中,一个生成器网络将入帧图像生成光流场图像,另一个生成器网络利用光流图像重建帧。在大多数实验测试中,使用光流的双流方法都表现得较好,但是,光流估计的时间成本很高。
本文主要关注视频的时间建模,通过学习视频片段的时间规律性来提取高效的特征信息。为了模拟视频图像的光流,本文将RGB 帧差图作为输入,以提取更多的运动特征数据。此外,还将卷积注意力机制模块加入到模型中,将更多注意力放在重要的目标区域,从而获取重点目标更多的细节信息。文献[17]提出FL 函数以减少训练中大量简单正常样本的权重,受此启发,本文将FL 函数应用于模型中,以解决正常与异常样本数量不均的问题。
在实际场景中,很难检测到长视频中是否包含异常事件以及事件发生的位置,要获得精确的帧级注释非常具有挑战性且成本很高。大多数视频异常检测数据集[18-19]只提供视频级的标签,制作弱标签的数据集更加容易。本文提出一种弱监督的方法,只给训练样本提供视频级的标签(正常或异常)。在训练时,只知道视频中是否包含异常行为,不知道具体的异常行为类别和异常发生的时间,在测试时给出视频是否异常的判断。本文通过改进的时间分段网络学习运动特征,然后预测视频片段的正异常分数,并整合得到最终的视频级预测结果。
图1 所示为本文视频异常检测网络的整体结构,主要分为3 个部分:
图1 改进型时间分段网络框架Fig.1 Improved time segmentation network framework
1)将输入视频分段,从每个视频段中随机选择RGB 图像帧,从2 个连续图像帧之间得到RGB 帧差图,用以描述运动外观的变化,并将RGB 图和RGB帧差图作为网络的输入。
2)融合2 种特征数据,以预训练的残差网络ResNet101(Residual Network 101)作为主干网络,结合卷积注意力模块(Convolutional BlockAttention Module,CBAM)提取视频段的运动特征,利用视频特征得到视频片段的分类预测结果。
3)不同视频段的正常、异常类得分通过片段共识函数得到视频级的预测结果,然后将RGB 图和RGB 帧差图2 种模式所得的预测结果进行融合,从而得到最终的预测结果。
时间分段网络应用于视频异常检测领域时能取得较好的检测效率和性能,本文在改进型时间分段网络(TSN)上进行一系列实验,这些实验数据也直接应用于改进型时间分段网络的学习过程。
网络架构是神经网络设计中的一个重要因素。研究表明,更深的网络结构可以提高目标识别的性能[20-21]。本文选择ResNet101 作为主干网络,将单个RGB 图作为空间卷积网络的输入,时间卷积网络的输入为多帧图像间的RGB 帧差图。2 个网络经过一系列卷积层和全连接层后,通过一个预测函数得出概率分布值。最后,融合这2 个网络的预测值,得到整段视频的类别概率。本文将卷积注意力模块加入到主干网络中,学习到的注意力权重可以更好地被分配到重点关注的目标区域。
大多数基于双流的卷积网络将光流作为运动建模的输入来源,虽然光流作为输入时性能表现较好,但是光流估计需要消耗很高的计算成本。受文献[3]的启发,本文不使用光流表示运动特征,而是构建连续RGB帧差图以表示运动特征,如图2 所示。通常单个RGB图像只能编码特定时间点的静态外观,缺少关于前一帧和下一帧图像的上下文信息。2个连续帧之间的RGB帧差图能够描述运动的变化,对应于运动的凸起区域,运动表示可以从RGB 帧差图中学习。因此,本文通过学习时间规律性和运动一致性,将RGB 图和RGB 帧差图融合作为时间分段网络的输入,从而提取视频帧中的基本运动信息。
图2 RGB 图、RGB 帧差图示例Fig.2 Examples of RGB image and RGB frame difference image
目前,视频异常检测领域面临的一个很大的挑战就是训练的网络无法对长时间监控视频进行建模,这主要是因为这些网络很难提取视频中相邻帧的关系信息,大多数网络只能对短视频片段中的单个帧进行操作,当面对持续时间很长的异常情况(如爆炸、斗殴等异常行为)时,就会损失监控视频中一些很重要的运动信息。为了解决这一问题,本文使用改进型时间分段网络学习监控视频中的运动特征,从而对整个视频进行动态建模。
本文改进型时间分段网络框架利用整个视频的运动信息进行视频级预测。时间分段网络不是处理单帧,而是处理整个视频中稀疏采样的短片段,视频采样的每个短片段都将产生正异常预测分数,对这些片段产生的预测分数进行整合,最后得出视频级的预测结果。对于一个视频V,本文将其分割为持续时间相同的N段,即{V1,V2,…,VN},对稀疏采样的短片段进行建模,如下:
其中:(C1,C2,…,CN)是一系列片段,每个片段CN从其相应的段VN中随机采样;F(CN;W)表示具有参数W的卷积神经网络的函数,函数将得出视频片段CN的正异常分数;分段共识函数G整合多个短片段的结果,将其平均用作视频级别分数预测,得到一致性的假设;预测函数H预测得到视频正异常的概率。
在视频异常检测研究中,因为监控视频中的异常行为发生的概率很小,大多数行为都是正常的,所以训练数据集中正常、异常样本严重不均衡。此外,正常样本数量占比太大,且其中很多是容易分类的样本。为了解决样本类别不均衡的问题,本文选择焦点损失函数,该函数可以降低大量易分类样本所占的比重,使得模型将更多注意力分配给难分类的样本。焦点损失函数表示为:
其中:C表示视频的类别数目(正常和异常类)。为了解决类别不均衡的问题,本文引入权重因子α。为了降低简单样本的权重,添加调制参数Gi=g(Fi(T1),Fi(T2),…,Fi(TN))。使用一个聚合函数g将所有片段上的同一类分数聚合为一个类分数Gi,使用平均聚合函数g得出视频级的异常分数。
本文时间分段网络是可微的,利用多个片段和反向传播算法联合优化模型参数W。在反向传播的过程中,模型参数W的梯度可以通过损失值Lfl来推导:
其中:N是时间分段网络使用的分段数量。
本文使用随机梯度下降(SGD)的优化方法来学习模型参数,式(3)保证了参数更新,通过这种方式进行优化,时间分段网络可以从整个视频中学习模型参数,而不是视频中的一个小片段。同时,本文使用稀疏时间采样策略,采样片段只包含帧的一小部分,与使用密集采样帧的方法相比,能够大幅降低在帧上进行评估时的计算成本。
在监控视频中,大部分物体都是静止不动的,异常行为会有较大的运动变化,因此,本节的目标是为监控视频中的运动物体分配更多的权重。基于这一特性,本文使用卷积注意力模块CBAM,该模块被广泛应用于前馈卷积神经网络中。给定一个中间特征图,卷积注意力机制会从通道和空间2 个不同维度按照顺序学习注意力,并对特征图进行自适应特征优化。相比于使用单一通道注意力机制的SeNet,CBAM 能取得更好的效果。
通道注意力机制先从空间维度上压缩特征图,然后输出一维矢量。为了将特征映射的空间信息整合在一起,空间维度压缩特征图需要同时考虑平均值池化和最大值池化,然后输入到MLP 共享网络中,压缩输入特征图的空间维数,再逐个元素求和合并,最后得到通道注意力图。对于一张图片来说,通道注意力更在意的是图上有价值的内容。平均值池化会对特征图上所有像素点进行反馈,最大值池化则在梯度反向传播时对特征图响应最大处进行反馈。通道注意力机制可以表示为:
其中:Mc是通道注意力权重系数,通道注意力机制的输入是一个H×W×C的特征F;MLP 是共享的全连接层网络分别是最大池化和平均池化不同的空间背景描述;在W0后使用ReLU 作为激活函数。
空间注意力机制对通道进行压缩,在通道维度上提取平均值池化和最大值池化特征图,提取通道上的平均值和最大值,提取的次数都是高乘以宽,然后将所提取的特征图进行整合得到两通道的特征图:
其中:Ms是空间注意力权重系数,空间注意力机制的输入是一个H×W×C的特征F;f7×7表 示7×7 的 卷积层。
卷积层得到的结果首先通过通道注意力机制计算加权结果,然后通过空间注意力机制再加权得出结果,整个过程如下:
其中:⊗表示逐元素乘法;F为输入特征;Mc表示通道注意力提取操作;Ms表示空间注意力提取操作;F'由输入特征F和通道注意力相乘得到;F″由通道注意力特征F'和空间注意力相乘得到,为最终的输出。
目前,视频异常检测数据集相对较少,可能出现数据过拟合现象。为了缓解这一问题,本文提出如下3 种时间分段网络训练策略:
1)跨模态初始化。对卷积神经网络参数进行预训练可以弥补训练数据较少所带来的影响,时间分段网络以RGB 图像作为输入,因此,用ImageNet 上预训练的模型进行初始化。以RGB 帧差图作为另一种输入,可以捕捉到视频不同的视觉特征,其分布与RGB 图像不同,采用一种跨模态初始化策略,即利用RGB 模型初始化时间分段网络。RGB 帧差图作为输入,需要修改RGB 初始网络的第一个卷积层,以得到RGB 通道权重的平均值,然后依据实际通道数量复制平均值,从而减少时间分段网络中的过拟合现象。
2)正则化。在用预训练的模型进行初始化后,冻结除第一层之外的全部批量标准化层的平均值和方差参数。RGB 图和RGB 帧差图的分布不同,第一个卷积层的激活值也不同,因此,要重新计算对应的方差和平均值。另外,在全局池化层后加一个Dropout 层,也能减少过拟合的影响。
3)数据增强。数据增强可以产生不同的训练样本,而且可以防止严重的过拟合现象。本文加入角裁剪、尺度抖动这2 个有效的数据增强方法。角裁剪只裁剪图像的边角或中心区域,从而更全面地关注图像信息。尺度抖动将输入图像的宽和高限定为256×340,裁剪区域的宽、高从{168,192,224,256}中随机选择,最后,为了便于网络训练,裁剪区域将重新调整为224×224。
现有的视频异常检测数据集[22-23]存在视频样本数量少以及异常类别有限的问题。本文目标是提取视频中的多个特征信息,因此,需要一个样本大、异常类别全面的数据集。本文使用大规模现实世界犯罪数据集UCF-Crime[19]和CUHK Avenue 数据集来验证算法的有效性。UCF-Crime 数据集共有1 900 个视频,训练集包含810 个异常视频和800 个正常视频,测试集有150 个正常视频和140 个异常视频,异常行为包括道路交通事故、商店盗窃、打架等13 种不同的类别。CUHK Avenue 数据集包含16 个正常视频和21 个异常视频,视频帧的分辨率为640×360 像素,视频共包含30 652 帧,异常行为主要包括奔跑、抛掷物体等。
实验过程中使用的GPU型号为CirrusLogicGD5446,在PyTorch 框架下实现。在使用时间分段网络进行训练时,观察Loss 值的下降速度,将迭代次数设置为50 次。
本文使用SGD 方法来学习网络参数,动量设置为0.8。将视频中每帧大小调整为224×224,在实验中设置一个较小的学习率,设置初始学习率为0.005,Dropout 为0.6,学习率衰减为0.001。为了解决样本少的问题,本文使用位置抖动、水平翻转、角裁剪和比例抖动的数据增强技术。另外,为了去除视频连续帧之间存在的冗余信息并降低计算量,本文对视频进行稀疏采样,将整个视频分割成无重复的16 个小片段。
本文通过计算接收者操作特征(Receiver Operating Characteristic,ROC)曲线下的面积(Area Under Curve,AUC),以评估模型的检测性能。给定具有不同阈值的模型,ROC 能够说明该模型的性能,ROC的AUC 值越高,说明该模型性能越好。为了确保不同方法之间的可比性,本文计算帧级的AUC 结果[24]。
在UCF-Crime 和CUHK Avenue 数据集上,将本文改进的时间分段网络与主流检测方法进行实验对比。图3 所示为UCF-Crime 数据集上的ROC 曲线,可以看出,本文融合RGB 图和RGB 帧差图输入的改进时间分段网络在帧级的召回率上表现更优。
图3 在UCF-Crime 数据集上的ROC 曲线Fig.3 ROC curves on UCF-Crime dataset
表1 和表2 显示不同方法在UCF-Crime 和CUHK Avenue 数据集上得到的帧级AUC 结果。一般情况下,无监督异常检测方法只利用正常样本进行训练,对视频中的噪声很敏感,检测效果相比监督和弱监督方法较差,如文献[23,25]方法计算的AUC 值较低;文献[19]方法利用C3D 提取视频的特征信息,采用弱监督方法,在UCF-Crime 数据集上AUC 值达到了75.41%,但是该方法忽略了视频中很重要的运动信息;本文改进型时间分段网络学习视频中的外观和运动信息,使得AUC 值得到较大提升,高于文献[19]方法2.19 个百分点,高于基准方法TSN(RGB 流)[3]6.6 个百分点。
表1 UCF-Crime 数据集上的实验结果对比Table 1 Comparison of experimental results on UCF-Crime dataset %
表2 CUHK Avenue 数据集上的实验结果对比Table 2 Comparison of experimental results on CUHK Avenue dataset %
本文方法在CUHK Avenue 数据集上的AUC 结果略低于Future Frame[29]。CUHK Avenue 数据集是在校园内拍摄的,拍摄的背景光线较差,目标离摄像头距离较远,且从视频帧中提取的帧差图具有较多噪声,对动作特征提取产生了较大影响。S-Temporal dissociation[30]与本文方法相似,将视频特征信息分离为空间和时间信息,采用RGB 帧差图模拟光流的运动。S-Temporal dissociation[30]联合聚类判别与重构判别,提出深度k-means 聚类算法使得空间编码器和运动编码器提取的特征更紧凑,采用时空卷积自动编码器重构视频特征信息,异常行为相较于正常行为会导致较大的重构误差。而本文基于时间分段网络的预测方法的AUC 值相对于S-Temporal dissociation[30]略低,原因是本文方法没有充分利用外观特征的分布信息。
本文方法在UCF-Crime 数据集上的异常事件检测结果如图4 所示,从中可以看出,本文异常事件检测方法可以有效地判断出视频是否异常,并给出正常异常分数。
图4 异常事件检测结果Fig.4 Abnormal event detection results
本次实验将研究卷积注意力机制、RGB 图和RGB 帧差图的组合输入对算法性能的影响,结合不同组件在UCF-Crime 数据集上进行实验,结果如表3 所示。从表3 可以看出,利用单个RGB 图提取运动特征存在局限性,结合RGB 帧差图可以提取更多的运动特征信息。另外,本文添加的时空卷积注意力模块可以更好地分配注意力权重,提高异常检测性能。当TSN(RGB 流)引入时空卷积注意力模块时,可以提高AUC 值4.9 个百分点,将RGB 帧差图与RGB 图相结合,AUC 值进一步提高1.7 个百分点。
表3 UCF-Crime 数据集上的消融实验结果Table 3 Ablation experimental results on UCF-Crime dataset %
为了更深入地理解卷积注意力模块的影响,本文对卷积注意力模块的特征图进行可视化,为了进行比较,本次实验结果还显示了输入帧和残差网络输出帧的特征图。图5 所示为UCF-Crime 数据集上示例帧的热力图(彩色效果见《计算机工程》官网HTML 版),第一行是输入的视频帧,第二行显示空间卷积网络输出帧特征的可视化图,第三行显示空间卷积网络加上注意力机制加权后特征的可视化图,较高的注意力权重区域显示更深的红色,而注意力权重较低的区域更接近蓝色。
图5 特征的可视化效果Fig.5 Visualization of features
本文提出一种基于改进型时间分段网络的弱监督视频异常检测方法,该方法以残差网络作为主干网络,充分学习时间特征的规律性。为了提取视频中的关键运动信息,将RGB 帧差图和RGB 图相融合作为网络输入。为了解决视频异常检测中正负样本比例不平衡的问题,引入焦点损失函数降低训练中大量简单正常样本的权重,使得模型更专注于难分类的样本。另外,引入卷积注意力模块,该模块沿着通道和空间2 个不同的维度学习注意力图,使得模型将更多的注意力分配到异常行为发生的区域。在UCF-Crime 和CUHK Avenue 数据集上的实验结果验证了该方法的有效性。本文对从视频中提取的空间和时间特征进行优化,但未充分提取到视频样本中的空间特征数据,而且网络容易受到背景噪声的影响,解决上述问题从而提高网络异常行为检测的准确性,将是下一步的研究方向。