VERA: Explainable Video Anomaly Detection via Verbalized Learning of Vision-Language Models
利用VLMs同时检测异常,并为决策提供易于理解的解释。这一领域的现有研究通常认为,VAD所需的复杂推理超出了预训练VLMs的能力范围。因此,这些方法要么在推理过程中引入专门的推理模块,要么通过额外训练依赖指令调整数据集,以使VLMs适用于VAD。然而,这些策略往往会带来高昂的计算成本或数据标注负担。为应对可解释VAD中的这些挑战,我们引入了一种名为VERA的语言化学习框架该框架能让VLMs在不修改

中文标题:VERA:基于视觉语言模型语言化学习的可解释视频异常检测
类型:VAD
发布于: CVPR2025
项目地址(无代码):VERA: Explainable Video Anomaly Detection via Verbalized Learning of Vision-Language Models
目录
3.2. Training in VERA: Finding Guiding Questions for VAD via Verbalized Learning
3.3. Inference in VERA: Coarse-to-Fine Anomaly Scoring by Guiding Questions and Contexts
5. Concluding Remarks and Limitations
Abstract
视觉语言模型(VLMs)的快速发展为视频异常检测(VAD)建立了一种新范式:利用VLMs同时检测异常,并为决策提供易于理解的解释。这一领域的现有研究通常认为,VAD所需的复杂推理超出了预训练VLMs的能力范围。因此,这些方法要么在推理过程中引入专门的推理模块,要么通过额外训练依赖指令调整数据集,以使VLMs适用于VAD。然而,这些策略往往会带来高昂的计算成本或数据标注负担。为应对可解释VAD中的这些挑战,我们引入了一种名为VERA的语言化学习框架,该框架能让VLMs在不修改模型参数的情况下执行VAD任务。具体而言,VERA会自动将VAD所需的复杂推理分解为对更简单、更具针对性的引导问题的思考,这些问题能够捕捉不同的异常模式。它将这些反思性问题视为可学习参数,并利用粗标注的训练数据,通过学习者和优化器VLMs之间的数据驱动语言交互对其进行优化。在推理阶段,VERA将学习到的问题嵌入模型提示中,引导VLMs生成片段级异常分数,然后通过融合场景和时间上下文将其细化为帧级分数。在具有挑战性的基准测试上的实验结果表明,VERA学习到的问题具有高度适应性,显著提高了VLMs在VAD中的检测性能和可解释性。
1. Introduction
视频异常检测(VAD)旨在自动识别视频序列中意外和异常的事件,其应用广泛,涵盖从自动驾驶[2]到工业制造[34]等领域。虽然在视频异常检测中取得良好的性能至关重要,但为检测到的异常提供清晰的解释更为关键。
为此,我们的工作主要聚焦于可解释的视频异常检测(VAD),这既需要全面的视觉理解能力,也需要具备生成人类可解释预测结果的能力。视觉语言模型(VLMs)[8, 20, 23, 61]的快速发展,使我们能够凭借其强大的视觉推理和语言交互能力满足这两个要求。作为有效地将大语言模型(LLMs)[4]的推理能力与预训练视觉编码器[9]的视觉理解能力相结合的多模态架构,视觉语言模型特别适合用于视频异常检测,因为它们可以提供可解释的预测,清晰地说明特定异常背后的原理,使结果对用户来说更具可解释性。因此,最近关于视频异常检测的研究主要集中在如何有效地利用预训练视觉语言模型的能力上。如图1所示,现有方法旨在通过添加额外的推理模块或指令调优(IT)来解决视觉语言模型预训练任务与视频异常检测需求之间的不一致问题:
• 有一类研究引入外部大语言模型(LLMs)来辅助冻结的视觉语言模型(VLMs)进行视频异常检测(VAD)的推理[49, 55]。该研究使用视觉语言模型为给定视频中的内容生成描述,然后将这些描述传递给外部大语言模型,例如GPT-4[1],以推断是否发生异常。
• 另一类研究则通过指令调优(IT)对视觉语言模型(VLMs)进行扩展,以生成可解释的预测结果[29, 58]。这类研究创建了带有帧级注释的额外视频异常检测(VAD)数据集,并利用示例指令对视觉语言模型进行微调,使其能够检测异常并生成人类可解释的说明。

