【视频异常检测】Delving into CLIP latent space for Video Anomaly Recognition 论文阅读

news2024/11/14 19:34:04

Delving into CLIP latent space for Video Anomaly Recognition 论文阅读

  • ABSTRACT
  • 1. Introduction
  • 2. Related Works
  • 3. Proposed approach
    • 3.1. Selector model
    • 3.2. Temporal Model
    • 3.3. Predictions Aggregation
    • 3.4. Training
  • 4. Experiments
    • 4.1. Experiment Setup
    • 4.2. Evaluation Against Baselines
  • 5. Conclusions

中文题目:视频异常识别的CLIP潜在空间研究
文章信息:

在这里插入图片描述
原文链接:https://arxiv.org/abs/2310.02835
源代码:https://github.com/luca-zanella-dvl/AnomalyCLIP

ABSTRACT

我们介绍了一种新的方法AnomalyCLIP,它首次将大型语言和视觉(LLV)模型(如CLIP)与多实例学习相结合,用于联合视频异常检测和分类。我们的方法特别涉及操纵潜在的CLIP特征空间来识别正常事件子空间,这反过来又使我们能够有效地学习异常事件的文本驱动方向。当异常帧被投影到这些方向上时,如果它们属于特定的类别,它们就会表现出大的特征量。我们还引入了一种计算高效的Transformer架构来对帧之间的短期和长期时间相关性进行建模,最终产生最终的异常分数和类预测概率。我们将AnomalyCLIP与考虑三个主要异常检测基准(即ShanghaiTech、UCF Crime和XD Violence)的最先进方法进行了比较,并从经验上表明,它在识别视频异常方面优于基线。项目网站和代码可在https://luca-zanella-dvl.github.io/AnomalyCLIP/。

1. Introduction

视频异常检测(VAD)是自动识别视频中偏离正常模式的活动的任务(Suarez和Naval Jr,2020)。VAD已经被计算机视觉和多媒体社区广泛研究(Bao等,2022;Feng等,2021b;Mei和Zhang,2017;Nayak等,2021;Sun等,2022;Wang等,2020;Xu等,2019),用于多个重要应用,例如监控(Sultani等,2018)和工业监测(Roth等,2022)。

VAD(视频异常检测)具有挑战性,因为数据通常呈高度不平衡状态,即正常事件很多,而异常事件则是罕见且零星的。VAD可以被视为一种基于分布外检测问题,即单类别分类(OOC)(Liu等,2021;Lv等,2021;Park等,2020;Xu等,2019):只有对应于正常状态的视觉数据被用作训练数据,并且基于输入测试视频与学习到的正常状态的偏差,将其分类为正常或异常。然而,在正常活动多样的复杂真实世界应用中,OOC方法可能特别无效。一个不常见的正常活动可能会造成误报,因为它与学习到的正常活动不同。另外,VAD也可以采用基于帧级注释的全监督方法(Bai等,2019;Wang等,2019)。尽管它们具有良好的性能,但因为注释的成本较高而被认为不切实际。无监督方法也可以使用,但它们在复杂环境中的性能尚不令人满意(Zaheer等,2022)。基于这些原因,最近的方法被设计用于弱监督学习场景(Li等,2022a;Sultani等,2018;Tian等,2021;Wu和Liu,2021):它们利用视频级别的监督。

尽管现有的弱监督VAD方法已经显示出在异常检测方面是有效的(Li等,2022a),但它们并不是设计用于识别异常类型(例如,射击 vs. 爆炸)。除了进行VAD(视频异常检测)之外,执行视频异常识别(VAR),即不仅检测异常事件,而且识别其中的基础活动,是可取的,因为它提供了更多信息丰富且可操作的见解。然而,在弱监督设置下解决VAR是非常具有挑战性的,这是由于极端的数据不平衡和每种异常样本的数量有限(Sultani等,2018)。

最近,我们经历了强大的深度学习模型的出现,这些模型是在大规模网络数据集上训练的(Schuhmann等,2021)。这些模型通常被称为大型语言和视觉(LLV)模型或基础模型(Radford等,2021;Singh等,2022),它们在多个下游任务中表现出强大的泛化能力,并成为现代计算机视觉和多媒体系统的关键组成部分。这些预训练模型是公开可用的,并且可以无缝地集成到任何识别系统中。LLV模型也可以有效地应用于视频和监督动作识别任务(Wang等,2021;Xu等,2021)。

在本文中,我们介绍了第一种使用LLV模型共同解决VAD和VAR的方法。我们认为,通过利用从LLV模型中得出的表示,我们可以获得更具有区分性的特征,用于识别和分类异常行为。然而,正如我们的实验所支持的(图1所示),对VAR-VAD的现有LLV模型的简单应用并不足以应对训练数据的不平衡以及同一视频中包含和不包含异常内容的帧之间的细微差异。

因此,我们提出了AnomalyCLIP,这是一种基于CLIP模型的VAR新解决方案(Radford et al.,2021),实现了最先进的异常识别性能,如图.1所示。

在这里插入图片描述

