2021-ADNet:监控视频中的时间异常检测ADNet: Temporal Anomaly Detection in Surveillance Videos

异常检测一般的方法是学习环境中的正常行为,将一切不正常的行为定义为不正常,这种方法可能会产生一些误报,但是有可能识别不包括在训练数据集中的异常情况。另一种方法是将数据集中的异常情况喂给模型学习,并尝试识别它们,但是失去了识别没有训练过的异常情况的能力。

本文的贡献:

1.提出了一个异常检测网络:ADNet,利用卷积来定位视频中的异常。
2.为了提高ADNet的异常检测能力,提出了AD损失函数。
3.扩展了UCF-Crime数据集,增加了两个异常类。
本文的代码和数据集扩展在:
https://github.com/hibrahimozturk/temporal_anomaly_detection

其他卷积网络需要获得整个视频以产生结果,而ADNet使用滑动窗口方法按顺序获得视频片段,可以有效地处理不同大小的视频,并且可以防止由于将整个视频调整为合适于固定大小的输入而导致信息丢失。通过时空深度网络,ADNet提取窗口中所有视频片段的特征,并为每个视频片段生成单独的异常评分。
作者选择F1@K而不选择AUC来度量模型性能的原因是:AUC没有考虑剪辑的时间顺序,它惩罚时间段中微小偏移,不能有效惩罚时间空间中的短的假阳性段。F1@K在IoU上计算K个时间段的百分比,该百分比是通过对异常片段阈值化得到的,该阈值为0.5.
UCF犯罪数据集在测试集中提供了时间异常注释,但是在训练集中只提供了视频级别的注释。作者为数据集所有异常类提供了时态注释。

Anomaly Detection Network

2021-ADNet:监控视频中的时间异常检测ADNet: Temporal Anomaly Detection in Surveillance Videos_第1张图片

模型输入一个视频的所有剪辑特征而不分割成小部分。作者定义了一个阶段序列(stages),它有一系列由卷积层组成的块。每个阶段输出每个剪辑特征X_t的异常分数Y_t.下一阶段的输入是上一阶段的输出,除了第一阶段。
阶段的输出输出定义如下:
在这里插入图片描述
是卷积运算,W是滤波核,b是核的偏差值,Y_s是第s阶段输出的异常分数向量。在下一阶段输入前一阶段的输出Y_s-1,进入下一阶段Y_s,在该阶段开始时,应用11卷积将通道大小从1增加到D_H.

Temporal Sliding Window

在上一节中,作者将整个剪辑特征x1…_xT输入到网络中。为了通过数据扩充提供泛化能力,将连续片段特征分割到窗口,其中每个窗口包含W个连续片段特征(x1,x2…xw)。如果视频的剪辑特征少于窗口宽度T.填充的空剪辑特征的信息流被卷积的掩蔽输出阻断,如下所示:
在这里插入图片描述
Vl是第l层的输出,(w1,w2,b1,b2)是卷积的参数,·是点积。
窗口步长设置为窗口大小的一半,以获得更平滑的推断结果,同时增加训练剪辑窗口的数量。换句话说,在训练过程中,作者通过将视频分割到窗口和一半步幅的窗口来增强数据。窗口i的起始位置用:在这里插入图片描述
结束位置公式:在这里插入图片描述

在训练和测试阶段,作者对网络使用相同的窗口大小。在推断(inference)过程中用重叠窗口的异常得分的平均值,如下图:
2021-ADNet:监控视频中的时间异常检测ADNet: Temporal Anomaly Detection in Surveillance Videos_第2张图片
蓝色的球为剪辑特征Xi,与(a)图对视频的剪辑特征进行卷积不同,而是将剪辑特征划分为相等的窗口以通过ADNet如图(b)。窗口与前一个窗口相交,对重叠部分的输出分数取平均值,得到的最终的输出分数。异常结果呈红色。根据上述公式,可以看出(b)图是根据i=3来进行重叠的。
阶段中的每一层(除最后一层)输出在这里插入图片描述其中,卷积输出的维数相同。为了匹配输入维和输出维,作者填充输入P,在这里插入图片描述
K为内核大小。如果填充P等于窗口W的输入大小,卷积的一半以上的输入都是填充元素。窗口宽度不能超过感受野,其中接收范围:在这里插入图片描述
因此,为了避免信息丢失,我们确定窗口宽度W的最大层数,如下所示:
在这里插入图片描述

Loss

