【视频异常检测】Self-Training Multi-Sequence Learning with Transformer for Weakly Supervised Vi... 论文阅读

文章信息:

在这里插入图片描述
发表于:2022AAA[
原文链接:https://ojs.aaai.org/index.php/AAAI/article/view/20028/19787
源码:空仓

Abstract

弱监督视频异常检测(VAD)使用多实例学习(MIL)通常基于这样一个事实,即异常片段的异常得分高于正常片段。在训练初期,由于模型的准确性有限,容易选择错误的异常片段。为了减少选择错误的概率,我们首先提出了一种多序列学习(MSL)方法和基于 hinge 的 MSL 排序损失,该方法使用由多个片段组成的序列作为优化单元。然后,我们设计了一种基于 Transformer 的 MSL 网络,学习视频级别的异常概率和片段级别的异常得分。在推理阶段,我们建议使用视频级别的异常概率来抑制片段级别异常得分的波动。最后,由于 VAD 需要预测片段级别的异常得分,通过逐渐减少选定序列的长度,我们提出了一种自训练策略来逐步细化异常得分。实验结果表明,我们的方法在 ShanghaiTech、UCF-Crime 和 XD-Violence 上取得了显著的改进。

Introduction

视频异常检测(VAD)旨在检测视频中的异常事件,具有重要的实际价值(Zhang, Qing 和 Miao 2019;Guo 等 2021)。通常,VAD 会预测视频中每个片段的异常得分。主要有三种范式:无监督 VAD(Gong 等 2019;Cai 等 2021)、弱监督 VAD(Zhong 等 2019)和有监督 VAD(Liu 和 Ma 2019;Wan 等 2021)。无监督 VAD 仅在正常视频上进行学习,假设未见过的异常视频会有较高的重构误差。由于缺乏对异常的先验知识并且无法学习所有正常视频模式,无监督 VAD 的性能通常较差(Tian 等 2021)。由于细粒度的异常标签耗时费力,难以收集大规模数据集,因此有监督范式较难实现。弱监督范式则以视频是否包含异常为视频级标签,预测每帧的异常得分。弱监督范式因其竞争力的表现被验证为一种可行的方法(Feng、Hong 和 Zheng 2021)。最近,许多研究人员开始关注弱监督 VAD(Zhong 等 2019)。

大多数弱监督 VAD 基于多实例学习(MIL)(Sultani、Chen 和 Shah 2018;Zhu 和 Newsam 2019;Wan 等 2020;Tian 等 2021)。基于 MIL 的方法将视频视为一个包,包含多个实例。每个实例是一个片段。从异常视频生成的包称为正包,从正常视频生成的包称为负包。由于视频级标签指示视频是否包含异常,正包至少包含一个异常片段,而负包不包含异常片段。基于 MIL 的方法通过包级标签学习实例级异常得分(Zhong 等 2019)。

在基于 MIL 的方法中,正包中的至少一个实例包含异常,而负包中的任何实例都不包含异常(Sultani、Chen 和 Shah 2018)。通常,基于 MIL 的方法假设正包中异常得分最高的实例应该比负包中异常得分最高的实例排名更高(Zhu 和 Newsam 2019)。因此,对于基于 MIL 的方法来说,重要的是正确选择正包中的异常实例。大多数基于 MIL 的方法将一个实例视为一个优化单元(Zhang、Qing 和 Miao 2019;Feng、Hong 和 Zheng 2021;Tian 等 2021)。然而,如果模型在正包中错误地预测了异常实例,这种错误会随着训练的进行而被放大。也就是说,如果一个正常实例被预测为异常实例,这种错误会影响后续实例的选择。此外,异常事件通常是多个连续片段,但基于 MIL 的方法并没有考虑这一先验。

为了缓解上述缺点,我们提出了一种多序列学习(MSL)方法。我们的 MSL 不再使用单个实例作为优化单元,而是使用由多个实例组成的序列作为优化单元。换句话说,我们的 MSL 方法不再选择异常得分最高的实例,而是选择异常得分总和最高的序列。这减少了错误选择异常实例的概率。为了实现我们的 MSL 方法,我们提出了一种基于 Transformer 的多序列学习网络,包括一个多层卷积 Transformer 编码器来编码提取的片段特征、一个视频分类器来预测视频级别的异常得分,以及一个片段回归器来预测片段级别的异常得分。在推理阶段,我们建议使用视频级别的异常得分来抑制片段级别异常得分的波动。由于 VAD 的目标是预测细粒度的异常得分(Tian 等,2021),我们采用了两阶段自训练策略逐步细化异常得分。

为了展示我们的 MSL 的性能,我们使用基于 Transformer 的 VideoSwin(Liu 等,2021c)作为骨干网络来提取片段级别特征,并在 ShanghaiTech(Luo、Liu 和 Gao,2017)、UCF-Crime(Sultani、Chen 和 Shah,2018)和 XD-Violence(Wu 等,2020)上进行实验。为了公平比较,我们还使用 C3D(Tran 等,2015)和 I3D(Carreira 和 Zisserman,2017)作为骨干网络来提取特征。实验结果表明,我们的 MSL 达到了最先进的效果。总结如下,我们的主要贡献如下:

  • 我们提出了一种多序列学习方法,该方法使用由多个实例组成的序列作为优化单元。在此基础上,我们提出了一种多序列学习排序损失,它选择异常得分总和最高的序列。
  • 基于多序列学习及其排序损失,我们设计了一种基于 Transformer 的多序列学习网络,并提出在推理阶段使用视频级别的异常分类概率来抑制片段级别异常得分的波动。
  • 通过逐步减少选择的序列长度,我们提出了一种两阶段自训练策略,以逐步细化异常得分,因为 VAD 需要预测细粒度的异常得分。
  • 实验结果表明,我们的方法在 ShanghaiTech、UCF-Crime 和 XD-Violence 数据集上达到了最先进的效果。可视化结果显示,我们的方法可以实现异常片段的检测。

Related Work

Weakly Supervised Video Anomaly Detection

大多数现有的弱监督 VAD 方法(He, Shao, and Sun 2018;Zhang, Qing, and Miao 2019)基于多实例学习(MIL)。由于2017年之前的大多数方法(Li, Mahadevan, and Vasconcelos 2014;Zhao, Fei-Fei, and Xing 2011)仅使用正常训练视频,He, Shao, and Sun 提出了引入异常的学习方法来检测异常事件,并提出了一种基于图的 MIL 模型,该模型结合了正常和异常视频数据(He, Shao, and Sun 2018)。Sultani, Chen, and Shah 提出了深度 MIL 排序损失来预测异常得分(Sultani, Chen, and Shah 2018)。Zhang, Qing, and Miao 进一步通过定义内袋损失引入了内袋得分差距正则化(Zhang, Qing, and Miao 2019)。Zhong 等人将弱标签下的异常检测视为有噪声标签下的监督学习,并设计了交替训练过程以促进动作分类器的辨别能力(Zhong et al. 2019)。Zhu 和 Newsam 提出了基于注意力的时间 MIL 排序损失,使用时间上下文更好地区分异常和正常事件(Zhu and Newsam 2019)。Wan 等人提出了一种动态 MIL 损失以扩大异常和正常实例之间的类间距离,并提出了一种中心损失以减少正常实例的类内距离(Wan et al. 2020)。Feng, Hong, and Zheng 提出了基于 MIL 的伪标签生成器,并采用自训练方案通过优化自引导注意力编码器和任务特定编码器来细化伪标签(Feng, Hong, and Zheng 2021)。Tian 等人提出了一种稳健的时间特征幅度学习方法来有效识别异常实例(Tian et al. 2021)。

Self-Training

自训练在半监督学习中被广泛应用(Rosenberg, Hebert, and Schneiderman 2005; Tanha, van Someren, and Afsarmanesh 2017; Tao et al. 2018; Li et al. 2019; Jeong, Lee, and Kwak 2020; Tai, Bailis, and Valiant 2021)。在自训练中,训练数据通常包含有标签和无标签的数据(Liu et al. 2011)。自训练包括以下步骤(Zheng et al. 2020; Yu et al. 2021):1)用有标签的数据训练模型;2)使用训练好的模型预测无标签数据以生成伪标签;3)用有标签数据和伪标签数据一起训练模型;4)重复步骤2和3。在视频异常检测(VAD)中,Pang 等人提出了一种用于序列回归的自训练深度神经网络(Pang et al. 2020)。Feng, Hong, and Zheng 提出了一种多实例自训练方法,为异常视频中的所有片段分配片段级别的伪标签(Feng, Hong, and Zheng 2021)。与他们不同,我们的重点是通过自训练细化异常得分。