图1:在上海科技(ShanghaiTech)、UCF-Crime和XD-Violence数据集上,比较各种异常识别方法在接收者操作特征曲线(ROC)的平均曲线下面积(mAUC)和精确率-召回率曲线(PRC)的平均平均精度(mAP)方面的表现。其中,mAUC和mAP分别计算所有异常类别的二进制AUC ROC和AP PRC值的平均值。对于视频异常识别来说,更高的mAUC和mAP至关重要,因为它们反映了模型正确识别正确异常类别的能力。值得注意的是,我们提出的方法,AnomalyCLIP,在所有数据集上均实现了最佳性能,超过了被重新用于异常识别的视频异常检测的最先进方法以及基于CLIP的视频动作识别方法。

AnomalyCLIP生成的视频表示可以映射到异常事件的文本描述。我们并非直接在CLIP特征空间上操作,而是将其重新聚焦到一个正常性原型周围,如图2(a)所示。通过这种方式,空间具有重要的语义:特征的大小表示异常程度,而从原点到方向表示异常类型。为了学习代表所需异常类别的方向,我们提出了一个选择器模型,该模型采用提示学习和适合我们新空间的投影运算符,以识别视频中更好地匹配异常文本描述的部分。这种能力对解决数据不平衡问题至关重要。我们使用选择器模型的预测来实现一种语义导向的多实例学习(MIL)策略,旨在扩大异常视频中最异常段与正常视频之间的差距。与通常使用具有时间感知的主干网络提取的特征不同(Carreira和Zisserman,2017;Liu等,2022),CLIP视觉特征在操作时不具有任何时间语义,因为它是在图像级别上进行的。因此,我们提出了一个时间模型,实现为Axial Transformer(Ho等,2019),它模拟了连续帧之间的短期关系和视频部分之间的长期依赖关系。

如图1所示,我们在ShanghaiTech(Liu et al.,2018)、UCF Crime(Sultani et al.,2019)和XD Violence(Wu et al.,2020)三个基准数据集上评估了所提出的方法,并实证表明我们的方法在VAR中实现了最先进的性能。

我们的论文贡献总结如下:

  • 我们提出了第一种基于LLV模型的VAR方法来检测和分类异常事件的类型;
  • 我们介绍了一种由正常性原型驱动的LLV模型特征空间的转换,以有效地学习异常类型的提示方向。
  • 我们提出了一种新颖的选择器模型,它利用转换后的LLV特征空间中蕴含的语义信息作为执行多实例学习(MIL)段选择和异常识别的稳健方法。
  • 我们设计了一个时间模型,以更好地聚合时间信息,通过对相邻帧之间的短期关系和片段之间的长期依赖关系进行建模。

2. Related Works

Video Anomaly Detection.在视频监控流中识别异常行为是计算机视觉和多媒体分析中的传统任务。现有的VAD方法根据训练过程中可用的监督级别可分为四大类。第一类包括完全监督方法,假设训练集中具有可用的帧级别注释(Bai等,2019;Wang等,2019)。第二类包括弱监督方法,只需要视频级别的正常/异常注释(Li等,2022a,b;Sultani等,2018;Tian等,2021;Wu和Liu,2021)。第三类包括单类别分类方法,假设只有正常的训练数据可用(Liu等,2021;Lv等,2021;Park等,2020)。第四类包括无监督模型,不使用训练数据注释(Narasimhan,2018;Zaheer等,2022)。

在这些方法中,弱监督方法获得了更高的流行度,因为它们通常能够产生良好的结果,同时限制了注释的工作量。Sultani等人(2018)首次将弱监督VAD表述为多实例学习(MIL)任务,将每个视频分割成短段,形成一个被称为"bag"的集合。从异常视频生成的袋被称为正样本,而从正常视频生成的袋则被称为负样本。自从这项开创性工作以来,MIL已成为VAD的一种范式,并且许多后续工作提出了对相关排名模型的改进,以更可靠地预测异常分数。例如,Tian等人(2021)提出了一种鲁棒的时间特征幅度(RTFM)损失,应用于由扩张卷积金字塔和自注意力机制组成的深度网络,以模拟时间上紧邻的视频片段和整个视频中事件之间的短期和长期关系。Wu等人(2022)引入了自监督稀疏表示学习,这是一种将基于字典的表示与自监督学习技术相结合的方法,用于识别异常事件。陈等人(2022)引入了幅度对比注视和聚焦网络,这是一种使用特征放大机制和幅度对比损失来增强异常特征识别重要性的神经网络。由于异常可能在视频的任何位置和任何尺度发生,李等人(2022a)提出了一种称为尺度感知时空关系学习(SSRL)的方法,扩展了RTFM,不仅学习短期和长期的时间关系,还学习多尺度区域感知特征。虽然SSRL在常见的VAD基准测试中取得了最先进的结果,但其高计算复杂度限制了其适用性。据我们所知,以前的研究尚未探索基础模型(Radford等,2021)用于VAD,这是我们在本文中提出的。