图1. VERA利用从粗标注数据中学习到的可学习引导问题,使冻结的视觉语言模型(VLMs)能够进行描述和推理。
关键观察与研究问题。尽管先前的研究表明了将视觉语言模型(VLMs)应用于视频异常检测(VAD)的潜力,但我们发现这一新范式受到一个共同的关键问题的阻碍:使用额外的推理模块或细粒度标注的数据集会在推理或训练阶段带来巨大的计算成本。首先,将视频异常检测系统解耦为一个冻结的视觉语言模型和一个额外的大语言模型会在推理过程中引入更多开销,因为它将描述生成和推理过程分开了。其次,尽管基于指令调优(IT)的方法能够使视觉语言模型有效地整合用于视频异常检测的描述和推理,但它们需要额外的人力和计算资源来对细粒度标注的指令数据集进行标注和微调,这既耗时又无法扩展到大规模数据集。鉴于此,我们研究以下尚未探索但很重要的问题:
我们能否在不进行指令调优的情况下,让冻结的视觉语言模型(VLM)整合用于视频异常检测(VAD)的描述和推理能力呢?
我们的方法。这个研究问题并非无关紧要,因为在一般的视觉任务中,冻结的视觉语言模型的推理能力是有限的,它难以处理像视频异常检测这样复杂的推理任务,这类任务需要理解微妙的、依赖上下文的异常值。举例来说,表1显示,用现有研究中简单的视频异常检测问题来提示冻结的视觉语言模型,会得到不尽人意的结果。因此,对视觉语言模型进行指令调优似乎是必要的,这样才能使其对特定的指令线索做出响应,并捕捉细微的视觉变化。在本文中,我们对这种操作的必要性提出了质疑,并提出了一种有原则的方法,使冻结的视觉语言模型适用于视频异常检测。

