Learning Prompt-Enhanced Context Features for Weakly-Supervised Video Anomaly Detection 论文阅读
文章信息:
原文链接:https://arxiv.org/abs/2306.14451
源码:https://github.com/yujiangpu20/PEL4VAD
Abstract
视频异常检测在弱监督条件下面临着重大挑战,特别是由于在训练过程中缺乏帧级别的注释。虽然先前的研究在建模时间关系和学习具有区分性特征方面使用了图卷积网络和自注意力机制以及基于多实例学习(MIL)的分类损失,但这些方法通常采用多分支架构来分别捕获局部和全局依赖关系,从而增加了参数和计算成本。此外,MIL损失的二元约束提供的粗粒度跨类别可分性忽视了异常类别内部的细粒度可辨识性。为了解决这一问题,本文介绍了一个弱监督异常检测框架,重点放在有效的上下文建模和增强的语义可辨识性上。我们提出了一个称为时间上下文聚合(TCA)模块的方法,通过重用相似性矩阵并实现自适应融合来捕获全面的上下文信息。此外,我们提出了一个称为增强型提示学习(PEL)模块的方法,该模块使用基于知识的提示集成语义先验,以增强上下文特征的区分能力,并确保异常子类之间的可分性。大量实验验证了我们方法组件的有效性,在三个具有挑战性的基准数据集(UCF-Crime、XD-Violence和ShanghaiTech数据集)上展示了竞争性能,并且在减少参数和计算成本的情况下,显著提高了某些异常子类的检测准确性,突显了其实用价值和功效。
I. INTRODUCTION
视频异常检测(VAD)是识别视频流中与正常模式不同的异常事件或行为的过程。随着监控摄像头的普及,仅依靠人工监督已不足以满足实际应用的需求。因此,迫切需要高效准确的自动化VAD方法。这些方法在安全、工业监测、医疗保健和社交媒体分析等各个领域都至关重要,它们有助于减轻潜在威胁并提高运营效率,因此具有重要的实际价值。
与经典的动作识别任务不同,由于异常事件的罕见性和敏感性质,收集相关视频以进行异常检测是具有挑战性的。目前的方法将异常检测视为半监督学习任务,模型在训练过程中学习正常行为的模式,并将偏差识别为异常。这些方法不需要详细的注释,但由于对正常模式的不完整表示,往往会错误地将未见样本识别为异常,导致高误报率。
最近,人们开始注意到越来越多的注意力转向开发更强大的异常检测算法,特别是对弱监督方法的关注。与半监督方法相比,这些方法具有几个优点:1)它们在训练中同时包含正常和异常视频,从而实现更具区分性的表示学习。2)它们只需要视频级别的注释,指示异常的存在,但不需要精确的时间信息。3)由于注释要求较少,它们有助于创建大规模数据集。由于这些优点,弱监督方法已经展示出更优异的性能,显著超越了其半监督方法的对应部分。
为了有效地建模持续时间差异显著的异常事件的时间动态,理解视频片段中的上下文信息至关重要。现有方法,如图卷积网络和自注意力机制,旨在捕获这些时间关系。然而,每种方法都有其局限性:图卷积仅考虑局部节点聚合,可能会错过异常的更广泛上下文,而自注意力机制,尽管捕获全局相关性,可能会引入不相关的噪音。为了改进这种理解,吴等人和田等人设计了通过并行结构整合局部和全局上下文的网络。尽管这些方法通过减轻长程噪音干扰来增强上下文建模,但却以增加的计算复杂性和参数数量为代价,这可能导致过拟合并阻碍实际部署。
此外,异常的固有多样性和复杂性带来了额外的挑战。异常数据集通常展示出大量的类内变异和最小的类间变异,其中的示例包括固定摄像头监控录像和艺术风格多样的电影和电视内容。解决这个问题需要一个能够应对这些复杂性的强大的检测管道。虽然最近的方法旨在构建一个紧凑的正常流形并引入额外的二元约束来进行区分性学习,但它们往往忽视了异常类别内部的明显视觉特征,并且未能捕获各种异常的具体语义。这种疏忽导致了解释性差和误分类风险增加。
鉴于这些限制,我们的动机是双重的:1)开发一种方法,平衡了对详细时间建模的需求与计算效率之间的关系,从而解决多分支结构固有的高参数数量和低效率问题。2)构建一种比现有模型更有效地识别和解释异常语义的方法。
在本文中,我们首先介绍了一个称为时间上下文聚合(TCA)模块,旨在比当前的并行结构更高效地捕获视频片段之间的时间关系。该模块通过重新利用相似性矩阵来减少计算负载和参数数量,从而与众不同。它还结合了一个可学习的因子,以自适应地融合局部和全局上下文,并引入了一个具有参数化核函数的动态位置编码(DPE),以准确地建模视频片段之间的相对位置。正如第四节的结果所证明的那样,与现有方法相比,我们的TCA模块展现了更加优越的性能,设计更加简洁和经济有效。
其次,我们提出了一个称为增强型提示学习(PEL)模块,灵感来源于提示学习。与现有方法不同,这些方法依赖于手工设计或可学习的提示,我们的方法利用外部知识库,即ConceptNet,来构建提示模板,如图1所示。这些模板具有丰富的上下文信息,并具有一定的可解释性,能够细致地理解异常的特定语义。通过将异常上下文与对应的提示特征对齐,并将非异常上下文与之区分开来,我们的PEL模块将丰富的语义注入到视觉特征中,增强了细粒度的可辨识性和类间的可分性。这种创新的方法促进了在嵌入空间中发展更加明晰的决策边界。
最后,考虑到视频中的异常通常跨越多个帧,我们在测试阶段采用了一种即插即用的得分平滑(SS)策略,以解决由于瞬态干扰(如帧抖动或切换)导致的潜在误分类问题。该模块对连续的异常得分应用平均池化,从而抑制了单个偏差,并减轻了与异常的典型持续时间不一致的短暂噪音的影响。
本文的主要贡献简述如下:
-
我们引入了一个称为时间上下文聚合(TCA)模块,利用重用的相似性矩阵和自适应融合来实现高效有效的视频异常检测。该模块展示了增强的编码性能,同时显著减少了参数数量和计算开销。
-
我们提出了一个称为增强型提示学习(PEL)模块,旨在增强细粒度上下文理解。通过构建基于知识的提示,精确的上下文分离和跨模态对齐,从而丰富了模型的语义辨别能力。
-
我们的模型在三个基准数据集(UCF-Crime、XD-Violence和ShanghaiTech)上表现出竞争性的性能。值得注意的是,对于某些细粒度的异常,其检测准确率提高了约10%,突显了其实际有效性。
II. RELATED WORK
A. Video Anomaly Detection
早期研究将异常检测视为半监督任务,利用具有手工设计特征的统计模型。然而,这些方法受限于表示能力有限,导致鲁棒性和泛化性能不佳。近年来深度学习的进步推动了更复杂的异常检测技术的发展。一些方法旨在创建一个单类分类器,将正常状态在潜在空间中区分开来,将偏差识别为异常。然而,没有关于异常的先验知识,这些模型可能会将复杂或未知的正常样本错误地标记为异常。其他策略假设异常会表现为更大的重构或预测误差,假设正常状态可以被准确地重构或预测。然而,这些方法容易过拟合,并且可能会很好地重构或预测异常。
最近的研究重点转向了弱监督异常检测,利用带有视频级别注释的正常和异常样本。这些方法通常分为两种范式:一阶段方法利用多实例学习(MIL)和两阶段的自训练策略。Sultani等人引入了一个深度MIL模型,优化了边际排名损失来增强正负片段之间的区分度。Tian等人开发了鲁棒时序特征幅度(RTFM)学习,通过特征相似性和时序连续性来检测微妙的异常。Cho等人设计了Class-Activate Feature Learning(CLAV)来提取独特的特征,并采用相对距离学习来突出它们的差异,同时使用了上下文运动相互关联模块(CoMo)来分析与场景相关的运动异常。相反,Lv等人提出了一种无偏的MIL方法,考虑了自信和模糊的片段,增强了检测器在不依赖上下文偏差的情况下区分正常和异常事件的能力。
出现了两阶段的自训练方法,用于生成视频片段的高置信度伪标签,将弱监督异常检测重新塑造为具有噪声标签的监督任务。钟等人利用图卷积网络来细化这些标签,并迭代增强异常分类器。冯等人提出利用多实例伪标签生成来微调特征编码器,从而产生任务特定的区分性特征。李等人介绍了一种名为多序列学习(MSL)的方法,该方法逐步优化缩短的样本长度以细化定位边界。张等人引入了一个多头模块来生成不同的伪标签,并通过优先选择具有较低不确定性的片段来优化这一过程的迭代不确定性训练策略。
与此同时,一些研究利用多模态信息来增强视频异常检测。吴等人提出了HL-Net,将外观、运动和音频集成到综合的多模态方法中。于等人利用双流网络来改善实例聚类,并采用自蒸馏来最小化单模态和视听特征之间的语义差距。魏等人引入了MSAF框架,采用多模态MIL排序损失生成伪剪辑级标签,并在特征学习中采用监督注意力回归损失来促进不同模态之间的隐式对齐。浦等人通过音频和视觉元素之间的跨模态交互增强了上下文视频表示,利用时间卷积来计算特定事件(如暴力)的高置信度分数。
虽然许多方法已经探索了时间关系建模,但许多方法依赖于并行分支,这会引入额外的参数和计算需求。相比之下,我们的方法具有两个显著的优势。首先,TCA模块利用重复使用相似性矩阵来同时捕获局部和全局依赖关系。这种策略优于需要额外分支的方法,同时最小化了参数和计算负载。其次,与从数据本身构建正常原型的技术(如[12]和[19])不同,我们的PEL模块使用外部知识将异常先验引入模型中。这种方法不仅丰富了视觉特征的语义,而且显著提升了我们模型的细粒度异常检测能力。
B. Prompt Learning in Video Understanding
提示学习最初是在自然语言处理领域引入的,旨在通过设计适当的提示模板,利用预训练模型进行少样本或零样本情况的学习。最近,这一技术已经被扩展到视频理解任务中。王等人通过将视频剪辑与类别标签的提示嵌入进行对齐,展示了这一点,用于动作识别。他们将类别标签作为前缀、填空和后缀融入到提示模板中,从而显著优于单一类别提示。类似地,Ju等人通过将类别标签与可学习向量合并,制作了提示模板,并研究了标签在模板中的位置对结果的影响。尽管取得了这些进展,手工设计提示模板仍然费时费力,并且模型对模板内容非常敏感。而参数化提示虽然消除了对语言先验的需求,但通常会导致抽象和晦涩的字符串。
最近,姚等人利用WordNet的定义来构建提示模板,并利用概念字典创建额外的类别标签描述。这种方法显著推动了开放词汇量对象检测任务的发展。受到他们工作的启发,我们引入了一种新颖的增强型提示学习策略,用于视频异常检测。与以往方法不同,我们从ConceptNet中提取与异常相关的、类别特定的概念来增强上下文信息。我们的目标是通过外部提示来改进视觉特征。我们通过跨模态对齐将语义信息注入到视觉特征中,而不是双向匹配,从而确保在测试期间仅依赖于视觉特征。
III. THE PROPOSED METHOD
A. Overall Framework
我们方法的总体框架如图2所示。具体而言,首先将未修剪的视频通过一个滑动窗口(16帧)分割成不重叠的片段。随后,我们使用预训练的I3D网络[51]来提取片段特征 X \mathbf{X} X,然后将其输入到TCA模块中生成上下文特征 X c \mathbf{X}^c Xc。然后,通过一个两层的多层感知器(MLP)实现特征降维,其中PEL模块应用于中间层,通过基于知识的提示学习具有区分性的特征 X e \mathbf{X}^e Xe。最后,分类器预测片段级别的异常得分 S \mathbf{S} S。在训练阶段,基于多实例学习的损失函数将片段级别的得分转换为包级别的预测,以学习对异常情况进行高激活,其中下标 a a a和 n n n分别表示异常和正常视频。
图2. 提出框架的概述。我们首先使用预训练的I3D网络处理未修剪的视频,提取片段特征。然后,TCA模块同时捕获局部和全局上下文。高层表示通过两层MLP导出,其中PEL模块在中间层操作,学习上下文特征的细粒度语义。最后,因果卷积层作为分类器,预测片段级别的异常得分。在训练阶段,模型使用交叉熵损失 L c e \mathcal{L}_{ce} Lce和KL散度损失 L k d \mathcal{L}_{kd} Lkd进行优化。
B. Temporal Context Aggregation Module
正如之前讨论的那样,图2中描述的时间上下文聚合(TCA)模块与现有方法中常见的多分支并行框架有所不同。它通过利用相似性矩阵和自适应融合同时对全局和局部依赖关系进行建模。首先,片段特征
X
\mathbf{X}
X通过不同的线性层投影到潜在空间,然后通过计算内积得到相似性矩阵
M
\mathbf{M}
M,具体如下:
其中,
f
q
(
⋅
)
,
f
k
(
⋅
)
f_q( \cdot ) , f_k( \cdot )
fq(⋅),fk(⋅) 和
f
v
(
⋅
)
f_v( \cdot )
fv(⋅) 是三个不同的线性层,
T
T
T 表示转置操作,
D
h
D_h
Dh 是潜在空间中的隐藏维度。然后应用 softmax 归一化来生成全局注意力图
A
g
\mathbf{A}^g
Ag。通过注意力图重新加权投影的片段特征,以获得全局上下文特征
X
g
\mathbf{X}^g
Xg。
虽然上述操作有助于全局上下文建模,但不可避免地引入了长距离噪声。为了解决这个问题,我们通过在掩码窗口中重复使用相似性矩阵来实现局部上下文校准,其可以表述为:
其中,
w
w
w 是掩码的窗口大小,
T
T
T 是输入序列的最大长度。公式(4)确保第
i
i
i 个片段仅与其窗口大小为
w
w
w 的邻域进行交互。这个窗口的下界是可以历史观察到的最早时刻,上界是序列的最大长度。类似地,通过注意力图
A
l
\mathbf{A}^l
Al 对投影的片段特征进行重新加权,可以得到局部校准特征
X
l
\mathbf{X}^l
Xl,从而能够有效地捕捉轻微变化并在局部邻域实现特征增强。
随后,我们采用可学习的方式而不是直接串联或平均池化来实现局部-全局上下文自适应融合,使模型能够动态平衡全局时间模式和局部细微差异的重要性。融合过程表述如下:
其中,
α
\alpha
α 和
1
−
α
1-\alpha
1−α 分别表示上下文融合的全局权重和局部权重,Norm(·) 表示功率归一化[52]和L2归一化的组合。然后,应用一个线性层
f
h
(
⋅
)
f_h(\cdot)
fh(⋅),接着进行残差连接和层归一化 LN(·),以获得上下文特征
X
c
\mathbf{X}^c
Xc。
此外,考虑到位置信息的重要性,我们引入了动态位置编码(DPE)来对片段的相对距离进行建模,公式如下:
其中, i i i 和 j j j 分别表示两个片段的绝对位置, γ \gamma γ 和 β \beta β 是可学习的权重和偏置项。特别地,动态位置编码(DPE)被嵌入到相似性矩阵 M M M 中作为位置先验,即 M ← M + G \mathbf{M}←\mathbf{M}+\mathbf{G} M←M+G,从而避免影响原始特征分布。与[17]中的固定位置编码不同,由于其动态性质,DPE能够适应不同长度的视频。此外,DPE的高斯样式核本质上抑制了长距离噪声的影响,强调了更近的片段关系而不是更远的片段关系,表明对非线性模式具有固有的敏感性。
C. Multilayer Perceptron and Classifier
为了获得高级语义表示,采用了两层MLP进行特征降维。每个Conv1D层后跟一个GELU激活和dropout操作。这个过程表示如下:
其中,
f
t
(
⋅
)
f_t(\cdot)
ft(⋅) 是具有核大小
Δ
t
\Delta t
Δt 的因果卷积层,
σ
(
⋅
)
\sigma(\cdot)
σ(⋅) 是sigmoid函数,
s
i
s_i
si 是第
i
i
i 个片段的异常得分。
根据[12]的方法,我们采用基于多实例学习(MIL)的损失作为基本的目标函数。具体而言,我们通过取前 k 个异常分数的均值来确定视频级别的预测
p
i
p_i
pi。对于正样本包,我们设置
k
=
⌊
T
/
16
+
1
⌋
k = ⌊T/16 + 1⌋
k=⌊T/16+1⌋,对于负样本包,我们设置
k
=
1
k = 1
k=1。给定一个包含
B
B
B 个样本的小批量,其中包含视频级别的真实标签
y
i
y_i
yi,二元交叉熵损失被表述为:
D. Prompt-Enhanced Learning
PEL模块旨在通过整合基于知识的上下文信息来丰富视觉表示,从而增强模型在复杂场景中识别异常的能力。具体而言,PEL模块包括三个步骤,即提示构建、上下文分离和跨模态对齐,如图2所示。
I)Prompt Construction
我们首先从ConceptNet中选择12个常见关系
1
^{1}
1作为预检索语义,然后选择在所有类别中出现频率最高的前五个项目作为检索关系,表示为
{
r
j
}
j
=
1
R
\{r_j\}_{j=1}^{R}
{rj}j=1R。然后,通过检索所有与给定类
c
c
c建立的关系
r
j
r_j
rj的边,作为头节点或尾节点构建概念字典
D
\mathcal{D}
D,如图3所示。每个边中的非类别节点用作键,边的相关性分数作为值。为了消除可能干扰异常语义的噪声条目,首先排除相关性分数小于或等于0的概念(步骤1)。接下来,使用相关性分数的平均值作为阈值来过滤剩余的条目(步骤2)。一般来说,相关性分数越高,节点之间的语义关系越强。
图3. 给定异常类别"fighting"的概念字典示例。箭头从头节点指向尾节点,并带有相关性分数,颜色表示不同的关系。整个图构成了一个概念字典,其中粗体项目是在节点过滤后保留的项目。
在获得概念字典后,我们使用预训练的CLIP模型[23]来提取相应的提示表示。对于给定的类别
c
c
c,首先从概念字典中提取一组键
{
k
i
c
}
i
=
1
N
\{k_i^c\}_{i=1}^N
{kic}i=1N作为上下文提示,然后分别将其输入到文本编码器中提取512维特征向量
{
K
i
c
}
i
=
1
N
\{\mathbf{K}_i^c\}_{i=1}^N
{Kic}i=1N。最后,将所有特征向量的平均值视为基于知识的提示特征,表示如下:
这里的
N
N
N表示键的数量。提示表示整合了来自多个关系的相关概念,并促进了视觉特征的语义增强。
2) Context Separation:
由于片段级别特征未包含完整的上下文细节,直接将它们与提示特征对齐可能会导致异常定位的不准确性。因此,在连续的片段中,区分类别特定的前景和类别无关的背景至关重要。我们使用缩放的异常分数作为激活,生成视频级别的前景和背景特征。这些表示如下:
其中,
S
t
\mathcal{S}_t
St 表示片段级别的异常分数,
μ
\mu
μ 是预定义的缩放因子,与
exp
(
⋅
)
\exp(\cdot)
exp(⋅) 操作合作以增强高置信度的激活。相反,
S
ˉ
=
1
−
S
t
\bar{\mathbf{S}}=1-\mathbf{S}_t
Sˉ=1−St 表示当前片段的正常置信度,
X
e
\mathcal{X}^e
Xe 表示 MLP 的中间层输出,其维度与
T
c
T^c
Tc 相同。
3) Cross-modal Alignment:
3) 跨模态对齐:最后,我们提出了一种增强视觉特征的细粒度语义的方法,通过将其与提示特征对齐,如图2所示。对于异常视频,前景特征
V
a
f
g
\mathbf{V}_{a}^{fg}
Vafg 与相应的异常提示
T
a
c
\mathbf{T}_a^c
Tac 匹配,增加了准确识别异常行为的机会。相反,背景特征
V
a
b
g
\mathbf{V}_{a}^{bg}
Vabg 与正常提示
T
n
c
\mathbf{T}_n^c
Tnc 匹配,在异常环境中保持正常分类。对于语义不一致的视频-提示对,通过最小化所有负对的余弦距离来实现排斥,进一步形成判别性决策边界。该过程表述如下:
其中,
ψ
(
⋅
)
\psi(\cdot)
ψ(⋅) 测量了视觉表示
V
∈
{
V
a
f
g
⋃
V
a
b
g
⋃
V
n
f
g
}
\mathbf{V}\in\left\{\mathbf{V}_{a}^{fg}\bigcup\mathbf{V}_{a}^{bg}\bigcup\mathbf{V}_{n}^{fg}\right\}
V∈{Vafg⋃Vabg⋃Vnfg} 与文本表示
T
∈
{
T
a
c
⋃
T
n
c
}
\mathbf{T}\in\{\mathbf{T}_a^c\bigcup\mathbf{T}_n^c\}
T∈{Tac⋃Tnc} 之间的余弦相似度。概率
p
v
2
t
(
⋅
)
p^{v2t}(\cdot)
pv2t(⋅) 估计了视觉特征与特定提示匹配的可能性,跨越了
C
C
C 个异常类和 1 个正常类,其中
τ
\tau
τ 是温度系数。最后,通过Kullback-Leibler散度计算跨模态对齐损失,迫使网络学习区分视频的视觉内容,这些内容代表了异常行为(前景),以及与异常行为无关的内容(背景)。损失函数的表述如下:
其中,
p
v
2
t
(
v
)
p^{v2t}(v)
pv2t(v) 和
q
v
2
t
(
v
)
q^{v2t}(v)
qv2t(v) 分别表示视频-提示对的相似度分数和语义一致性标签。如果它是一个正对,
q
=
1
q=1
q=1;否则,
q
=
0
q=0
q=0。
E. Training and testing procedures
在训练阶段,我们模型的总体目标函数表示为:
这里的系数 λ λ λ 被用来调整对齐损失。通过优化这个目标函数,我们的模型获得了生成正负片段的判别性表示的能力,同时也有效地捕获了异常的细粒度语义。因此,我们的模型在复杂情况下的泛化能力得到了提高。
考虑到时间一致性,在测试阶段我们采用了一种分数平滑(SS)策略,以减轻不符合异常持续时间预期的瞬态噪音的影响。该策略利用不同的池化操作来实现最佳结果。给定异常分数序列
{
s
i
}
i
=
1
T
\{s_i\}_{i=1}^T
{si}i=1T 和大小为
κ
\kappa
κ 的池化窗口,平滑过程可以表述如下:
其中,
κ
s
κ_s
κs 和
κ
e
κ_e
κe 分别表示池化的起始位置和结束位置。对于移动窗口,我们设置
κ
s
=
⌊
i
/
κ
⌋
κ
κ_s = ⌊i/κ⌋ κ
κs=⌊i/κ⌋κ 和
κ
e
=
(
⌊
i
/
κ
⌋
+
1
)
κ
−
1
κ_e = (⌊i/κ⌋ + 1) κ − 1
κe=(⌊i/κ⌋+1)κ−1。对于滑动窗口,我们定义
κ
s
=
i
κ_s = i
κs=i 和
κ
e
=
i
+
κ
−
1
κ_e = i+κ−1
κe=i+κ−1。在分数序列长度小于窗口大小的情况下,剩余部分用零填充。通过平滑预测分数,可以有效地抑制个别偏差,同时进一步减少误报的发生。
IV. EXPERIMENTS
UCF-CRIME DATASET
XD-VIOLENCE DATASET
SHANGHAITECH DATASET
V. CONCLUSION
在本文中,我们专注于针对弱监督视频异常检测的高效时序上下文建模和视觉特征的语义增强。我们
- 引入了一个时序上下文聚合模块,该模块重用相似性矩阵以同时捕获局部和全局依赖关系。这种方法不仅减少了参数和计算负载,而且提高了检测能力,标志着与传统并行系统的显着转变,并增强了实际应用性和效率。
- 鉴于异常的复杂性,我们的模型不仅仅是检测异常,还通过整合外部知识来理解异常,实现了语义可解释性。这使得模型与人类认知保持一致,提供了超越典型二元约束的细致理解。
- 我们提出的增强型提示学习模块通过使用从外部知识中获取的类特定提示进一步改进了这一点,提高了对异常子类的区分,并保持了明确的类间分离。
未来,还需要探索多模态信息,如运动和音频,并且开放式异常检测也值得关注。