Large Language and Vision models.新型大型多模态神经网络的出现(Radford等,2021;Schuhmann等,2021, 2022;Singh等,2022)使得在多个图像和视频理解任务中实现了前所未有的结果。当前的LLV模型采用特定于模态的编码器,并通过对比技术进行训练,以使不同模态的数据表示对齐(Jia等,2021;Radford等,2021)。尽管这些方法很简单,但已经显示出了令人印象深刻的零样本泛化能力。尽管早期的方法如CLIP(Radford等,2021)是针对图像的,但LLV模型最近已经成功地扩展到了视频领域。VideoCLIP(Xu等,2021)就是一个例子,它旨在通过对比临时重叠的视频文本对与挖掘的难例进行对比,来对齐视频和文本表示。VideoCLIP在几个视频理解任务中能够取得强大的零样本性能。ActionCLIP(Wang等,2021)将动作识别建模为一个视频文本匹配问题,而不是传统的1对N多数投票任务。与我们类似,他们的方法利用了CLIP的特征空间来学习视频的语义感知表示。然而,直接利用CLIP特征空间在捕捉异常事件信息方面存在失败,需要在此工作中提出的特定适应性。此外,动作识别方法在弱监督VAD任务中通常表现不佳,这是由于正常和异常事件之间的数据不平衡,以及在测试时尽管仅有视频级别的监督,但仍需要帧级别的评估。据我们所知,以前的工作尚未专门利用LLV模型来解决VAD问题。

3. Proposed approach

弱监督视频异常检测(VAD)是学习将视频中的每一帧分类为正常或异常的任务,使用的数据集是以元组形式 ( V , y ) (\pmb{V},y) Vy表示,其中 V \pmb{V} V是视频,y是一个二进制标签,指示视频中是否包含任何帧的异常。在异常识别中(VAR),我们引入了额外的任务,即在每个帧中识别检测到的异常的类型。因此,VAR考虑了元组 ( V , c ) (\pmb{V},c) Vc的数据集,其中 c c c表示视频中异常的类型( c = ∅ c = ∅ c=表示没有异常,因此为正常)。为了解决VAD中的视频级别监督和正常视频与异常视频之间的不平衡问题,广泛使用了多实例学习(MIL)框架(Sultani等,2018)。MIL将每个视频建模为一组段落 V = [ S 1 , . . . , S S ] ∈ R S × F × D V = [S_1,...,S_S] ∈ \mathbb{R}^{S×F×D} V=[S1...SS]RS×F×D,其中S是段落的数量,F是每个段落中的帧数, D D D是每个帧关联的特征数量。每个段落可以看作是 S = [ x 1 , . . . , x F ] ∈ R F × D S = [x_1,...,x_F] ∈ \mathbb{R}^{F×D} S=[x1...xF]RF×D,其中 x ∈ R D x ∈ \mathbb{R}^D xRD是每个帧对应的特征。MIL计算每个帧被判断为异常的可能性,基于此选择最异常的帧,并最大化正常帧和被选为最异常的帧之间预测可能性的差异。

在本文中,我们建议利用CLIP模型(Radford et al.,2021)来解决VAR问题,并表明:

i) CLIP特征空间中视觉和文本模态之间的对齐可以用作异常的有效似然估计器;

ii) 这种估计器不仅可以检测异常事件,还可以确定它们的类型;

iii) 这种估计器仅在采用我们提出的CLIP空间重新聚焦转换时才有效(见图2(a))。

我们的方法由两个模型组成,如图2(b)所示:选择器模型时间模型

选择器模型S生成每个帧属于异常类别的概率 S ( x ) ∈ R C S(x) ∈ \mathbb{R}^C S(x)RC,其中C是异常类别的数量。我们利用CLIP特征空间中的视觉-文本对齐和CoOp提示学习方法(Zhou等,2022)来估计这个概率。

时间模型T为视频的每个帧分配一个二元概率,指示帧是异常还是正常。与S不同,T利用时间信息来改善预测,并且我们使用Transformer网络(Ho等,2019)来实现它。

S和T的预测结果然后被聚合起来产生一个分布,指示每个帧是正常还是异常,以及它属于哪个异常类别。我们使用MIL和正则化损失的组合来训练我们的模型。重要的是,由于T是随机初始化的,概率得分不太可靠,因此我们始终使用S生成的概率来在MIL中执行段选择。

在这里插入图片描述
图2:(b) 我们提出的框架示意图。Selector模型使用CoOp (Zhou等,2022)学习方向d,并使用它们来识别每个特征x代表相应异常类别的可能性。通过考虑沿着相应方向的可能性分布,对前K个和后K个异常片段进行MIL选择。一个Temporal模型对特征进行时间聚合以生成最终的预测。

我们在第3.1节和第3.2节中详细描述了所提出的选择器模型和时间模型。在第3.3节中,我们展示了如何聚合两个模型的预测来估计最终的概率分布。最后,在第3.4节中,我们描述了训练和推断过程。

3.1. Selector model

对于VAD和VAR来说,在仅有视频级别的弱监督下,可靠地区分异常视频中的异常帧和正常帧至关重要。受近期LLV模型应用于视频动作识别任务的发现(Wang等,2021;Xu等,2021)的启发,我们提出了一种新颖的似然估计器,由我们的选择器模型封装,它结合了CLIP(Radford等,2021)特征空间和CoOp(Zhou等,2022)提示学习方法,在这个空间中学习一组方向,以识别每种类型的异常及其概率。