2021-ADNet:监控视频中的时间异常检测ADNet: Temporal Anomaly Detection in Surveillance Videos_第3张图片
作者提出的AD Loss增加了最近的相反的一对的之间的距离。红色圆圈表示异常剪辑,白色圆圈表示正常剪辑。
作者认为这些距离最近且相反的对是最接近错误的,于是作者提出了AD损失函数。
在这里插入图片描述
L_MSE均方误差损失和L_AD异常检测损失的组合产生了L_s的最终损失值。
L_AD的贡献控制在在这里插入图片描述

L_AD的公式如上,y_A为异常输入得分,y_HA为y_A关于阈值0.5这条线的对称点,y_N为正常输入得分,y_HN为y_N关于阈值0.5这条线的对称点。α 参数控制硬对之间的理想距离。
2021-ADNet:监控视频中的时间异常检测ADNet: Temporal Anomaly Detection in Surveillance Videos_第4张图片

上图为我举得例子,我们假设yA为0.52,yN为0.42,那么其对称点yHA为0.48,yHN为0.58.我们将其带入上述公式求地LAD=0.2(在这里假设α=0.1),原来yA与yN的距离为0.1,在经过公式之后,距离变成了之前的距离加上我们理想的距离之和了。
每个阶段输出给定视频的每个输入剪辑特征的异常概率,按照如下公式计算每阶段输出的损耗,在训练中损失的总和被最小化。
在这里插入图片描述

实验

作者认为异常片段构成了测试样本中基本事实的一小部分。因此,异常节段的错误预测或正常节段的小假阳性都不足以影响AUC评分。图4显示了测试视频的地面真相和预测分割的时间线。测试视频的AUC分数为74.83,F1@25 分数是24.99。这个例子显示了F1@k 度量与AUC度量的比较。
2021-ADNet:监控视频中的时间异常检测ADNet: Temporal Anomaly Detection in Surveillance Videos_第5张图片

数据集

对于模型的评估,作者使用了UCF犯罪数据集,它由13个异常类组成。我们在数据集中添加了两个不同的异常类,分别是“molotov炸弹”和“抗议”类。我们还增加了33个视频战斗类。我们总共向训练集中添加了216个视频,向测试集中添加了17个视频。UCF犯罪数据集的测试集具有时态标注和分类。然而,UCF犯罪数据集的训练视频是在视频级别进行分类的,并且没有为训练集提供时态标注。为了训练具有时间信息的模型,我们在时域中对训练视频中的异常进行了标注。新的数据集命名为UCF Crime V2。

结果

2021-ADNet:监控视频中的时间异常检测ADNet: Temporal Anomaly Detection in Surveillance Videos_第6张图片
W:窗口,S:阶段数,L:阶段的层数。I3D是实验中的特征提取工具。
表二比较了不同窗口宽度和没有窗口的ADNet。时间滑动窗口在训练过程中增强数据。减小窗口大小可以提供更好的增强,但是时间信息会被折叠。在数据扩充和时态知识之间存在一种权衡。表2显示了在64个时间窗口宽度下获得的最佳结果。
表一固定了窗口宽度和阶段数,结果显示在层数为6的时候效果最好。
2021-ADNet:监控视频中的时间异常检测ADNet: Temporal Anomaly Detection in Surveillance Videos_第7张图片
损失函数的比较。I3D是实验中的特征提取工具。在这些实验中,窗宽为64,级数为5,层数为6。λ 在这些实验中设置为0.5。结果表明,MSE+AD损失比MSE损失更成功在异常阶段。但MSE+AD损耗比正常段的MSE损耗更严重。所以作者在其他实验中使用MSE损耗。
不同时空特征提取方法的比较:
2021-ADNet:监控视频中的时间异常检测ADNet: Temporal Anomaly Detection in Surveillance Videos_第8张图片
在以前的实验中,我们使用I3D[3]作为特征抽取器。时间移位模块(TSM)[18]是比I3D网络更有效的动作识别网络,而动力学[13]数据集的性能相似。为了从视频片段中提取特征,我们使用了TSM作为I3D的替代方案。表4显示了I3D和TSM网络的结果,其中ADNet的参数如下,窗口宽度为64,级数为5,层数为6。虽然I3D和TSM得到不同大小的输入片段,并以不同的格式输出,但实验表明ADNet可以利用不同的特征提取网络。实验结果表明,I3D特征在ADNet网络中更适合分割正常事件,而TSM特征更适合分割异常事件。

与最新模型的性能比较:
2021-ADNet:监控视频中的时间异常检测ADNet: Temporal Anomaly Detection in Surveillance Videos_第9张图片

你可能感兴趣的:(暴恐检测,计算机视觉)