Transformer Combined With Convolution

越来越多的研究表明,Transformer 具有出色的性能(Dosovitskiy et al. 2021; Touvron et al. 2021; Liu et al. 2021b)。Dosovitskiy 等人首先证明了纯 Transformer 架构可以达到最先进的性能(Dosovitskiy et al. 2021)。Touvron 等人进一步探索了视觉 Transformer 的数据高效训练策略(Dosovitskiy et al. 2021; Touvron et al. 2021)。Liu 等人进一步引入了局部性、层次性和位移不变性的归纳偏置,用于各种图像识别任务(Liu et al. 2021b)。由于 Transformer 缺乏局部感知能力,许多工作结合了卷积和 Transformer(d’Ascoli et al. 2021; Wu et al. 2021; Li et al. 2021; Xu et al. 2021; Yan et al. 2021; Zhang and Yang 2021; Liu et al. 2021a)。为了引入局部帧间感知,我们类似于 Wu 等人的方法,将 Transformer 块中的线性投影转变为深度可分离的一维卷积(Chollet 2017; Howard et al. 2017)。

Our Approach

在本节中,我们首先定义符号和问题陈述。接着,我们介绍我们的多序列学习(MSL)方法。最后,我们展示我们方法的流程。

在这里插入图片描述

图1:整体框架。 (a) 我们的多序列学习(MSL)架构,包括一个骨干网络和一个基于Transformer的MSL网络(MSLNet)。由骨干网络提取的特征 F ∈ R T × D F\in\mathcal{R}^T\times D FRT×D 被输入到MSLNet中以预测异常分数,其中 T T T 是片段数量, D D D 是每个片段的特征维度。MSLNet 包含一个视频分类器,用于预测视频包含异常的概率 p p p,以及一个片段回归器,用于预测第 i i i 个片段的异常分数 f θ ( v i ) f_\theta(v_i) fθ(vi)。BCE 是二元交叉熵损失。(b) 自我训练MSL的流程,其中 K K K 通过自我训练机制逐渐从 T T T 变为 1。根据选择序列的方式,MSL的优化包括两个阶段:第一阶段使用伪标签来选择序列,第二阶段使用预测来选择序列。( c) 卷积Transformer编码器(CTE),与(Dosovitskiy 等人 2021)类似,不同之处在于线性投影被替换为 DW Conv1D(Depthwise Separable 1D Convolution)(Howard 等人 2017)。