我们的主要直觉(见图2(a))是,CLIP特征空间呈现出一个潜在的结构,其中数据集中每帧提取的CLIP特征形成了一个围绕一个中心点聚集的空间,我们称之为正常性原型。因此,特征与正常原型之间的差异决定了重要特征:距离的大小反映了其异常性的可能性,而其方向则表示异常的类型。这样的重要特征不会通过对VAR的CLIP特征空间的简单应用而被利用(见表9)。释放这个空间在检测异常方面的潜力因此需要进行重新聚焦的转换,这是本文的一个主要贡献。

图2:(a) CLIP空间的示意图以及围绕正常性原型m进行重新中心化转换对正常特征的影响。当空间未围绕正常性原型m重新中心化时,方向d'相似,使得难以区分异常类型,并且特征的幅度与异常程度没有关联,使得难以识别异常事件。当重新中心化时,对每个方向投影的特征幅度的分布识别了相应类型的检测到的异常程度。
图2:(a) CLIP空间的示意图以及围绕正常性原型m进行重新中心化转换对正常特征的影响。当空间未围绕正常性原型m重新中心化时,方向d’相似,使得难以区分异常类型,并且特征的幅度与异常程度没有关联,使得难以识别异常事件。当重新中心化时,对每个方向投影的特征幅度的分布识别了相应类型的检测到的异常程度。

根据这一直觉,我们将正常原型 m m m 定义为 CLIP 图像编码器 E l \mathcal{E}_{l} El 提取的所有标记为正常的视频中包含的所有 N N N 帧图像的平均特征:

在这里插入图片描述

对于数据集中的每一帧图像 I \pmb{I} I,我们通过将正常性原型从 CLIP 编码特征中减去来产生帧特征 x x x,即 x = E l ( I ) − m x = \mathcal{E}_{l}(I) − m x=El(I)m

然后,我们利用视觉-文本对齐的CLIP特征空间,并学习文本提示嵌入,其方向用于指示异常类别。具体来说,我们采用了提示学习的CoOp方法(Zhou等,2022),我们发现这种方法是理想的,可以通过我们的实验进行经验验证(见第4.3节)。

给定一个类别 c c c 和相应标签 t c t^c tc 的文本描述,表达为一系列标记嵌入,我们考虑一系列可学习的上下文向量 t c t x t^{ctx} tctx,并推导出该类别的相应方向 d c ∈ R D \pmb{d}_c ∈ \mathbb{R}^D dcRD,如下所示:
在这里插入图片描述
这里的 E T \mathcal{E}_T ET表示 CLIP 文本编码器。文本描述的使用作为学习方向与相应异常类型匹配的先验知识,而上下文向量在训练过程中作为 S S S 的参数的一部分进行联合优化,以便使方向得以细化。每个类别都学习了不同的方向。

学习到的方向作为我们选择器模型 S S S 的基础。如图2(b)所示,帧特征 x x x 在方向 d c \pmb{d}_c dc 上的投影的大小表示异常类别 c c c 的可能性:
在这里插入图片描述
这里的 P \mathcal{P} P 表示我们的投影操作。然而,简单地将特征向量投影到方向上会使投影的大小受到比例的影响,其中一个类别的异常特征可能与另一个异常类别的特征具有不同的大小。为了缓解这个问题,我们在投影之后执行批量归一化(Ioffe和Szegedy,2015),这会产生一个具有零均值和单位方差的投影特征分布:

在这里插入图片描述

3.2. Temporal Model

选择器模型仅学习了异常帧和正常帧之间的初始时间无关分离,因为CLIP模型在图像帧级别上操作。然而,时间信息对于VAR是一项重要的信息,我们可以利用它。因此,我们提出了时间模型 T \mathcal{T} T来模拟帧之间的短期和长期关系,丰富视觉特征并产生预测,指示帧是否异常的可能性:

在这里插入图片描述

我们使用Transformer架构来捕捉段内帧之间的短期时间依赖关系,以及视频中所有段之间的长期时间依赖关系,这是受到其在相关序列建模任务中取得成功的启发(Vaswani等,2017)。由于 V \pmb{V} V所有视频段的输入都会接收到,因此大量的段数 S 和帧数 F 增加了自注意力计算的计算需求。为了降低这个成本,我们将 T \mathcal{T} T实现为轴向变换器(Axial Transformer)(Ho等,2019),它分别为对应于段和每个段中的特征的两个轴计算注意力。正如第4.3节的实验所建议的,与标准Transformer相比,轴向变换器也不太容易过拟合,这在VAR中是可能的情况。我们以Sigmoid激活结束模型,以便输出的概率也可以解释为概率。

3.3. Predictions Aggregation

我们将 S \mathcal{S} S T \mathcal{T} T的预测组合起来得到最终输出:指示帧是否正常或异常的概率( p N ( x ) p_N(\pmb{x}) pN(x) p A ( x ) p_A(\pmb{x}) pA(x)),以及帧呈现某种类别异常的概率( p A , c ( x ) p_{A,c}(\pmb{x}) pA,c(x))。

