标题:利用大型语言模型实现无训练的视频异常检测
源码链接:https://lucazanella.github.io/lavad/
Abstract
视频异常检测(VAD)旨在定位视频中的异常事件。现有的研究大多依赖于训练深度模型,以学习正常性分布,使用视频级监督、单类监督或无监督设置。基于训练的方法容易受到领域特定的限制 ,因此在实际部署中成本较高,因为任何领域变化都需要重新收集数据并重新训练模型。本文与以往的工作大为不同,提出了基于语言的视频异常检测方法(LAVAD),这是一种在新颖的无训练范式下处理视频异常检测的方法,利用了预训练的大型语言模型(LLMs)和现有的视觉-语言模型(VLMs)的能力。我们利用基于VLM的字幕生成 模型,为每个测试视频的每一帧生成文本描述。通过文本场景描述,我们进一步设计了一个提示机制 ,激发LLMs在时间聚合和异常评分估计方面的能力,从而将LLMs转化为一种有效的视频异常检测器。我们还利用了对齐模态的VLMs,并提出了基于跨模态相似性 的有效技术,用于清理噪声字幕并精细化LLM-based异常评分。我们在两个大规模数据集(UCF-Crime和XD-Violence)上评估了LAVAD,这些数据集包含了真实世界的监控场景,结果表明,LAVAD在不需要任何训练或数据收集的情况下,优于无监督和单类方法。
文章目录
- Abstract
- [1. Introduction](#1. Introduction)
- [2. Related Work](#2. Related Work)
- [3. Training-Free VAD](#3. Training-Free VAD)
-
- [3.1. Problem formulation](#3.1. Problem formulation)
- [3.2. Are LLMs good for VAD?](#3.2. Are LLMs good for VAD?)
- [3.3. LAVAD: LAnguage-based VAD](#3.3. LAVAD: LAnguage-based VAD)
- [4. Experiments](#4. Experiments)
-
- [4.1. Comparison with state of the art](#4.1. Comparison with state of the art)
- [4.2. Ablation study](#4.2. Ablation study)
- [5. Conclusions](#5. Conclusions)
1. Introduction
视频异常检测(VAD)旨在时间上定位给定视频中与正常模式显著偏离的事件,即异常事件。VAD具有挑战性,因为异常通常是未定义的,并且依赖于上下文,且在现实世界中很少发生。文献[10]通常将VAD视为一种分布外检测问题,并通过不同级别的监督(见图1)来学习正常分布,包括全监督(即对正常和异常视频的帧级监督)[1, 32],弱监督(即对正常和异常视频的全视频级监督)[11, 13, 15, 24, 28, 35],单类(即仅正常视频)[18, 20, 21, 25, 37, 38],以及无监督(即未标注的视频)[30, 31, 40]。虽然更多的监督有助于获得更好的结果,但人工标注的成本是不可承受的。另一方面,无监督方法假设异常视频构成训练数据的一定比例,这在实践中是一个脆弱的假设,无法在没有人工干预的情况下实施。
图1。我们介绍了视频异常检测(VAD)的第一种无训练方法,与目前最先进的基于不同程度监督的所有训练方法不同。我们的建议LAVAD利用模态对齐的视觉语言模型(vlm)来查询和增强大型语言模型(大型语言模型)生成的异常分数。
至关重要的是,现有的每种方法都需要一个训练过程来建立一个准确的VAD系统,这带来了一些限制。一个主要的担忧是泛化:在特定数据集上训练的VAD模型往往在不同环境(例如,白天与夜间场景)拍摄的视频中表现较差。另一个方面,特别是与VAD相关的,是数据收集的挑战,尤其是在某些应用领域(如视频监控)中,隐私问题可能会阻碍数据的获取。这些考虑促使我们探索一个新颖的研究问题:我们能否开发一个无需训练的视频异常检测方法?本文旨在回答这个具有挑战性的问题。
开发一个无训练的VAD模型是困难的,因为缺乏针对目标设置的显式视觉先验。然而,这些先验可能通过大型基础模型来获取,这些模型以其泛化能力和广泛的知识封装而著称。因此,我们探讨了将现有的视觉-语言模型(VLMs)与大型语言模型(LLMs)结合,以解决无训练VAD的潜力。在我们的初步发现基础上,我们提出了第一个无训练的基于语言的视频异常检测方法(LAVAD),它共同利用了预训练的VLMs和LLMs进行VAD。
LAVAD首先利用现成的字幕生成模型为每一帧视频生成文本描述。通过引入基于字幕和视频帧之间跨模态相似性的清理过程,解决了字幕中的潜在噪声问题。为了捕捉场景的动态变化,我们使用LLM对一个时间窗口内的字幕进行总结。这个总结被用来提示LLM为每一帧提供异常评分,然后通过聚合具有语义相似时间总结的帧之间的异常评分来进一步精细化该评分。
我们在两个基准数据集(UCF-Crime [24] 和 XD-Violence [36])上评估了LAVAD,实验证明我们的无训练方法在这两个数据集上优于无监督和单类VAD方法,证明了在没有训练和数据收集的情况下处理VAD是可能的。
贡献。总之,我们的贡献如下:
- 我们首次研究了无训练VAD问题,倡导其在实际场景中部署VAD系统的重要性,因为在这些场景中可能无法进行数据收集。
- 我们提出了LAVAD,这是第一个基于语言的无训练VAD方法,利用LLMs仅通过场景描述检测异常。
- 我们引入了基于跨模态相似性的创新技术,结合预训练的VLMs来减轻噪声字幕并精细化基于LLM的异常评分,有效提高了VAD性能。
- 实验表明,在没有任务特定监督和训练的情况下,LAVAD在无监督和单类VAD方法中取得了具有竞争力的结果,为未来VAD研究开辟了新的视角。
2. Related Work
视频异常检测(VAD)。现有的基于训练的VAD方法的文献可以根据监督的级别分为四类:监督式、弱监督式、单类分类和无监督式。监督式VAD依赖于帧级标签来区分正常帧和异常帧[1, 32]。然而,由于其高昂的标注成本,这种方法受到的关注较少。弱监督式VAD方法通过视频级标签进行训练(如果至少一帧是异常的,则整个视频被标记为异常,否则视为正常)[11, 13, 15, 24, 28, 35]。这些方法中的大多数利用3D卷积神经网络进行特征学习,并使用多实例学习(MIL)损失进行训练。单类VAD方法仅在正常视频上进行训练,尽管需要人工验证以确保收集的数据是正常的。一些方法[18, 20, 21, 25, 37, 38]已被提出,例如考虑生成模型[37]或伪监督方法,其中伪异常实例是从正常训练数据中合成的[38]。最后,无监督VAD方法不依赖于预定义标签,而是利用正常和异常视频,假设大多数视频包含正常事件[26, 27, 30, 31, 40]。这一类别中的大多数方法使用生成模型来捕捉视频中的正常数据模式。特别地,生成对抗学习(GCL)[40]采用交替训练:自编码器重建输入特征,并通过重建误差生成伪标签,指导判别器的训练。Tur等人[30, 31]使用扩散模型从噪声特征中重建原始数据分布,并根据去噪样本与原始样本之间的重建误差计算异常评分。其他方法[26, 27]通过使用OneClassSVM和iForest[16]生成的伪标签训练回归网络。
与此不同的是,我们完全绕过了数据收集和模型训练的需求,通过利用现有的大规模基础模型,设计了一个无训练的VAD流程。
LLMs用于视频异常检测(VAD)。近年来,LLMs已被探索用于检测不同应用领域中的视觉异常。Kim等人[12]提出了一种无监督方法,主要利用视觉-语言模型(VLMs)进行异常检测,其中ChatGPT仅用于生成描述正常和异常元素的文本。然而,该方法需要人工参与,根据特定的应用上下文来调整LLM的输出,并且还需要进一步训练以适应VLM。其他例子包括利用LLMs进行图像中的空间异常检测,针对机器人学[4]或工业应用[7]等特定场景。
与此不同,我们结合LLMs和VLMs,提出了第一个无训练的视频异常检测方法,专门用于处理视频中的时间异常检测,不需要任何训练和数据收集。
3. Training-Free VAD
在本节中,我们首先形式化定义了视频异常检测(VAD)问题及我们提出的无训练设置(第3.1节)。接着,我们分析了大型语言模型(LLMs)在为视频帧评分异常方面的能力(第3.2节)。最后,我们描述了LAVAD------我们提出的视频异常检测方法(第3.3节)。
3.1. Problem formulation
给定一个测试视频 V = [ I 1 , ... , I M ] V = [I_1, \dots, I_M] V=[I1,...,IM],包含 M M M 帧,传统的VAD方法旨在学习一个模型 f f f,该模型可以将每一帧 I ∈ V I \in V I∈V 分类为正常(分数为0)或异常(分数为1),即 f : I M → [ 0 , 1 ] M f : I_M \to [0, 1]^M f:IM→[0,1]M,其中 I为图像空间。通常,f 是在一个由形如 ( V , y ) (V, y) (V,y) 的元组组成的数据集 D 上训练的。根据监督级别,y 可以是一个二进制向量(帧级标签,完全监督),一个二进制视频级标签(弱监督),一个默认值(单类),或缺失(无监督)。然而,在实际应用中,由于异常事件稀少以及视频本身可能涉及隐私问题,收集标签 y 可能是昂贵的。此外,由于应用场景的不断变化,标签和视频数据可能需要定期更新。
与此不同,本文提出了一种新颖的VAD设置,称为无训练VAD。在这种设置下,我们旨在仅使用预训练模型在推理阶段估计每一帧 I ∈ V I \in V I∈V 的异常评分,即不涉及任何训练或微调,不需要使用训练数据集 D。
3.2. Are LLMs good for VAD?
3.2. LLM是否适合VAD?
我们提出通过利用最近在大型语言模型(LLMs)方面的进展来解决无训练的视频异常检测(VAD)问题。由于LLMs在VAD中的应用仍处于起步阶段[12],我们首先分析了LLMs在基于视频帧的文本描述生成异常评分方面的能力。
为了实现这一点,我们首先利用一种最先进的图像描述生成模型 Φ C \Phi_C ΦC,即BLIP-2 [14],为每一帧 I ∈ V I \in V I∈V 生成文本描述。然后,我们将异常评分估计问题视为一个分类任务,要求LLM Φ L L M \Phi_{LLM} ΦLLM从一个在区间 [0, 1] 上均匀采样的11个值中选择一个分数,其中0表示正常,1表示异常。我们得到的异常评分如下所示:
其中, P C P_C PC 是一个上下文提示,用于为LLM提供VAD的先验信息, P F P_F PF 指导LLM输出所需的格式,以便自动化文本解析, ∘ \circ ∘ 是文本拼接操作。我们设计了 P C P_C PC 来模拟VAD系统的潜在最终用户,例如执法机构,因为我们通过经验观察到模拟用户行为能够有效地引导LLM的输出生成。例如,我们可以将 P C P_C PC 构造为:"如果你是执法机关,你会如何评价描述中的场景,使用0到1的评分,其中0代表标准场景,1代表存在可疑活动的场景?"需要注意的是,P C P_C PC 并不编码任何关于异常类型的先验信息,而仅提供上下文信息。
最后,使用从公式 (1) 中获得的异常评分,我们通过标准的接收操作特征曲线(ROC曲线)下面积(AUC)来衡量VAD的性能。图2报告了在UCF-Crime数据集[24]的测试集上,使用不同变体的BLIP-2生成帧描述,并使用不同的LLMs,包括Llama [29]和Mistral [9],来计算帧级异常评分的结果。作为参考,我们还提供了无监督设置下的最新性能(最接近我们设置的情况)[27],以及随机评分作为下限。图示表明,最新的LLMs具备异常检测能力,显著优于随机评分。然而,相较于经过训练的最先进方法,即便在无监督设置下,这一性能仍然较低。
图2。在UCF-Crime测试集上,通过查询带有各种字幕模型的视频帧文本描述的大型语言模型, VAD性能(AUC ROC)的条形图。不同的条形图对应不同的字幕模型BLIP-2[14],不同的颜色表示两种不同的大型语言模型[9,29]。作为参考,我们还用红色虚线表示表现最好的无监督方法[27]的性能,用灰色虚线表示随机分类器的性能。
我们观察到,LLMs性能的两个方面可能是限制因素。首先,帧级描述可能非常嘈杂:描述可能不完整或未能完全反映视觉内容 (见图3)。尽管使用了BLIP-2 [14],这一最先进的图像描述生成模型,但一些描述依然出现错误,导致异常评分的不可靠。其次,帧级描述缺乏关于全局上下文和场景动态的细节,而这些是建模视频时的关键要素 。在接下来的部分中,我们将解决这两个限制,并提出LAVAD,这是首个无训练的视频异常检测方法,结合LLM进行异常评分,并与对齐的视觉-语言模型(VLMs)共同使用。
图3。来自UCF-Crime的视频Shooting033,由Llama b[29]预测的随时间变化的异常分数。我们突出显示了一些带有相关BLIP-2标题的样本帧,以证明标题可能在语义上有噪声或不正确(红色边界框用于异常预测,而蓝色边界框用于正常预测)。真实值异常被突出显示。特别是真实值异常内蓝色边界框包围的帧的标题,由于大型语言模型给出的异常分数较低,无法准确地表示视觉内容,导致分类错误。
3.3. LAVAD: LAnguage-based VAD
图4. 我们提出的LAVAD架构,用于解决无训练VAD问题。对于每个测试视频V ,我们首先使用一个描述生成模型为每帧 I i ∈ V I_i \in V Ii∈V 生成一个描述 C i C_i Ci,形成一个描述序列 C C C。我们的图像-文本描述清理组件通过跨模态相似性处理噪声和错误的原始描述。我们用一个与图像嵌入 E I ( I i ) E_I(I_i) EI(Ii)最为对齐的描述 C ^ i ∈ C \hat{C}_i \in C C^i∈C 替换原始描述,从而得到一个清理后的描述序列 C ^ \hat{C} C^。为了考虑场景上下文和动态性,我们的基于LLM的异常评分组件进一步通过在每个 I i I_i Ii 周围的时间窗口内聚合清理后的描述,通过提示LLM生成一个时间摘要 S i S_i Si,从而形成一个摘要序列 S S S。然后,LLM被查询以根据每个帧的 S i S_i Si提供一个异常评分,从而获得所有帧的初步异常评分 a。最后,我们的视频-文本评分精炼 组件通过聚合那些其摘要的文本嵌入与围绕 I i I_i Ii的视频片段 V i V_i Vi的表示 E V ( V i ) E_V(V_i) EV(Vi)最为对齐的帧的初步异常评分 a i a_i ai,对每个 a i a_i ai 进行精炼,得到最终的异常评分 a ~ \tilde{a} a~,用于检测视频中的异常(异常帧被突出显示)。
LAVAD将VAD函数 f 分解为五个元素(见图4)。与初步研究中的方法一样,前两个元素是图像描述模块 Φ C \Phi_C ΦC,将图像映射到语言空间 T 中的文本描述,即 Φ C : I → T \Phi_C : I \to T ΦC:I→T,以及LLM Φ L L M \Phi_{LLM} ΦLLM,通过语言查询生成文本,即 Φ L L M : T → T \Phi_{LLM} : T \to T ΦLLM:T→T。其他三个元素是三个编码器,分别将输入表示映射到共享的潜在空间 Z 。具体来说,图像编码器 E I : I → Z E_I : I \to Z EI:I→Z,文本编码器 E T : T → Z E_T : T \to Z ET:T→Z,以及视频编码器 E V : V → Z E_V : V \to Z EV:V→Z用于视频。需要注意的是,这五个元素均涉及仅使用现成的冻结模型。
基于初步分析中的积极发现,LAVAD利用 Φ L L M \Phi_{LLM} ΦLLM 和 Φ C \Phi_C ΦC来估算每一帧的异常评分。我们设计LAVAD以解决帧级描述中噪声和缺乏场景动态性的限制 ,通过引入三个组件:i) 通过图像-文本表示 E I E_I EI和 E T E_T ET进行的图像-文本描述清理 ,ii) 基于LLM的异常评分,通过 Φ L L M \Phi_{LLM} ΦLLM编码时间信息 ,iii) 通过视频-文本相似性进行的异常评分精炼,使用 E V E_V EV和 E T E_T ET 来提高评分精度。以下将详细描述每个组件。
图像-文本描述清理 。对于每个测试视频 V,我们首先使用 Φ C \Phi_C ΦC为每一帧 I i ∈ V I_i \in V Ii∈V 生成一个描述 C i C_i Ci。具体来说,我们将 C = [ C 1 , ... , C M ] C = [C_1, \dots, C_M] C=[C1,...,CM] 表示为一组描述,其中 C i = Φ C ( I i ) C_i = \Phi_C(I_i) Ci=ΦC(Ii)。然而,正如在3.2节所示,原始描述可能存在噪声,例如句子中断或描述错误。为了缓解这一问题,我们依赖整个视频的描述集 C,假设在这个集合中存在能够更好地捕捉其各自帧内容的完整描述,这一假设在实践中经常得到验证,因为视频通常由静态摄像头以高帧率捕捉场景。因此,无论帧与帧之间的时间距离如何,帧之间的语义内容通常是重叠的。从这个角度来看,我们将描述清理视为在描述集 C 中找到与目标帧 I i I_i Ii 语义最接近的描述。
形式化地,我们利用视觉-语言编码器,并通过 E T E_T ET 对每个描述进行编码,形成描述嵌入集 { E T ( C 1 ) , ... , E T ( C M ) } \{ E_T(C_1), \dots, E_T(C_M) \} {ET(C1),...,ET(CM)}。对于每个帧 I i ∈ V I_i \in V Ii∈V,我们计算其最相似的语义描述,如下所示:
其中 ⟨ ⋅ , ⋅ ⟩ \langle \cdot, \cdot \rangle ⟨⋅,⋅⟩ 是余弦相似度, E I E_I EI是视觉-语言模型(VLM)的图像编码器。然后,我们构建清理后的描述集 C ^ = [ C ^ 1 , ... , C ^ M ] \hat{C} = [\hat{C}_1, \dots, \hat{C}_M] C^=[C^1,...,C^M],将每个初始描述 C i C_i Ci 替换为其在 C 中检索到的对应描述 C ^ i \hat{C}_i C^i。通过执行描述清理过程,我们可以传播那些在语义上与视觉内容更一致的帧描述,无论它们的时间位置如何,从而改善或修正噪声描述。
基于LLM的异常评分 。虽然得到的清理后的描述序列 C ^ \hat{C} C^ 比初始描述集更为干净,但它缺乏时间信息。为了解决这个问题,我们利用LLM提供时间摘要。具体来说,我们定义一个围绕帧 I i I_i Ii 的 T 秒的时间窗口 。在这个窗口内,我们均匀采样 N 帧,形成一个视频片段 V i V_i Vi 和一个描述子序列 C ^ i = { C ^ n } n = 1 N \hat{C}_i = \{ \hat{C}n \}{n=1}^N C^i={C^n}n=1N。然后,我们可以用 C ^ i \hat{C}_i C^i和一个提示 P S P_S PS查询LLM,获得围绕帧 I i I_i Ii 的时间摘要 S i S_i Si:
其中,提示 P S P_S PS 形成如下:"请基于以下场景的时间描述,简要总结发生了什么。请不要包含不必要的细节或描述。"
结合公式(3)与公式(2)的精炼过程,我们获得了一个比 C i C_i Ci 更具语义和时间信息的帧描述 S i S_i Si。接下来,我们可以使用 S i S_i Si 查询LLM,估算异常评分。按照第3.2节中描述的相同提示策略,我们要求 Φ L L M \Phi_{LLM} ΦLLM给每个时间摘要 S i S_i Si 分配一个评分 a i a_i ai 在区间 [0, 1] 内。我们得到的评分为:
其中,和第3.2节一样, P C P_C PC 是一个包含VAD上下文先验的上下文提示, P F P_F PF提供所需输出格式的信息。
视频-文本评分精炼 。通过使用公式(4)查询LLM获得视频中每帧的初始异常评分 a = [ a 1 , ... , a M ] a = [a_1, \dots, a_M] a=[a1,...,aM]。然而,a 完全基于它们摘要中编码的语言信息,而没有考虑整个评分集 。因此,我们进一步通过利用视觉信息来聚合来自语义相似帧的评分,从而对这些评分进行精炼。具体来说,我们使用 E V E_V EV 对围绕 I i I_i Ii的视频片段 V i V_i Vi进行编码,并使用 E T E_T ET对所有的时间摘要进行编码。我们定义 K i K_i Ki为与 V i V_i Vi 在 {S1, ..., SM} 中最相似的 K 个时间摘要的索引集合,其中 V i V_i Vi和描述 S j S_j Sj之间的相似度是余弦相似度,即 ⟨ E V ( V i ) , E T ( S j ) ⟩ \langle E_V(V_i), E_T(S_j) \rangle ⟨EV(Vi),ET(Sj)⟩。我们获得精炼后的异常评分 a ~ i \tilde{a}_i a~i:
其中, ⟨ ⋅ , ⋅ ⟩ \langle \cdot, \cdot \rangle ⟨⋅,⋅⟩ 表示余弦相似度。注意,公式(5)利用了公式(2)中的相同原理,通过使用帧之间的视觉-语言相似性(即视频/图像)来精炼帧级别的估计(即评分/描述)。最后,使用经过精炼的异常评分 a ~ = [ a ~ 1 , ... , a ~ M ] \tilde{a} = [\tilde{a}_1, \dots, \tilde{a}_M] a~=[a~1,...,a~M],我们通过阈值分割来识别异常时间窗口。
"a 完全基于它们摘要中编码的语言信息,而没有考虑整个评分集":
初步的异常得分是基于每个帧的摘要所编码的语言信息来得到的,而没有考虑整个评分集(即视频中所有帧的得分)。具体来说,虽然每一帧有一个基于摘要的异常得分,但这些得分没有考虑到视频中其他帧的得分或视频的整体视觉信息。这就导致初步得分仅反映了语言层面的内容,而缺少了视频中各帧之间的视觉和时间上下文的关系。换句话说,初步的异常得分(a)只能得到每个视频帧的异常评分,但这些评分是局限于语言信息和摘要的,没有结合整个视频的帧级别的视觉内容来进行更细粒度的异常检测。
举个例子:假设一个监控视频中发生了异常(例如,有人进入禁区)。如果你看的是一个小片段,比如从第20秒到第30秒,这个片段的描述可能是"一个人走入一个房间"。LLM可能会认为这个片段是"正常的",因为它没有显示出任何明确的异常行为(比如,不看其它上下文)。因此,基于这个片段的摘要得出的异常得分可能很低(接近0),即认为这个片段是正常的。
4. Experiments
我们在两个数据集上验证了我们的train-free 方法 LAVAD,并与不同监督级别下训练的最新 VAD 方法以及训练-free 基线方法进行了比较。我们进行了广泛的消融实验,以验证我们在提出的组件、提示设计和评分精炼方面的主要设计选择。接下来,我们首先描述实验设置,包括数据集和性能指标。然后,我们在第 4.1 节展示并讨论结果,在第 4.2 节进行消融研究。更多的定性结果和小设计的消融实验请参见补充材料。
数据集。我们使用两个常用的 VAD 数据集来评估我们的方法,这些数据集特征是现实世界的监控场景,即 UCF-Crime [24] 和 XD-Violence [36]。
UCF-Crime 是一个大规模数据集,包含 1900 个长时间未剪辑的真实监控视频,覆盖 13 类真实世界的异常事件。训练集包含 800 个正常视频和 810 个异常视频,而测试集包括 150 个正常视频和 140 个异常视频。
XD-Violence 是另一个大规模暴力检测数据集,包含 4754 个带有音频信号和弱标签的未剪辑视频,这些视频收集自电影和 YouTube。XD-Violence 捕获了 6 类异常,并且被划分为 3954 个视频的训练集和 800 个视频的测试集。
性能指标。我们使用帧级接收操作特征(ROC)曲线下的面积(AUC)来衡量 VAD 性能,因为该指标与检测任务的阈值选择无关。对于 XD-Violence 数据集,我们还报告平均精度(AP),即帧级精度-召回曲线下的面积,遵循 [36] 中的既定评估协议。
实现细节 。为了提高计算效率,我们每隔 16 帧对视频进行采样。我们使用 BLIP-2 [14] 作为字幕生成模块 Φ C \Phi_C ΦC。特别地,我们在图像-文本字幕清洗技术中考虑了 BLIP-2 模型的多个变体。有关这些变体的详细分析,请参见补充材料。我们使用 Llama-2-13b-chat [29] 作为我们的 LLM 模块 Φ L L M \Phi_{LLM} ΦLLM。我们使用 ImageBind [6] 提供的多模态编码器。具体来说,时间窗口设置为 T = 10 T = 10 T=10秒,这与 ImageBind 的预训练视频编码器一致。我们在视频-文本评分精炼中采用 K = 10 K = 10 K=10。
4.1. Comparison with state of the art
我们将LAVAD与最先进的方法进行了比较,包括无监督方法 [26, 27, 30, 31, 40]、单类方法 [8, 19, 23, 24, 33] 和弱监督方法 [2, 5, 11, 13, 15, 15, 24, 28, 34--36, 39--42]。此外,由于上述方法都没有专门针对训练-free VAD(视频异常检测)进行设计,我们还引入了几个基于VLM(视觉语言模型)的训练-free基线方法,即CLIP [22]、ImageBind [6] 和LLaVa [17]。
具体来说,我们介绍了零样本 CLIP [22](ZS CLIP)和零样本 ImageBind [6](ZS IMAGEBIND)。对于这两个基线方法,我们利用它们的预训练编码器,通过计算每个帧嵌入与两个提示词的文本嵌入的余弦相似度来获取异常得分:一个标准场景和一个具有可疑或潜在犯罪活动的场景。然后,我们应用 softmax 函数将余弦相似度转换为每帧的异常得分。由于 ImageBind 还支持视频模态,我们包括了 ZS IMAGEBIND(视频)方法,使用视频嵌入与这两个提示词的余弦相似度。我们为 ZS-CLIP 选择了 ViT-B/32 [3] 作为视觉编码器,为 ZS-IMAGEBIND(图像,视频)选择了 ViT-H/14 [3],并都使用 CLIP 的文本编码器 [22]。最后,我们介绍了基于 LLAVA-1.5 的基线方法,在此方法中,我们直接查询 LLaVa [17],使用与我们相同的上下文提示词为每帧生成异常得分。LLAVA-1.5 使用 CLIP ViT-L/14 [22] 作为视觉编码器,并使用 Vicuna-13B 作为 LLM。
表1展示了在 UCF-Crime 数据集 [24] 上与最先进方法及我们提出的训练-free基线方法的全面比较结果。值得注意的是,我们的方法在没有任何训练的情况下,与单类和无监督基线相比,表现优越,AUC ROC 得分更高,相比 GCL [40] 提升了 +6.08%,与当前最先进的 DyAnNet [27] 相比提升了 +0.52%。
此外,显然训练-free VAD 是一个具有挑战性的任务,直接应用 VLMs 于 VAD(如 ZS CLIP、ZS IMAGEBIND(图像)和 ZS IMAGEBIND(视频))导致了较差的 VAD 性能。VLMs 通常主要训练用于关注图像中的前景物体,而不是图像中的背景信息或有助于判断异常的动作信息。这可能是 VLMs 在 VAD 任务中表现不佳的主要原因。
基线 LLAVA-1.5,通过直接提示每帧的异常得分,取得了比直接使用零样本 VLM 更高的 VAD 性能。然而,其性能仍然不及我们的方法,因为我们通过利用更丰富的时间场景描述来进行异常估计,而不是仅依赖于单帧数据。时间总结的类似效果也在我们的消融研究中得到了验证(见表3)。我们还报告了在 XD-Violence 数据集上与最先进方法和我们的基线方法的比较结果,结果见表2。我们的LAVAD在所有单类和无监督方法中表现出色,特别是在 AUC ROC 上,相比最好的无监督方法 RareAnom [26] 提升了 +17.03%。
图5。我们展示了LAVAD在四个测试视频上获得的定性结果,其中两个视频(上一行)来自UCF-Crime,两个视频来自XD-Violence(下一行)。对于每个视频,我们绘制了通过我们的方法计算的帧的异常分数。我们显示了一些关键帧和它们最一致的时间摘要(蓝色边界框用于正常帧预测,红色边界框用于异常帧预测),说明了预测的异常评分、视觉内容和描述之间的相关性。真实值异常被突出显示。
定性结果
图5展示了LAVAD在 UCF-Crime 和 XD-Violence 中的定性结果,标出了部分关键帧及其对应的时间总结。在三段异常视频中(第1行,第1列和第2行),我们可以看到异常事件发生时关键帧的时间总结准确地描述了视觉内容,并帮助 LAVAD 正确识别异常。在正常视频722(第1行,第2列)的情况下,我们可以看到 LAVAD 在整个视频中始终预测出较低的异常得分。有关测试视频的更多定性结果,请参见补充材料。
4.2. Ablation study
在本节中,我们展示了在 UCF-Crime 数据集上进行的消融研究。我们首先评估了 LAVAD 中每个提出组件的有效性。然后,我们展示了在提示 LLM 估计异常得分时,任务相关的先验信息在上下文提示中的影响。最后,我们展示了在视频-文本得分精炼组件中,聚合 K 个语义最接近帧时 K 值的影响。
每个提出组件的有效性
我们通过对 LAVAD 方法的不同变体进行消融实验,以证明三个提出组件的有效性,包括图像-文本字幕清理(Image-Text Caption Cleaning)、基于 LLM 的异常得分(LLM-based Anomaly Score)和视频-文本得分精炼(Video-Text Score Refinement)。表3展示了 LAVAD 所有消融变体的结果。当省略图像-文本字幕清理组件(第1行),即 LLM 仅利用原始字幕进行时间总结并进行精炼时,VAD 性能相较于 LAVAD(第4行)在 AUC ROC 上下降了 -3.8%。如果不进行时间总结,仅依赖清理后的字幕进行精炼(第2行),我们观察到 AUC ROC 显著下降了 -7.58%,表明时间总结是 LLM 基于异常得分的有效促进因子。最后,如果仅使用基于清理后的字幕进行时间总结的异常得分,而没有进行语义相似帧的最终聚合(第3行),则 AUC ROC 相较于 LAVAD 显著下降了 -7.49%,证明视频-文本得分精炼在提高 VAD 性能方面也起到了重要作用。
上下文提示中的任务先验
我们研究了不同先验信息在上下文提示 PC 中的影响,结果见表4。具体而言,我们在两个方面进行了实验,即伪装(impersonation)和异常先验(anomaly prior),我们认为这两者可能有助于 LLM 的估计。伪装有助于 LLM 从 VAD 系统潜在最终用户的角度处理输入,而异常先验(例如,异常是犯罪活动)可能为 LLM 提供更相关的语义上下文。我们通过不同的上下文提示 PC 对 LAVAD 进行消融实验。我们首先使用基本上下文提示:"请问您如何评估描述中的场景,评分范围从 0 到 1,其中 0 代表标准场景,1 代表可疑活动的场景?"(第1行)。我们仅通过在"可疑活动"后添加"或潜在犯罪活动"来注入异常先验(第2行)。我们仅加入伪装,通过在基本提示前加上"如果你是执法机构,"来体现伪装(第3行)。最后,我们将两者先验信息结合到基本上下文提示中(第4行)。如表4所示,对于 UCF-Crime 数据集中的视频,异常先验对 LLM 在评估异常时的影响似乎微乎其微,而伪装使得 AUC ROC 相比仅使用基本提示的情况提高了 +0.96%。有趣的是,将两个先验信息结合并没有进一步提升 AUC ROC。我们推测,过于严格的上下文可能限制了对更广泛异常的检测。
K 值对异常得分精炼的影响
在这个实验中,我们探讨了在视频-文本得分精炼过程中,用于精炼每帧异常得分的语义相似时间总结的数量(即 K)对 VAD 性能的影响。如图6所示,随着 K 值的增加,AUC ROC 指标持续提高,并在 K 接近 9 时趋于饱和。该图确认了考虑语义相似帧对获得更可靠的异常得分的贡献。
5. Conclusions
在这项工作中,我们提出了 LAVAD,这是一种开创性的无训练视频异常检测(VAD)方法。LAVAD 采用了基于语言的路径来估计异常得分,利用了现成的大型语言模型(LLM)和视频语言模型(VLM)。LAVAD 具有三个主要组件,第一个组件使用图像-文本相似性清理由字幕生成模型提供的噪声字幕;第二个组件利用 LLM 对场景动态进行时间上的聚合并估计异常得分;最后一个组件通过根据视频-文本相似性聚合语义相近帧的得分来精炼异常得分。我们在 UCF-Crime 和 XD-Violence 数据集上对 LAVAD 进行了评估,结果显示,在无监督和单类设置下,LAVAD 相比基于训练的方法表现优越,且无需额外的训练和数据收集。