Notations and Problem Statement

在弱监督视频异常检测(VAD)中,训练视频只在视频级别上进行标注。也就是说,包含异常的视频被标记为1(正样本),而没有任何异常的视频被标记为0(负样本)。给定一个视频 V = { v i } i = 1 T V = \{v_i\}_{i=1}^T V={vi}i=1T以及其视频级别标签 Y ∈ { 0 , 1 } Y \in \{0, 1\} Y{0,1},基于多实例学习(MIL)的方法将视频 V V V 视为一个袋(bag),每个片段视为一个实例。一个正样本视频被视为一个正袋 B a = ( a 1 , a 2 , … , a T ) \mathcal{B}_a = (a_1, a_2, \ldots, a_T) Ba=(a1,a2,,aT),而一个负样本视频被视为一个负袋 B n = ( n 1 , n 2 , … , n T ) \mathcal{B}_n = (n_1, n_2, \ldots, n_T) Bn=(n1,n2,,nT)。VAD 的目标是学习一个函数 f θ f_\theta fθ,将片段映射到其异常分数,分数范围从0到1。通常,基于 MIL 的 VAD 假设异常片段的异常分数高于正常片段。Sultani、Chen 和 Shah 将 VAD 形式化为异常分数回归问题,并提出了 MIL 排名目标函数和 MIL 排名损失(Sultani, Chen, and Shah 2018)。

在这里插入图片描述
公式(Eq.1 和 Eq.2)的直觉是,正袋中异常分数最高的片段应当比负袋中异常分数最高的片段排名更高(Zhu 和 Newsam 2019)。为了保持正实例和负实例之间的较大间隔,Sultani、Chen 和 Shah 提出了基于铰链损失的排名损失:
在这里插入图片描述

在优化开始时, f θ f_\theta fθ需要具有一定的异常预测能力。否则,可能会将正常实例错误地选择为异常实例。如果 f θ f_\theta fθ 错误地预测了正袋中的实例,例如将正常实例预测为异常实例,这种错误在训练过程中会被加剧。此外,异常事件通常涉及多个连续的片段,但基于 MIL 的方法并没有考虑这一先验知识。

Multi-Sequence Learning

在这里插入图片描述