给定一个输入帧特征 x \pmb{x} x,我们将其作为异常的概率 p A ( x ) p_A(\pmb{x}) pA(x) 定义为其来自时间模型 T 的对应输出。帧为正常的概率为 p N ( x ) = 1 − p A ( x ) p_N(\pmb{x}) = 1 − p_A(x) pN(x)=1pA(x)。为了获取帧呈现特定类别异常的概率分布 p A , c ( x ) p_{A,c}(\pmb{x}) pA,c(x),我们使用选择器模型的预测,可以看作是对异常类别的条件分布 p c ∣ A ( x ) = s o f t m a x ( S ( x ) ) p_{c|A}(\pmb{x}) = softmax(S(\pmb{x})) pcA(x)=softmax(S(x))。根据条件概率的定义,可以得到 p A , c ( x ) = p A ( x ) ∗ p c ∣ A ( x ) p_{A,c}(\pmb{x}) = p_A(\pmb{x}) * p_{c|A}(\pmb{x}) pA,c(x)=pA(x)pcA(x)

3.4. Training

我们按照MIL框架来训练模型。具体来说,MIL考虑一个批次,其中包含相同数量的正常视频和异常视频,使用预测的可能性来识别异常视频中最异常的前K个段,并使其与其他正常段分离(Sultani等,2018)。由于相对于S,T的容量较大且初始随机初始化,T无法直接执行此选择,因为预测的可能性会过于嘈杂。相反,我们使用来自S的可能性预测来执行MIL段选择。

我们的框架使用异常视频的损失、正常视频的损失和正则化损失进行端到端的训练,我们将在下文中描述。

给定一个类别为 c c c 的异常视频 V \pmb{V} V,我们根据帧级模型 S 在与类别 c c c 相对应的方向上分配的可能性,定义了最异常的前 K K K 个段的集合 V + = { S 1 + , . . . , S K + } \mathcal{V}^+ = \{S^+_1 , ..., S^+_K\} V+={S1+,...,SK+},并且对称地,定义了最不异常的前 K K K 个段的集合 V − = { S 1 − , . . . , S K − } \mathcal{V}^− = \{S^−_1 , ..., S^−_K\} V={S1,...,SK}。我们考虑 V + \mathcal{V}^+ V+ 中的所有帧,并通过最小化损失 L A D I R \mathcal{L}^{DIR}_A LADIR来最大化 S 预测的对应类别的可能性。
在这里插入图片描述
在这里,可能性张量是使用类别 c c c 进行索引的。为了为时间模型提供梯度,我们还使用交叉熵最大化了每个段中包含的帧的 p A , c ( x ) p_{A,c}(\pmb{x}) pA,c(x)
在这里插入图片描述
在异常视频中区分正常帧和异常帧是VAR中的一个具有挑战性的问题,这是因为同一视频中的帧之间存在外观相似性。为了促进这些帧之间的更好区分,我们额外考虑了 V − \mathcal{V}^− V,并且对于每个段中的帧,使用交叉熵最大化 p N ( x ) p_N(\pmb{x}) pN(x)
在这里插入图片描述

为了利用正常视频中的信息,对于正常视频 V V V 中的每个段 S i S_i Si,我们最小化选择器模型预测的可能性:
在这里插入图片描述
遵循VAD文献(Feng等,2021a;Sultani等,2018;Tian等,2021),我们还要求模型最大化其最异常段 V + = { S 1 + , . . . , S K + } \mathcal{V}^+ = \{S^+_1 , ..., S^+_K\} V+={S1+,...,SK+} 中每帧的正常概率:
在这里插入图片描述
我们通过两个额外的损失(Sultani等,2018)对异常视频的所有帧进行正则化训练。其中一个是预测分数的稀疏性损失,鼓励尽可能少的帧被预测为异常:
在这里插入图片描述
另一个是一个平滑性项,它在时间维度上对预测进行正则化:
在这里插入图片描述
其中,索引操作是在视频中帧的扁平序列上执行的。
我们同时训练选择器和时间模型,将最终的训练目标定义为:
在这里插入图片描述

4. Experiments

在本节中,我们针对一系列来自最先进的视频异常检测(VAD)和动作识别方法的基线方法进行了验证,并将其调整为视频异常识别(VAR)任务。在介绍了用于新颖的VAR任务的度量标准后,我们在三个数据集上进行评估,并在VAD和VAR任务中进行比较。我们进行了广泛的消融研究,以证明我们的主要设计选择的合理性。第4.1节描述了我们的实验设置,涉及数据集和评估协议。然后,在第4.2节中,我们对比了最先进方法的结果,并在第4.3节中进行了消融研究并进行了讨论。

4.1. Experiment Setup

Datasets.我们使用三个广泛使用的VAD数据集进行研究,即上海科技(Liu等,2018)、UCF-Crime(Sultani等,2018)和XD-Violence(Wu等,2020)。上海科技包含437个视频,从大学校园的多个监控摄像头录制而成。共捕获了17种异常类别的130个异常事件,分布在13个不同的场景中。我们采用了Zhong等人(2019)的配置,将其调整为弱监督设置,将其组织成238个训练视频和199个测试视频。UCF-Crime是一个大规模的真实监控视频数据集,包含1900个长时间未经修剪的视频,涵盖了对公共安全产生重大影响的13种真实世界异常情况。训练集包含800个正常视频和810个异常视频,测试集包含剩余的150个正常视频和140个异常视频。XD-Violence是一个大规模暴力检测数据集,包含4754个带有音频信号和弱标签的未经修剪视频,分为3954个训练视频和800个测试视频。总时长为217小时,该数据集涵盖了各种场景,并捕获了6种异常类别。值得注意的是,每个暴力视频可能具有多个标签,范围从1到3。为适应我们的训练设置,其中每个视频仅考虑一个异常类型,我们选择了包含最多一个异常的4463个视频的子集。