表1. 使用简单问题指示冻结的视觉语言模型(InternVL2 - 8B [8])在UCF - Crime [35]数据集上进行视频异常检测,得到的曲线下面积(AUC)较低。
具体来说,我们的解决方案基于这样一种直觉:如果我们用对异常模式进行恰当且具体描述的问题,而非 “异常” 这类抽象笼统的词汇来提示视觉语言模型(VLMs),那么它们在视频异常检测(VAD)中的推理能力将会提升。我们的思路是通过迭代,将异常描述从抽象表述(例如 “是否存在异常?”)细化为详细、具体的特征描述。
受这一见解的驱动,我们提出了一个名为VERA的框架,以探索用于视频异常检测(VAD)的语言化学习。该框架考虑到实际约束,即手动为不同的视觉语言模型(VLMs)编写视频异常检测引导问题并非最佳选择,因此它引入了一个数据驱动的学习任务,利用粗标注数据集为冻结的视觉语言模型识别包含具体异常模式的合适异常特征描述问题,从而无需进行指令调优(IT)。 具体而言,在训练阶段,VERA将引导视觉语言模型在视频异常检测中进行推理的问题视为可学习参数,并基于优化器视觉语言模型对学习者视觉语言模型在视频异常检测训练集中每个视频的中间视频异常检测子任务(二元视频分类)性能的语言反馈来改进这些问题。这种设计对于视频异常检测既高效又合适,因为它仅依赖所提供的粗粒度视频级标签,同时考虑到了视频的时间性等特定属性。 之后,考虑到视频帧的规模较大,VERA在推理阶段以粗到细的方式为每个帧分配细粒度的异常分数。首先,VERA通过使用学习到的引导问题查询视觉语言模型来生成片段级异常分数。接下来,VERA通过集成将场景上下文融入每个片段分数来改进初始分数。最后,VERA通过高斯平滑和帧级位置加权融合时间上下文来输出帧级分数。
贡献。综上所述,我们的贡献如下:
- 据我们所知,我们首次提出了VERA这一方法,通过在提示中学习详细的异常特征描述问题,将冻结的视觉语言模型(VLMs)适配为用于视频异常检测(VAD)的集成系统,这些问题将异常分解为具体且可识别的模式。VERA直接从粗标注数据集学习这些问题,无需指令调整(IT)或外部推理模块。
- 我们为视频异常检测中的视觉语言模型引入了一种基于语言化学习的有效算法,无需修改模型参数即可实现直接适配。仅使用粗标注的视频异常检测数据集,我们的方法通过在语言化训练中依赖学习者和优化器视觉语言模型之间的语言交互,获得了用于视频异常检测的良好引导问题。此外,我们设计了一种从粗到细的策略,根据在视频异常检测中通过语言学习得到的引导问题推导出帧级异常分数,整合场景和时间上下文,以提升视频异常检测的性能和推理能力。
- VERA学习到的引导问题用自然语言表达,提供了一种统一的方法,将先验的视频异常检测知识无缝编码并转移到其他数据集或视觉语言模型中。在UCF-Crime [35]和XD-Violence [45]等具有挑战性的视频异常检测数据集上,VERA实现了最先进的可解释视频异常检测性能,并且在不同模型和数据集上具有良好的泛化能力。
2. Related Work
视频异常检测(Video Anomaly Detection,VAD)是指在给定视频中定位包含异常事件的帧的任务。这项任务具有挑战性,因为异常涵盖了广泛的事件,如事故和犯罪活动,而训练集仅提供粗略的注释。现代的视频异常检测方法基于深度神经网络(DNNs)的优势,并且在使用视觉语言模型(VLMs)方面正经历着范式转变: (1) 早期用于视频异常检测的深度神经网络是特定任务的,通常采用无监督(包括单类)或弱监督(WS)学习技术进行训练。大多数无监督学习方法[25, 28, 40, 41, 51, 59]在帧重建/预测任务上训练深度神经网络,以建立正常/异常视频的表示空间。弱监督学习方法[6, 30, 35, 50, 56]利用正常和异常视频来训练一个特征提取器,以区分异常和正常情况,通常使用多实例学习[35]目标。 (2) 近期的视频异常检测方法采用视觉语言模型,这是因为它们在核心视觉任务中取得了显著成功[13, 23, 31]。早期研究[29, 49, 55, 58]利用视觉语言模型生成检测到的异常的文本描述,以增强视频异常检测的预测可解释性。然而,当前的方法对外部大语言模型(LLMs)的处理需求很高,或者需要在额外的数据集上进行大量的微调工作和成本投入,这在训练或推理过程中计算效率较低。我们的工作通过可学习的引导问题,在不修改模型参数或添加额外推理模块的情况下,使冻结的视觉语言模型适用于视频异常检测,从而降低了处理开销。这些引导问题能够激发冻结的视觉语言模型进行更出色的推理,显著提升它们在视频异常检测中的性能。
视觉语言模型的语言化学习。所设计的语言化学习框架受到一种名为语言化机器学习(VML)[47]的最新技术的启发。VML的主要思想是使用大语言模型(LLMs)来近似函数,并学习执行特定任务的语言规则和描述,这将传统的机器学习任务(如回归和分类)转化为基于语言的学习任务。这种方法将定义分类规则和其他特定任务标准的语言表达式视为可学习参数,并通过由大语言模型或视觉语言模型建模的学习者与优化器之间的交互,以数据驱动的方式对其进行优化。然而,VML框架仅限于涉及对标量值进行回归或对静态图像进行分类的任务。后来,在类似的思路下提出了另一种同步方法TextGrad [52],它将整合来自大语言模型的文本反馈以改进PyTorch中的提示这一过程融入其中,并进一步证明了其在编码、问答以及化学和医学领域的优化任务中的有效性。 与现有工作相比,我们的工作开创了针对视频异常检测任务和视频数据的语言化学习,这在以前的语言化学习框架中尚未解决,因为它们主要关注具有静态输入数据的任务,无法应对像视频异常检测这样复杂的视觉推理任务中输入的时间性和场景动态性挑战。具体而言,VERA为视频异常检测引入了一种新的学习范式:生成有效的问题,这些问题封装了视频中的关键异常模式,以激发视觉语言模型的推理能力,实现可解释的视频异常检测。此外,VERA适用于任何视频异常检测数据集,并支持弱监督学习。与以前的弱监督方法不同,VERA只需要学习简洁的文本,而无需学习数百万个参数,因此训练负担较轻。
3. The VERA Framework
我们的方法能够让视觉语言模型(VLMs)在无需额外推理模块或指令调优的情况下检测视频异常。现在,我们将阐述视频异常检测(VAD)任务,并详细介绍VERA的设计。
3.1. Problem Formulation
视频异常检测。设V是一个包含F帧的视频,表示为\(V = \{I_{i}\}_{i = 1}^{F}\),其中\(I_{i}\)是第\(i\)帧(\(1\leq i\leq F\) )。我们的目标是定位并检测视频V中异常事件的起始和结束位置。在标准标注中,任何与异常相关的帧都被标记为1,正常帧被标记为0。因此,视频V的真实标签序列为\(Y = [y_{1}, ..., y_{F}]\),其中\(y_{i} \in \{0, 1\}\)表示\(I_{i}\)的细粒度标签。我们旨在使用一个冻结的视觉语言模型\(f_{VLM}\),生成所有帧的异常分数预测\(\hat{Y} = [\hat{y}_{1}, ..., \hat{y}_{F}]\),其中\(\hat{y}_{i} \in [0, 1]\)是\(I_{i}\)的连续异常分数。
视频异常检测的可用训练数据。通常情况下,视频异常检测数据集仅提供粗标注的训练集[25, 28, 35, 45]。我们将视频异常检测训练集记为,其中N是训练视频的总数,
表示第j个视频(
),
是相应的视频级标签。如果
包含数据集注释者定义的任何异常,例如虐待或纵火行为,则
;如果
没有异常,则
。对于
,我们假设它包含
帧,并将帧序列记为
,其中
是
中的第i帧(
)。
3.2. Training in VERA: Finding Guiding Questions for VAD via Verbalized Learning
训练目标。我们旨在学习引导问题,将复杂且模糊的概念(即 “异常” 是什么)分解为一组可识别的异常模式,从而开启冻结的视觉语言模型在视频异常检测任务中的推理能力。这些模式因数据集而异,使得手动设计的描述难以通用化。为解决这一问题,我们提出了一个如图2所示的通用语言化学习框架,以生成所需的引导问题。我们将引导问题集记为\(Q = \{q_1, \ldots, q_m\}\),其中\(q_i\)是第\(i\)个问题(\(1 \leq i \leq m\)),\(m\)是问题的数量。该训练框架将\(Q\)视为可学习参数,通过学习者和优化器之间的语言交互对其进行优化,学习者和优化器由视觉语言模型建模,利用它们根据给定提示遵循指令的能力。
训练数据。用于学习引导问题集\(Q\)的训练数据由成对的采样视频帧和视频级别标签组成。进行采样是必要的,因为视频帧的数量极为庞大,我们无法对每一帧都进行计算处理。我们探索了三种采样策略,发现均匀采样[57]能产生最佳效果。在此我们将以均匀采样为例进行说明,关于其他采样方法的详细信息,请参考实验部分。举例来说,对于任何视频\(V^{(j)}\in D\),我们首先计算采样帧之间的间隔\(l = \lfloor F_j / S\rfloor\),其中\(S\)是采样帧的数量,\(\lfloor\ \rfloor\)表示向下取整到最接近的整数。给定\(l\),从\(V^{(j)}\)中均匀采样得到的帧表示为\(\widetilde{V}^{(j)} = [I_{1}^{(j)}, I_{l + 1}^{(j)}, \ldots, I_{(S - 1)\cdot l + 1}^{(j)}]\)。用于训练的标签仅为\(Y^{(j)}\),这样就得到了VERA的训练数据对\(\{(\widetilde{V}^{(j)}, Y^{(j)})\}_{j = 1}^{N}\)。
通过学习者和优化器更新\(Q\)。由于\(Q\)是针对特定异常模式的语言表达,VERA在训练中继承了语言化机器学习(VML)[47]的理念:通过学习者代理\(f_{learner}\)和优化器代理\(f_{opt}\)之间的语言交流来优化基于语言的参数,而不是通过诸如亚当(Adam)[18]等数值优化算法来实现。在本节中,我们以任意一次迭代\(t\)为例进行说明。关于VERA中完整的迭代训练过程,请参考附录A中的算法1。
学习者和优化器。我们将任何基于大语言模型(LLM)的模型表示为\(f(x ; \phi)\),其中\(x\)表示输入数据,\(\phi\)表示让\(f\)遵循的自然语言指令,在我们的语言化学习框架中,\(\phi\)被视为可学习参数。具体来说,\(Q\)包含了在VERA中要学习的参数。如图2所示,在每次迭代\(t\)中,学习者代理\(f_{learner }^{(t)}\)由用于视频异常检测(VAD)的冻结视觉语言模型\(f_{VLM}(\cdot)\)建模,并使用特定的提示模板\(\theta\),该模板引导\(f_{VLM}(\cdot)\)通过思考当前的引导问题\(Q_t\)来执行学习任务。我们将学习者代理表示为\(f_{learner }^{(t)}(x)=f_{VLM}(x ;(\theta, Q_{t}))\),其中\(x\)是学习任务中的输入,而\(Q_{t}\),即每次迭代\(t\)中应用的可学习引导问题,构成了区分不同迭代中学习者的核心参数。 同时,我们引入一个优化器\(f_{opt}^{(t)}\)来评估学习者预测的质量,并优化\(Q_{t}\)。在不失一般性的情况下,我们使用相同的冻结视觉语言模型\(f_{VLM}\)来对优化器进行建模。如图2所示,我们为优化器提供另一个特定的提示模板\(\psi\)以便其遵循来优化\(Q\),所以我们将优化器代理表示为\(f_{opt }^{(t)}(z)=f_{VLM}(z ;(\psi, Q_{t}))\),其中\(z\)是它的输入,\(\psi\)是用于改进\(Q\)的指令。需要注意的是\(f_{learner }^{(t)} \neq f_{opt }^{(t)}\),因为\(f_{learner }^{(t)}\)遵循\((\theta, Q_{t})\)来执行学习任务,而\(f_{opt}^{(t)}\)遵循\((\psi, Q_{t})\)来优化\(Q_{t}\) 。