图2:MIL与我们MSL之间实例选择方法的比较。 (a) 包含 T T T 个片段的视频的异常分数曲线,假设第5个片段具有最大的异常分数 f θ ( v 5 ) f_\theta(v_5) fθ(v5)。(b) MIL的实例选择方法,选择第5个片段。(c ) 我们MSL的实例选择方法,选择从第 i i i 个片段开始的由 K K K 个连续片段组成的序列。

为了缓解基于 MIL 的方法中的上述缺点,我们提出了一种新颖的多序列学习(MSL)方法。如图 2 所示,给定一个视频 V = { v i } i = 1 T V = \{v_i\}_{i=1}^T V={vi}i=1T 以及 T T T个片段,通过映射函数 f θ f_\theta fθ预测异常分数曲线。假设第 5 个片段 v 5 v_5 v5 具有最大的异常分数 f θ ( v 5 ) f_\theta(v_5) fθ(v5)。在基于 MIL 的方法中,第 5 个片段将被选中以优化网络(Zhu 和 Newsam 2019)。在我们的 MSL 方法中,给定一个超参数 K K K,我们提出了一种序列选择方法,该方法选择一个包含 K K K个连续片段的序列。具体而言,我们计算所有可能的 K K K个连续片段序列的异常分数均值:

在这里插入图片描述
其中, s i s_i si 表示从第 i i i个片段开始的 K K K个连续片段序列的异常分数均值。然后,可以通过 max s i ∈ S S i \text{max}_{s_i \in S^{S_i}} maxsiSSi 选择具有最大均值异常分数的序列。

基于上述序列选择方法,我们可以简单地使用MSL排名目标函数:

在这里插入图片描述

其中 s a , i s_{a,i} sa,i s n , i s_{n,i} sn,i 分别表示从第 i i i个片段开始的 K K K个连续片段在异常视频和正常视频中的异常分数均值。我们的 MSL 排序目标函数的直觉是,异常视频中 K K K个连续片段的异常分数均值应大于正常视频中 K K K个连续片段的异常分数均值。为了保持正负实例之间的大间隔,类似于公式 3,我们的基于 hinge 的 MSL 排序损失定义为:

在这里插入图片描述
可以看出,MIL是我们MSL的一个案例。当K = 1时,MIL和我们的MSL是等价的。当K = T时,我们的MSL将异常视频中的每个片段视为异常。

Transformer-based MSL Network

Convolutional Transformer Encoder

在介绍我们的基于 Transformer 的 MSL 架构之前,我们首先介绍基本层。Transformer(Vaswani 等 2017)使用序列数据作为输入来建模长范围的关系,并在许多任务中取得了巨大进展。我们采用 Transformer 作为我们的基本层。然而,视频中局部帧或片段之间的关系也非常重要。然而,Transformer 在学习相邻帧或片段的局部表示方面表现不佳(Yan 等 2021)。受到这一点的启发,如图 1(c ) 所示,我们将原始 Transformer 中的线性投影替换为 DW Conv1D(Depthwise Separable 1D Convolution)(Howard 等 2017)投影。新的 Transformer 称为卷积 Transformer 编码器(CTE)。通过这种方式,我们的 CTE 既可以继承 Transformer 的优势,又可以结合卷积神经网络的优点。

Transformer-based MSL Network
如图 1(a) 所示,我们的架构包括一个 Backbone 和一个 MSLNet。任何动作识别方法都可以作为 Backbone 使用,例如 C3D(Tran 等 2015)、I3D(Carreira 和 Zisserman 2017)以及 VideoSwin(Liu 等 2021c)。类似于 Tian 等(2021),Backbone 使用在动作识别数据集(Karpathy 等 2014;Kay 等 2017)上预训练的权重。通过 Backbone,从包含 T T T 个片段的视频中提取特征 F ∈ R T × D F \in \mathbb{R}^{T \times D} FRT×D,其中 D D D是每个片段的特征维度。我们的 MSLNet 将使用 F F F作为输入来预测异常。

我们的 MSLNet 包括一个视频分类器和一个片段回归器。视频分类器用于预测视频是否包含异常。具体来说,视频分类器包含两层 CTE 和一个线性头,用于预测视频是否包含异常的概率:

在这里插入图片描述
其中 W c \mathcal{W}^c Wc 是线性头的参数, p p p 是视频包含异常的概率, c l a s s   token class\textit{ token} class token 用于通过在 CTE 中聚合的特征来预测该概率。由于视频是否包含异常是一个二分类问题, σ \sigma σ 选择了 sigmoid 函数。

片段回归器用于预测每个片段的异常得分。具体来说,片段回归器包含两层CTE和一个线性头,用于预测每个片段的异常得分:

在这里插入图片描述

其中, W r \mathcal{W}^r Wr 是线性头的参数, f θ ( v i ) f_\theta(v_i) fθ(vi) 是第 i i i 个片段的异常得分, E r [ i ] E^r[i] Er[i] 是第 i i i 个片段的特征。由于预测异常得分被视为回归问题, σ \sigma σ 选择 sigmoid 函数。

我们将视频分类器和片段回归器的优化视为一个多任务学习问题。用于优化 MSLNet 参数的总损失是我们的基于 hinge 的 MSL 排序损失和分类损失的总和:

在这里插入图片描述

其中 L ( B a , B n ) \mathcal{L}(B_a, B_n) L(Ba,Bn)是方程6,BCE是输出 p p p 和目标 Y Y Y之间的二元交叉熵损失。

为了减少片段回归器预测的异常分数的波动,我们在推理阶段提出了一种分数修正方法。具体来说,分数修正方法通过使用视频是否包含异常的概率来修正异常分数:

在这里插入图片描述

这种方法的直觉是:当视频分类器预测视频包含异常的概率较高时,保持异常得分;当视频分类器预测视频包含异常的概率较低时,削弱异常得分。

Self-Training MSL

如图1(b)所示,我们提出了一种自我训练机制,以实现从粗到细的训练。我们MSLNet的训练过程包括两个阶段。在引入自我训练机制之前,我们首先获取训练视频的伪标签 j j j。通过将已知的视频级标签 Y {\mathcal{Y}} Y在弱监督视频异常检测(VAD)中作为片段的异常分数,我们可以立即得到初始的片段级伪标签 Y ^ \hat{\mathcal{Y}} Y^。也就是说,对于异常视频,每个片段的伪标签为1,而对于正常视频,每个片段的伪标签为0。

在训练的初始阶段,函数 f θ f_\theta fθ 的异常预测能力较差。因此,如果直接通过 f θ f_\theta fθ 的预测来选择序列,可能会有选择错误序列的概率。基于此动机,我们提出了一个过渡阶段(第一阶段):使用伪标签的MSL来选择序列。具体来说,通过将方程4中的预测异常分数 f θ ( v i ) f_\theta(v_i) fθ(vi) 替换为每个片段 v i v_i vi 的伪标签 y ^ i \hat{y}_i y^i,我们选择具有最大伪标签均值的序列 max ⁡ i = 1 s i ∈ S s i \underset{i=1}{\operatorname*{\text{max}}}_{s_i\in S}s_i i=1maxsiSsi。基于此序列,我们可以计算 s a , i s_{a,i} sa,i s n , i s_{n,i} sn,i,然后通过基于铰链的MSL排序损失来优化MSLNet。

在这里插入图片描述

其中 s a , i s_{a,i} sa,i s n , i s_{n,i} sn,i 分别是从第 i i i 个片段开始,在异常视频和正常视频中具有最大伪标签均值的序列。在经过 E 1 E_1 E1 轮训练后, f θ f_\theta fθ 具有了初步的异常分数预测能力。

在第二阶段,使用预测来优化MSLNet以选择序列。此阶段使用方程5和方程6来计算排序损失。经过 E 2 E_2 E2 轮训练后,会推断出训练视频的新片段级伪标签 Y \mathcal{Y} Y。通过将序列长度 K K K 减半并重复上述两个阶段,预测的异常分数会逐渐得到优化。

过渡阶段的作用是建立MSL与不同自我训练轮次之间的联系。通过引入自我训练机制,我们实现了从粗到细的异常分数预测。为了更好地理解,我们在算法1中展示了我们的自我训练MSL。

在这里插入图片描述

Experiments

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Conclusion

在本研究中,我们首先提出了一种MSL方法和一种基于hinge的MSL排序损失。然后,我们设计了一个基于Transformer的网络来学习视频级异常概率和片段级异常分数。在推理阶段,我们提出使用视频级异常概率来抑制片段级异常分数的波动。最后,由于VAD需要预测实例级异常分数,我们通过逐渐缩短选择的序列长度,提出了一种自我训练策略来优化异常分数。实验结果表明,我们的方法在三个公共数据集上取得了显著的改进。

阅读总结

我感觉本质上还是用第一阶段的判断来作为后续判断的标准,这样还是会存在一个问题,那就是第一次判断错了怎么办?但是这个问题又是和弱监督这个任务本身是矛盾的。不知道有没有什么解决办法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值