Performance Metrics.我们在VAD和VAR方面进行评估。与先前的工作一样,我们使用帧级接收器操作特性(ROC)曲线下面积(AUC)来衡量VAD的性能,因为它对于检测任务不考虑阈值。较大的帧级AUC意味着在分类正常和异常事件方面性能更好。为了衡量VAR性能,我们将AUC指标扩展到多分类情景。对于每个异常类别,我们通过将该类别的异常帧视为正例,将所有其他帧视为负例来衡量AUC。随后,计算所有异常类别上的平均AUC(mAUC)。同样,对于XD-Violence数据集,我们遵循已建立的评估协议(Wu等,2020),并使用精度-召回曲线(PRC)的平均精度(AP)来展示VAD结果,而对于VAR结果,我们报告平均AP(mAP),它通过对所有异常类别的二进制AP值进行平均计算得到。

Implementation details.在训练时,每个视频被划分为S个不重叠的块。从每个块中,随机选择一个起始索引,从这个起始索引开始考虑连续的F帧片段。如果原始视频的长度小于S×F,我们采用循环填充,从起始位置重复视频直到达到S×F的最小长度。用于训练的每个大小为B的小批次由B/2个正常片段和B/2个异常片段组成。这是一种简单但有效的平衡小批次形成的方法,否则小批次将主要包含正常片段。在推断时,为了处理涵盖任意时间窗口的视频,我们首先将每个视频V划分为S个不重叠的块,其中每个块包含帧数是F的倍数,即J×F,其中J取决于V⋄的长度。我们使用J次推断来对视频中的所有帧进行分类。在每次第j次推断中,我们从每个块中提取第j个连续的F帧,形成总共S×F跨越整个视频的片段。然后,我们将这些片段馈送到我们的方法中,以便我们的Temporal模型可以推断片段之间的长期时间关系。

为了与先前的VAD工作(Tian等,2021;Wu等,2022;Li等,2022a)进行公平比较,我们在MIL选择前K个和后K个异常片段时使用K = 3,每个视频被划分为S = 32个片段,每个片段有F = 16帧,批次大小为B = 64。更多的实现细节请参考附录A,超参数的更多细节请参考附录B。

4.2. Evaluation Against Baselines

关于VAD,我们将AnomalyCLIP与不同监督设置的最先进方法进行比较,包括单类(Park等,2020;刘等,2021;吕等,2021)、无监督(Zaheer等,2022)和弱监督(李等,2022a;田等,2021;吴等,2022)。由于上述方法中没有一个涉及VAR任务,我们通过重新利用一些性能最佳的VAD方法来生成基线,包括RTFM(田等,2021)、S3R(吴等,2022)和SSRL(李等,2022a),以及基于CLIP的基线(Radford等,2021;王等,2021):

  • 使用RTFM(田等,2021)、S3R(吴等,2022)和SSRL(李等,2022a)进行多分类(弱监督)。我们保持原始的预训练模型冻结,并添加一个多分类头,我们训练它使用交叉熵目标来预测类别,这些类别是通过在原始方法中选择的前K个最异常片段进行选择的。这些基线是弱监督的。
  • CLIP(Radford等,2021)(零样本)。我们通过使用预训练的CLIP模型将输入帧特征x与文本提示“来自{类别}的CCTV摄像头的视频”的嵌入向量进行余弦相似度的软最大化来进行分类。
  • ActionCLIP(王等,2021)(弱监督)。我们通过将视频级别的异常标签传播到相应视频的每一帧上,重新在我们的数据集上对ActionCLIP进行训练。

在这里插入图片描述

表1展示了在上海科技数据集(Liu等,2018)上的结果。尽管上海科技数据集对于VAD来说已经相当饱和,因为它在场景方面相对简单,但AnomalyCLIP在VAD和VAR两方面都取得了最先进的结果,在AUC ROC和mAUC ROC方面分别增加了+0.09%和+2.85%。ActionCLIP(王等,2021)在mAUC方面表现不佳,我们将其归因于上海科技数据集中异常事件的低比例,这使得避免在异常视频的正常帧上出现错误的监督信号对MIL选择策略尤为重要。相反,我们的提议对异常视频的正例有更好的识别,因此即使异常很少时也能取得更好的性能。AnomalyCLIP在mAUC方面相对于零样本CLIP实现了大幅度的+45.44%的改进,这表明在CLIP空间中简单地应用VAR流水线并不能产生令人满意的结果。对于这个空间的修订,即我们提出的转换,是有效使用它的必要条件。

在这里插入图片描述