图2. VERA中的整体训练流程旨在迭代优化视频异常检测(VAD)的引导问题。在每次迭代中,通过为学习者和优化器提供需遵循的语言指令,将优化过程语言化。它们将分别生成预测结果和新的引导问题。
\(f_{learner}\)的学习任务。学习者执行“前向传播”并输出一个预测结果。回想一下,我们仅使用原始的粗标注信息进行训练。因此,我们为\(f_{learner}\)设计了一个二分类任务,该任务考虑了视频数据的时间特性、异常的稀疏性以及视频异常检测(VAD)数据集中的弱监督情况。 在这个任务中,学习者\(f_{learner}\)的工作是基于采样帧\(\bar{V}^{(j)}\)生成一个二分类预测\(\hat{Y}^{(j)}\),以确定视频中是否存在异常。如图2所示,我们在提示模板\(\theta\)的“模型描述”部分用自然语言来解释这个任务。引导问题\(Q_t\)被插入到\(\theta\)的“提示问题”部分,以激发视觉语言模型(VLM)进行推理。这种模板设计基于语言化机器学习(VML)中使用的提示结构,并进行了有针对性的修改,以帮助学习者有效地处理这个弱监督学习任务。 由于篇幅限制,关于\(\theta\)的详细信息请参考附录。给定\(\theta\)和一个采样帧集\(\widetilde{V}^{(j)}\),学习者将输出一个预测结果,如下:

其中,如果学习者在浏览完采样帧\(\widetilde{V}^{(j)}\)并通过引导问题\(Q_t\)进行推理后,认为存在异常,则\(\hat{Y}^{(j)} = 1\),否则,\(\hat{Y}^{(j)} = 0\) 。
\(f_{opt}\)中的优化步骤。优化器执行“反向传播”操作,通过一个小批次(批次大小为\(n\))来更新问题\(Q_t\)。假设一个批次中的视觉输入为\(V_{batch} = [\widetilde{V}_{batch}^{(1)}, \cdots, \widetilde{V}_{batch}^{(n)}]\),相应的真实标签为\(Y_{batch} = [Y_{batch}^{(1)}, \cdots, Y_{batch}^{(n)}]\)。学习者根据公式\((1)\),利用当前的问题\(Q_t\)生成预测结果\(\hat{Y}_{batch} = [\hat{Y}_{batch}^{(1)}, \cdots, \hat{Y}_{batch}^{(n)}]\)。优化器将依据提示\(\psi\)和批量数据输出一组新的问题\(Q_{t + 1}\)。我们将这个优化步骤表示为

其中\(Q_{t + 1}\)是一组新的引导问题,这组问题是由\(f_{opt}^{(t)}\)基于其在读取提示\(\psi\)后所具备的文本生成能力和遵循指令的能力构建而成的。由于篇幅限制,关于\(\psi\)的信息请参考附录。如附录中的算法1所示,我们将对公式\((1)\)和公式\((2)\)重复执行\(P\)次迭代来优化\(Q\)。我们将验证准确率最高的那组引导问题记为\(Q^{*}\)。
3.3. Inference in VERA: Coarse-to-Fine Anomaly Scoring by Guiding Questions and Contexts
给定最优引导问题集\(Q^*\),VERA通过图3所示的从粗到细的过程,为测试视频\(V\)生成细粒度的异常分数\(\hat{Y}\)。

