【视频异常检测】WEAKLY SUPERVISED VIDEO ANOMALY DETECTION BASED ON CROSS-BATCH CLUSTERING GUIDANCE 论文阅读

文字信息:
在这里插入图片描述
发表于:ICME2023 (CCF B)
原文链接:https://arxiv.org/pdf/2212.08506
源码:无

ABSTRACT

弱监督视频异常检测(WSVAD)是一项具有挑战性的任务,因为训练时只提供视频级标签。在以往的研究中,所学习特征的辨别能力不足,并且由于小批量训练策略导致的数据不平衡问题被忽视。为了解决这两个问题,我们提出了一种基于跨批次聚类指导的 WSVAD 新方法。为了增强特征的辨别能力,我们提出了一种批次聚类损失,鼓励聚类分支基于一批数据生成明显的正常和异常聚类。同时,我们通过引入前几批次的聚类结果设计了一种跨批次学习策略,以减少数据不平衡的影响。此外,我们提出基于批次聚类指导生成更准确的片段级异常评分,进一步提高 WSVAD 的性能。在两个公共数据集上的大量实验表明了我们方法的有效性。

1. INTRODUCTION

一个高效且准确的视频异常检测算法可以帮助维护社会安全与稳定。因此,视频异常检测具有很高的实用价值和广阔的应用前景。随着弱监督学习的发展,弱监督视频异常检测(WSVAD)方法成为一种有效的检测异常的方法,它使用包含正常和异常视频的弱标记训练数据来训练模型。最近,WSVAD 被形式化为多实例学习(MIL)任务。Sultani 等人[1]构建了一个大规模的异常数据集,并提出了一种基于深度 MIL 排序的方法来进行 WSVAD。Wan 等人[2]将最大异常分数选择策略替换为 k-max 值选择策略。Li 等人[3]选择了异常分数总和最高的序列,而不是选择异常分数最高的实例。Gong 等人[4]引入了不同时间尺度上多个相邻实例的时间连续性。

然而,大多数现有的研究[1][2][3]仅使用了基于MIL的分类损失。尽管基于MIL的分类损失在某种程度上保证了学习特征的类间可分性,但这对于准确的异常检测来说还不够。因此,我们提出了一种基于批次聚类的损失,以进一步提高特征的判别力,如图1所示。在一个批次中的异常视频被聚类成两个簇,然后损失函数鼓励网络最大化这两个簇之间的距离。同时,对于批次中的正常视频,损失函数鼓励网络最小化这两个簇之间的距离。相比于单独对每个视频进行聚类[5][6],批次聚类提高了模型的鲁棒性,并减少了噪声对模型的影响。

考虑到WSVAD任务中的数据高度不平衡,仅使用少量数据可能会对模型训练产生负面影响。之前的迷你批次可以提供有价值的知识,使模型更好地理解数据的潜在分布[7][8]。因此,我们使用一种跨批次学习策略,通过引入前面批次的聚类结果,为当前批次的聚类提供指导。引入的跨批次学习策略可以使聚类结果更加准确,更好地建模数据的时空分布,并提高模型对不平衡样本的适应能力。

此外,由于WSVAD中仅提供了视频级标签,模型可以从监督学习中获得的知识是有限的。聚类分支可以获得反映视频片段相似性的潜在信息。因此,我们提出了基于批次聚类指导的异常分数生成方法,以生成更具区分性的异常分数,并进一步提高模型性能。我们首先根据批次聚类结果为视频片段生成伪标签,然后使用这些伪标签来指导主干网络纠正视频片段的异常分数估计。总的来说,我们的主要贡献如下:

  • 我们提出了一种基于批次聚类的损失函数,以补充和增强由MIL(多实例学习)分类损失引导的特征的可分性。
  • 我们提出了一种跨批次学习策略,以生成更准确的聚类结果。
  • 我们提议利用从批次聚类中获得的知识来指导预测更具区分性的异常分数。

2. PROPOSED METHOD

在这里插入图片描述

图1. 我们提出的方法概述。特征提取器从视频片段中提取特征。提取的特征被送入一个全连接层和三个图卷积层,以生成片段级异常分数。同时,批量聚类分支利用从GCN-1层学习到的中间表示对一批视频进行聚类。我们设计了一种跨批次学习策略,存储之前批次的聚类结果,并将其引入当前批次的批量聚类中。最后,批量聚类分支生成的伪标签指导异常分数的生成。

2.1. Backbone network