表2报告了在UCF-Crime数据集(Sultani等,2018)上的结果。我们的方法展现了对异常类别的最佳区分能力,在基线中实现了最高的mAUC ROC。与上海科技类似,我们的方法在mAUC方面也相对于零样本CLIP实现了改进,验证了我们对CLIP空间的提议调整的重要性。与ActionCLIP(王等,2021)相比,我们的AnomalyCLIP在mAUC方面取得了+2.94%的改进,突显了MIL框架在减轻异常视频的正常帧被错误赋予异常类别标签的需要。值得注意的是,ActionCLIP获得的较高mAUC并没有导致竞争力强的VAD AUC ROC,这意味着正常和异常帧之间的分离较差。与VAD中表现最佳的方法SSRL(李等,2022a)相比,我们的方法在VAR方面取得了+1.78%的mAUC改进,而在VAD方面稍差了-1.07%的AUC ROC。

在这里插入图片描述

表3显示了在XD-Violence数据集(吴等,2020)上的结果。AnomalyCLIP在VAR方面表现优异,达到了最高的mAP,并超过了其他最先进方法。与VAD基线模型相比,AnomalyCLIP优于RTFM(田等,2021),并展示了与S3R(吴等,2022)接近的性能。更多关于我们如何在XD-Violence数据集上获得结果的细节,请参考附录C。

在这里插入图片描述

表4、5和6显示了每个单独异常类别的多类AUC和AP。当应用于通常被认为是异常检测中复杂基准的UCF-Crime和XD-Violence数据集时,我们提出的方法具有明显优势。我们的方法在平均mAUC和mAP上取得了最佳表现,然而在处理展现出与正常模式轻微偏差的异常时,如UCF-Crime中的Shoplifting,我们的方法则不那么具有优势。当应用于上海科技数据集时,我们提出的方法的优势不太明显,因为该数据集捕获了大多数方法已经达到饱和性能的简单场景。

图3展示了我们提出的AnomalyCLIP在一组UCF-Crime、上海科技和XD-Violence测试视频中检测和识别异常的定性结果。该模型能够预测测试视频中异常的存在以及异常事件的类别。在UCF-Crime的Normal Video 246(第2行,第2列)中,可以看到一些帧具有比预期更高的异常概率。值得注意的是,在UCF-Crime的RoadAccidents133视频中(第1行,第2列),即使在事故发生后,异常分数仍然保持较高。另外,值得注意的是,对于正常视频,AnomalyCLIP能够在所有帧上获得相对较低的异常概率,这意味着我们的模型在正常视频中学习到了稳健的正常表示。更多关于测试视频的结果,请参考附录E。此外,为了更直观地理解论文中提出的结果,我们邀请读者访问网站https://lucazanella-dvl.github.io/AnomalyCLIP,那里提供了易于访问的定性结果。

5. Conclusions

在这项工作中,我们解决了视频异常识别这一挑战性任务,扩展了视频异常检测的范围,进一步要求对异常活动进行分类。我们提出了AnomalyCLIP,这是第一个在VAR环境中利用LLV模型的方法。我们的工作揭示了将现有的LLV模型(Radford等,2021;王等,2021)简单应用于VAR会导致性能不佳,并且我们证明了需要多项技术设计选择才能构建一个用于检测和分类异常行为的多模态深度网络。我们还进行了广泛的实验评估,展示了AnomalyCLIP在基准数据集上(上海科技(Liu等,2018)、UCF-Crime(Sultani等,2018)和XD-Violence(吴等,2020))取得了最先进的VAR结果。作为未来工作,我们计划将我们的方法扩展到开放式场景,以反映现实世界中常常没有预先定义的异常。我们还将研究我们的方法在其他多模态任务中的适用性,例如细粒度分类。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1527171.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux设置IP地址多种方法保姆级教程,外加修改主机名并通过生成密钥,组建机群。

[引入提问] 怎么设置linux服务器的名称? 方法1: nmtui—自动打开设置机器名称的操作界面---输入即可。重启hostnamed服务, systemctl restart system-hostnamed 方法2: 直接编辑 vim /etc/hostname ,输入新的…

VR历史建筑漫游介绍|虚拟现实体验店加盟|VR设备购买

VR历史建筑漫游是一种利用虚拟现实技术,让用户可以身临其境地参观和探索历史建筑的体验。通过VR头显和相关设备,用户可以在虚拟环境中自由移动和互动,感受历史建筑的真实氛围和文化内涵。 在VR历史建筑漫游中,您可以选择不同的历史…

Vue+SpringBoot打造数据可视化的智慧河南大屏

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示四、核心代码4.1 数据模块 A4.2 数据模块 B4.3 数据模块 C4.4 数据模块 D4.5 数据模块 E 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的数据可视化的智慧河南大屏,包含了GDP、…

SpringCloud搭建微服务之Micrometer分布式链路追踪

1. 概述 由于Spring Cloud Sleuth最新版本只支持Spring Boot 2.7.x,核心项目已经迁移到Micrometer Traceing项目,Spring Boot 3.x版本要实现分布式链路追踪需要集成Micrometer。更多详情可以参阅Micrometer官网 本文将以Spring Boot 3.2.x和Spring Clo…

视频私有云,HDMI/AV多硬件设备终端接入,SFU/MCU视频会议交互方案。

在视频业务深入的过程中越来越多的硬件设备接入视频交互的视频会议中远程交互,有的是视频采集,有的是医疗影像等资料,都需要在终端承显,这就需要我们的设备终端能多设备,多协议接入,设备接入如下。 1&#…