图3. VERA通过三个步骤利用\(Q^{+}\)来计算异常分数。
步骤1:利用学习到的引导问题生成初始异常分数。我们首先将视频划分为多个片段,并对每个片段进行独立分析。参照文献[55]的方法,我们在视频\(V\)内进行等距帧采样,以获取每个片段的中心帧集合\(C\),得到\(C = \{I_1, I_{d + 1}, \cdots, I_{(h - 1) \cdot d + 1}\}\),其中\(d\)是中心帧之间的间隔,\(h = \lfloor F / d \rfloor\)是片段的总数。对于每个中心帧\(I_{(u - 1) \cdot d + 1}\)(\(1 \leq u \leq h\)),我们将其周围10秒的范围定义为第\(u\)个片段,并在该片段内均匀采样8帧。我们将第\(u\)个片段中的采样帧集记为\(V_u\)。接下来,我们将\(V_u\)与提示\((\theta, Q^*)\)一起输入到视觉语言模型\(f_{VLM}\)中,以得到初始分数。

其中,如果视觉语言模型\(f_{VLM}\)在通过\(Q^*\)对\(V_u\)进行推理后认为该片段包含异常,则\(\widetilde{y}_u = 1\),否则,\(\widetilde{y}_u = 0\)。通过对每个片段重复公式\((3)\)的操作,我们得到一个片段级的初始异常分数集合\(\widetilde{Y} = [\widetilde{y}_1, \cdots, \widetilde{y}_h]\) 。
步骤2:结合场景上下文整合片段级异常分数。请注意,上述得出的分数仅考察了长视频中的一个短暂时刻,而未考虑任何上下文信息。为了解决这一问题,我们通过纳入场景上下文来优化初始的片段级分数。场景上下文被定义为包含与当前片段中相似元素(如演员和背景)的前续和后续片段。
我们通过不同视频片段的特征表示之间的余弦相似度来衡量它们之间的相关性[24],这些特征表示由预训练的视觉特征提取器\(g\)提取,例如ImageBind[11]。对于第\(u\)个片段\(V_u\),它与任何片段\(V_w\)(\(1\leq w\leq h\))的相似度为\(\text{sim}(u, w) = \cos\left(\frac{e_u\cdot e_w}{\vert\vert e_u\vert\vert\cdot\vert\vert e_w\vert\vert}\right)\),其中\(\cos\)表示余弦函数,\(e_u = g(V_u)\)且\(e_w = g(V_w)\)表示它们的特征。 设\(\kappa_u = [\kappa_{u}^{(1)}, \ldots, \kappa_{u}^{(K)}]\)表示与\(V_u\)最相似的前\(K\)个片段的索引。我们通过以下方式优化异常分数:

其中,\(\overline{y}_u\)是与\(V_u\)相关的前\(K\)个视频片段初始分数的综合值。在这里,每个检索到的片段的初始分数由一个基于余弦相似度得出的因子进行加权,并通过Softmax函数(\(\tau\)为温度超参数)进行归一化处理。因此,相似度更高的场景会被赋予更高的权重,这使得综合分数能更全面地反映出视频上下文中的异常情况。通过对所有片段应用公式(4),我们得到\(\overline{Y} = [\overline{y}_1, \ldots, \overline{y}_h]\) 。
步骤3:结合时间上下文进行帧级异常评分。给定\(\overline{Y}\),我们的目标是在计算帧级异常分数时纳入时间上下文,以捕捉事件随时间的演变情况,因为一个事件的异常性通常取决于所观察到的活动的时间点和发展进程。具体来说,我们首先应用高斯平滑处理[12],将局部时间上下文融入到片段级异常分数中。我们将高斯核(假设滤波器大小为\(\omega\))表示为\(G(p)=\exp(\frac{-p^{2}}{2\sigma_{1}^{2}})\),其中\(p\)是到核中心的距离,\(\sigma_{1}\)是方差。我们将片段级分数更新为\(\overline{\Gamma}=\overline{Y} * G = [\overline{\gamma}_{1}, \cdots, \overline{\gamma}_{h}]\), 其中“\(*\)”表示卷积运算。接下来,我们通过位置加权来整合全局时间上下文。对于\(\overline{\Gamma}\),我们将其展平为帧级分数,方法是将分数\(\overline{\gamma}_u\)分配给第\(u\)个片段中的每个帧,即\([I_{(u - 1) \cdot d + 1}, \cdots, I_{u \cdot d}]\)。我们将展平后的帧级分数序列记为\([\rho_1, \cdots, \rho_F]\)。 然后,我们应用高斯函数对位置权重进行编码,公式为\(w(i)=\exp\left(\frac{-(i - c)^2}{2\sigma_{2}^{2}}\right)\),其中\(i\)(\(1\leq i\leq F\))是任意帧的索引,\(c = \lfloor F / 2\rfloor\)是中心帧的索引,\(\sigma_2\)是方差。第\(i\)帧的异常分数为:

这一操作会对分数\(\rho_{i}\)进行缩放处理,降低事件开始和结束附近帧的异常分数。这有助于更好地捕捉异常的时间演变过程:随着异常达到峰值,分数会逐渐上升,之后则会下降。在应用公式(5)后,最终分数记为\(\hat{Y}=[\hat{y}_{1}, ..., \hat{y}_{F}]\) 。
通过VERA实现的可解释视频异常检测(VAD)。当使用嵌入了\(Q^{*}\)的模板\(\theta\)来计算\(\hat{Y}\)时,我们要求视觉语言模型(VLM)在推理时 “用一句话给出解释”,随后视觉语言模型会基于\(Q^{*}\)对其给出的异常分数作出解释。关于通过VERA实现的可解释视频异常检测的演示,请参阅附录中的第4.4节和B.4节。
4. Experiments and Results

表2. 在UCF-Crime数据集上的曲线下面积(AUC,单位:%)。 Holmes-VAD和VADor未使用指令微调。

Table 3. AUC (%) on XD-Violence.

图5. 给定由VERA得出的\(Q^{*}\),冻结的视觉语言模型(InternVL2-8B)将基于此对场景进行推理和解释。为作说明,我们以UCF-Crime数据集中的视频“Arrest007 x264”为例,在此展示其中6个场景。完整的异常分数如图6所示。

图6. 由VERA(使用InternVL2-8B模型)针对来自UCF-Crime数据集的视频“Arrest007 x264”生成的异常分数。

图7. 人们可以进一步与VERA(主干模型:InternVL2-8B)进行交互,并提出开放性问题。
5. Concluding Remarks and Limitations
我们提出了一种全新的流程VERA,它能够在不增加额外计算开销的情况下,有效地激发视觉语言模型(VLM)的推理能力,以实现可解释的视频异常检测(VAD)。这是通过将语言化机器学习方法[47]有效且新颖地应用于视觉语言模型来实现的。 在训练过程中,VERA通过学习者和优化器智能体之间的语言交互,获取详细描述异常模式的引导问题。在推理阶段,VERA利用这些引导问题来增强视觉语言模型,以便识别异常情况,并通过从粗到细的过程计算帧级别的异常分数。实验结果验证了VERA框架在实现当前最优的可解释视频异常检测性能方面的有效性。
与现有的基于视觉语言模型(VLM)的视频异常检测(VAD)方法一样,VERA的性能在很大程度上依赖于视觉语言模型的视觉感知能力。大多数视觉语言模型采用CLIP视觉编码器[33],该编码器在捕捉细粒度的视觉细节方面存在局限性。这种局限性可能会影响精确的异常检测。如果在视觉编码过程中重要的视觉特征缺失,那么VERA就不太可能进行有意义的语言化学习。因此,基于视觉语言模型的视频异常检测所面临的一个根本性挑战是确保对足够的视觉和时间特征进行编码。在验证了这一能力之后,VERA便能够进行语言化学习,以提取可指导视频异常推理的关键线索。
更多推荐
所有评论(0)