我们的方法采用基于图卷积神经网络(GCN)的骨干网络来建模视频序列。骨干网络包括一个特征提取模块和一个图卷积模块[9]。使用在Kinetics数据集上预训练的Inflated 3D (I3D) [10] 作为特征提取网络来提取视频片段的外观和运动信息。在将每个视频 V i V_i Vi 输入特征提取模块之前,视频被划分为包含16帧连续帧的非重叠片段,我们用 T i T_i Ti 表示片段的数量。图卷积模块包括三个图卷积层,其中前两层后接一个ReLU激活函数和一个dropout层,最后一层后接一个Sigmoid激活函数。对于每个视频 V i V_i Vi,输入层接收从特征提取模块提取的时空特征和基于特征相似性及视频片段的时间邻近关系构建的全局图的邻接矩阵。输出层生成视频的异常分数向量 S ~ i = { s ~ i , j } j = 1 T i \tilde{S}_i=\{\tilde{s}_{i,j}\}_{j=1}^{\boldsymbol{T}_i} S~i={s~i,j}j=1Ti y i ∈ { 0 , 1 } y_i\in\{0,1\} yi{0,1} 是视频 V i V_i Vi 的视频级标签,其中 y i = 0 y_i=0 yi=0 表示视频 V i V_i Vi 是正常视频, y i = 1 y_i=1 yi=1 表示视频 V i V_i Vi 是异常视频。

2.2. Batch clustering based on K-means

虽然基于MIL的分类损失在一定程度上确保了学习特征的类间可分性,但由于没有明确的监督,它无法确保特征具有更强的判别力。几项关于无监督异常检测的研究[11]启发了我们,在这些研究中,正常样本被强制聚类在一个紧凑的空间内,以使它们远离异常空间。因此,我们有合理的理由相信,正常活动在特征空间中应该是紧凑的。因此,我们使用批聚类来对正常视频片段进行聚类,以增强正常特征的类内紧凑性。在异常视频中,较大的类间距离表明正常和异常被更高的概率分开。因此,我们对异常视频片段进行批聚类,以增强正常和异常特征的类间分散性。

在这里,我们提出批聚类来提供监督,以增强特征的判别力,如图1所示。对于批次中的所有正常视频,每个视频的特征表示被聚类成两个簇。由于正常视频中的所有片段都是正常的,我们尝试缩小这两个簇的距离,以确保正常特征的类内紧凑性。批次中的所有异常视频也被聚类成两个簇。由于异常视频中既有异常片段也有正常片段,我们尝试将这两个簇的中心推开,以实现正常和异常特征的类间分散性。具体来说,对于批次中的异常或正常视频,我们使用K-means算法对经过归一化的中间特征表示进行聚类,这些特征表示是GCN第一层的输出。基于批聚类的损失如下所示:

在这里插入图片描述
其中, d = c 1 − c 2 d=c_1-c_2 d=c1c2 是两个聚类中心之间的距离, c 1 c_1 c1 c 2 c_2 c2 是两个聚类中心。 μ \mu μ 是一个上限,有助于模型对不同视频具有鲁棒性,而 b b b 是批大小。

我们使用k-max损失函数来训练模型,以扩大异常和正常段之间的类间距离,表示如下:
在这里插入图片描述

其中 p i p_i pi 是视频 V i V_i Vi S i S_i Si 的前 k i k_i ki 个最大元素, k i = ⌊ T i 8 + 1 ⌋ k_i=\left\lfloor\frac{T_i}8+1\right\rfloor ki=8Ti+1 y i y_i yi 是视频 V i V_i Vi 的视频级标签。那么,总的 损失函数表示为:
在这里插入图片描述
其中λ1是一个权衡超参数,以保持两个损失之间的平衡。

2.3. Cross-batch learning strategy

WSVAD 任务中的数据极度不平衡。然而,在每次迭代中只能访问一个小批量的样本。在大规模数据集上,当批量大小变大时,异常检测模型的性能可以得到提升。然而,简单地扩大批量并不是一个理想的解决方案,因为批量大小受到 GPU 内存和计算成本的限制。一个简单的解决方法是,在每次训练迭代中引入之前批次的信息,使模型能够更好地理解数据的潜在分布。因此,以往批次中的视频片段在对当前批次的视频片段进行 K-means 聚类时也可以作为重要的参考。之前,我们直接从所有视频片段中选择任意两个视频片段作为初始聚类中心来执行基于 K-means 的批量聚类,但 K-means 的最终聚类结果在很大程度上依赖于初始聚类中心的选择。为了选择最合适的初始聚类中心,我们引入之前批次的聚类结果来为当前批次的聚类提供指导,这有助于模型训练。