Python Web开发记录 Day13:Django part7 Ajax入门与案例(任务管理)

名人说:莫道桑榆晚,为霞尚满天。——刘禹锡(刘梦得,诗豪) 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 1、Ajax入门①简介②工作原理③优点④缺点⑤使用…

Poly Kernel Inception Network在遥感检测中的应用

摘要 https://export.arxiv.org/pdf/2403.06258 遥感图像(RSI)中的目标检测经常面临一些日益严重的挑战,包括目标尺度的巨大变化和多样的上下文环境。先前的方法试图通过扩大骨干网络的空间感受野来解决这些挑战,要么通过大核卷积…

易基因:人类大脑的单细胞DNA甲基化和3D基因组结构|Science

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 高通通量表观基因组分析技术可用于阐明大脑中细胞复杂性的基因调控程序。5-甲基胞嘧啶 (5mCs)是哺乳动物基因组中最常见的修饰碱基,大多数5mCs发生在胞嘧啶-鸟嘌呤二核苷酸&a…

Spring Boot 实现程序的优雅退出

🏷️个人主页:牵着猫散步的鼠鼠 🏷️系列专栏:Java全栈-专栏 🏷️个人学习笔记,若有缺误,欢迎评论区指正 目录 前言 优雅停机是什么 SpringBoot如何实现优雅停机 合理杀死进程 法一&…

企业开展开源安全治理必要性及可行性详细分析

背景 开源软件安全威胁是近几年企业安全面临的主要威胁,也是企业应用安全方向讨论的热门话题,但是由于是新的需求新的方向,很多企业在观望,当前开展这项工作是否已经成熟,项目成功率如何? 当新鲜事物产生时…

【iOS】——Blocks

文章目录 前言一、Blocks概要1.什么是Blocks 二、Block模式1.block语法2.block类型变量3.截获自动变量值4._Block修饰符5.截获的自动变量 三、Blocks的实现1.Block的实质2.截获自动变量值3._Block说明符4.Block存储域 前言 一、Blocks概要 1.什么是Blocks Blocks是C语言的扩…

聚类分析 | Matlab实现基于NNMF+DBO+K-Medoids的数据聚类可视化

聚类分析 | Matlab实现基于NNMFDBOK-Medoids的数据聚类可视化 目录 聚类分析 | Matlab实现基于NNMFDBOK-Medoids的数据聚类可视化效果一览基本介绍程序设计参考资料 效果一览 基本介绍 NNMFDBOK-Medoids聚类,蜣螂优化算法DBO优化K-Medoids 非负矩阵分解&#xff08…

mac清除dns缓存指令 mac清除缓存怎么清理

你是否曾经被要求清理dns缓存并刷新?清理dns缓存一般是由于修改了主机文件,或者想排除一些网络上的故障。在Mac上清除dns缓存需要使用命令行来实现。在本文中,软妹子将向大家介绍mac清除dns缓存指令,并展示mac清除缓存怎么清理。 …

Stable Diffusion WebUI 生成参数:宽度/高度/生成批次/每批数量/提示词相关性/随机种子

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里。 大家好,我是水滴~~ 本文将继续了解 Stable Diffusion WebUI 的生成参数,主要内容有:宽度、高度、生成批次、每批数量、提示词相关性、随机种子。希望能对你…

路由器级联

目录 一、实现功能二、实现步骤2.1 接线步骤 三、效果3.1 常规连接3.2 路由器级联 一、实现功能 主路由器:可有WiFi功能,LAN口下接各设备,并接一个辅路由器辅路由器:开启WiFi功能,有线或无线下接各设备功能&#xff1…

Docker部署TeamCity来完成内部CI、CD流程

使用TeamCity来完成内部CI、CD流程 本篇教程主要讲解基于容器服务搭建TeamCity服务,并且完成内部项目的CI流程配置。至于完整的DevOps,我们后续独立探讨。 一个简单的CI、CD流程 以下分享一个简单的CI、CD流程(仅供参考)&#…

量子计算的飞跃!澳研究团队发明新型光量子处理器

内容来源:量子前哨(ID:Qforepost) 编辑丨慕一 编译/排版丨沛贤 深度好文:1800字丨12分钟阅读 澳大利亚研究人员成功研制出全球首款可重新编程的基于光的量子处理器,这一创新成果通过最小化光损失&#xf…

Linux操作系统的安全相关介绍

Linux操作系统的安全模型、访问控制、安全策略和加密机制是确保系统安全的重要组成部分。下面将详细介绍这些方面。 安全模型 Linux操作系统的安全模型基于传统的Unix安全模型,主要包括以下核心概念: 1. **用户和组**:Linux系统中的每…

数据结构——lesson10排序之插入排序

💞💞 前言 hello hello~ ,这里是大耳朵土土垚~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页&#x…

项目中遇到的sql问题记录

有一张表,表结构及数据如下: INSERT INTO test.test_approve(approve_no, tra_date, tablename, part_dt) VALUES (approve001, 2021-02-18 00:00:00, tableA, 2024-03-18); INSERT INTO test.test_approve(approve_no, tra_date, tablename, part_dt) …