具体来说,在第 t t t 个 epoch 中, C a C^a Ca C n C^n Cn 在迭代过程中被构建以存储已学到的知识。也就是说,在第 i i i 次迭代过程中,我们对批量中的所有异常视频片段进行聚类,并将两个聚类中心添加到 C a C^a Ca 中。我们将在 t t t 个 epoch 结束时得到 C a = { c i , 1 a , c i , 2 a } i = 1 m C^a=\left\{c_{i,1}^a,c_{i,2}^a\right\}_{i=1}^m Ca={ci,1a,ci,2a}i=1m,其中 m m m 是一个 epoch 中的迭代次数。我们也对批量中的所有正常视频片段进行上述操作,以获得 C n = { c i , 1 n , c i , 2 n } i = 1 m C^n=\left \{ c_{i, 1}^n, c_{i, 2}^n\right \} _{i=1}^m Cn={ci,1n,ci,2n}i=1m

在第 ( t + 1 ) (t+1) (t+1) 个 epoch 中,我们使用存储的信息来指导批量聚类。我们对 C a C^a Ca 中的数据进行聚类,得到聚类中心 c 1 a , c 2 a c_1^a,c_2^a c1a,c2a,它们将作为当前 epoch 中每个批次的所有异常视频片段的批量聚类的初始聚类中心。同时,对 C n C^n Cn 中的数据进行聚类,得到聚类中心 c 1 n , c 2 n c_1^n,c_2^n c1n,c2n,它们将作为当前 epoch 中每个批次的所有正常视频片段的初始聚类中心。在不同的 epoch 间动态更新 C a C^a Ca C n C^n Cn 中的数据,并将它们作为先验信息引入批量聚类,可以提高批量聚类的效果,进一步提高异常检测任务的性能。

2.4. Anomaly score generation based on batch clustering guidance

当可用标签有限时,标记样本通常无法为模型提供足够的监督信息,因此深度模型容易过拟合。由于WSVAD仅考虑视频级别的标签,模型能够学习的知识将受到限制。为了解决这个问题,我们使用从批量聚类获得的聚类标签来指导主干网络预测片段的异常分数。通过这种方式,无监督信息被有效地转移到弱监督学习过程中,以提高异常检测任务的性能。

对于标记的正常视频,这些视频的每个片段可以简单地被标注为正常,因为其中没有异常事件。然而,对于异常视频的情况,也存在一些正常事件,因此我们使用批量聚类结果为每个异常视频片段生成伪标签。所有的异常视频片段被聚类成两个簇,假设其中一个簇包含正常片段,而另一个簇包含异常片段。因此,我们需要分析这两个簇中哪个主要包含正常片段,哪个主要包含异常片段,以便为视频片段分配适当的伪标签。我们通过异常分数与聚类标签之间的相似性得分来获得片段的伪标签。具体来说,我们计算由主干网络预测的视频 V i V_i Vi的异常分数 s i ∈ [ 0 , 1 ] s_i ∈ [0, 1] si[0,1]与聚类生成的标签 y i c ∈ { 0 , 1 } y^c_i ∈ \{0, 1\} yic{0,1}之间的余弦相似度得分 S 1 S_1 S1,以及 s i s_i si与反转的聚类标签 ¬ y i c ¬y^c_i ¬yic之间的余弦相似度得分 S 2 S_2 S2。最后,视频 V i V_i Vi的第 j j j个片段的伪标签 y i , j p y^p_{i,j} yi,jp由以下公式给出:
在这里插入图片描述

由批量聚类生成的视频片段伪标签和由自适应图卷积网络生成的视频片段异常分数可以在异常检测任务中相互补充。在异常视频中,如果视频片段的伪标签为1,则该片段很可能是异常的。因此,我们将异常视频中伪标签为1的片段的异常分数进行扩展。特别地,在异常视频中,如果视频片段的伪标签为1,则该视频片段的异常分数变为 min ⁡ ( α × s i , j , 1 ) \min\left(\alpha\times s_{i,j},1\right) min(α×si,j,1);如果视频片段的伪标签为0,则视频片段的异常分数保持不变。每个视频片段的异常分数由以下公式给出:
在这里插入图片描述
其中α是扩展因子。

3. EXPERIMENTAL RESULTS

在这里插入图片描述

Ablation experiments
在这里插入图片描述

4. CONCLUSION

在这项工作中,我们提出了一种基于跨批次聚类指导的全新WSVAD模型。该方法通过对批次内的正常和异常视频分别进行二元批量聚类来增强特征的区分能力。此外,加入了一种跨批次学习策略,以解决因小批量训练策略导致的数据不平衡问题,使模型能够更好地捕捉数据的潜在分布。最后,批量聚类生成的伪标签指导主干网络生成异常分数,进一步增强了正常与异常的可分离性。实验结果表明,该方法在常用的WSVAD数据集上取得了显著的改进。

阅读总结

这个性能指标相对来说不高啊。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值