当前位置: 首页 > news >正文

Harnessing Large Language Models for Training-free Video Anomaly Detection

在这里插入图片描述
标题:利用大型语言模型实现无训练的视频异常检测
原文链接:https://openaccess.thecvf.com/content/CVPR2024/papers/Zanella_Harnessing_Large_Language_Models_for_Training-free_Video_Anomaly_Detection_CVPR_2024_paper.pdf
源码链接:https://lucazanella.github.io/lavad/
发表:CVPR-2024

文章目录

  • Abstract
  • 1. Introduction
  • 2. Related Work
  • 3. Training-Free VAD
    • 3.1. Problem formulation
    • 3.2. Are LLMs good for VAD?
    • 3.3. LAVAD: LAnguage-based VAD
  • 4. Experiments
    • 4.1. Comparison with state of the art
    • 4.2. Ablation study
  • 5. Conclusions

Abstract

视频异常检测(VAD)旨在定位视频中的异常事件。现有的研究大多依赖于训练深度模型,以学习正常性分布,使用视频级监督、单类监督或无监督设置。基于训练的方法容易受到领域特定的限制,因此在实际部署中成本较高,因为任何领域变化都需要重新收集数据并重新训练模型。本文与以往的工作大为不同,提出了基于语言的视频异常检测方法(LAVAD),这是一种在新颖的无训练范式下处理视频异常检测的方法,利用了预训练的大型语言模型(LLMs)和现有的视觉-语言模型(VLMs)的能力。我们利用基于VLM的字幕生成模型,为每个测试视频的每一帧生成文本描述。通过文本场景描述,我们进一步设计了一个提示机制,激发LLMs在时间聚合和异常评分估计方面的能力,从而将LLMs转化为一种有效的视频异常检测器。我们还利用了对齐模态的VLMs,并提出了基于跨模态相似性的有效技术,用于清理噪声字幕并精细化LLM-based异常评分。我们在两个大规模数据集(UCF-Crime和XD-Violence)上评估了LAVAD,这些数据集包含了真实世界的监控场景,结果表明,LAVAD在不需要任何训练或数据收集的情况下,优于无监督和单类方法。

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 IV 分类为正常(分数为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 IV 的异常评分,即不涉及任何训练或微调,不需要使用训练数据集 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 IV 生成文本描述。然后,我们将异常评分估计问题视为一个分类任务,要求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 IiV 生成一个描述 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^iC 替换原始描述,从而得到一个清理后的描述序列 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:IT,以及LLM Φ L L M \Phi_{LLM} ΦLLM,通过语言查询生成文本,即 Φ L L M : T → T \Phi_{LLM} : T \to T ΦLLM:TT。其他三个元素是三个编码器,分别将输入表示映射到共享的潜在空间 Z 。具体来说,图像编码器 E I : I → Z E_I : I \to Z EI:IZ,文本编码器 E T : T → Z E_T : T \to Z ET:TZ,以及视频编码器 E V : V → Z E_V : V \to Z EV:VZ用于视频。需要注意的是,这五个元素均涉及仅使用现成的冻结模型。

基于初步分析中的积极发现,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 IiV 生成一个描述 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 IiV,我们计算其最相似的语义描述,如下所示:
在这里插入图片描述
其中 ⟨ ⋅ , ⋅ ⟩ \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 完全基于它们摘要中编码的语言信息,而没有考虑整个评分集”:
初步的异常得分仅反映了语言信息,并未考虑到不同帧之间的视觉信息或帧与帧之间的语义相似性。

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 相比基于训练的方法表现优越,且无需额外的训练和数据收集。

相关文章:

Harnessing Large Language Models for Training-free Video Anomaly Detection

标题:利用大型语言模型实现无训练的视频异常检测 原文链接:https://openaccess.thecvf.com/content/CVPR2024/papers/Zanella_Harnessing_Large_Language_Models_for_Training-free_Video_Anomaly_Detection_CVPR_2024_paper.pdf 源码链接:ht…...

如何通过自学成长为一名后端开发工程师?

大家好,我是袁庭新。最近,有星友向我提出了一个很好的问题:如何通过自学成为一名后端开发工程师? 为了解答这个疑问,我特意制作了一个视频来详细分享我的看法和建议。 戳链接:如何通过自学成长为一名后端开…...

HDR视频技术之六:色调映射

图像显示技术的最终目的就是使得显示的图像效果尽量接近人们在自然界中观察到的对应的场景。 HDR 图像与视频有着更高的亮度、更深的位深、更广的色域,因此它无法在常见的普通显示器上显示。 入门级的显示器与播放设备(例如普通人家使用的电视&#xff0…...

(洛谷题目)P11060 【MX-X4-T0】「Jason-1」x!

思路: 理解问题:首先,我们要理解题目的要求,即判断一个非负整数n的阶乘n!是否是n1的倍数。 阶乘的定义:根据阶乘的定义,n!是所有小于等于n的正整数的乘积。特别地,0!被定义为1。 特殊情况处理…...

TEXT2SQL工具vanna本地化安装和应用

TEXT2SQL工具vanna本地化安装和应用 Vanna和Text2SQL环境安装和数据准备 conda虚拟环境安装数据准备ollama环境准备 ollama安装和运行ollama下载模型测试下API方式正常使用 chromaDB的默认的embedding模型准备 vanna脚本跑起来 Vanna和Text2SQL TEXT2SQL即文本转SQL&#xf…...

Bloom 效果

1、Bloom 效果是什么 Bloom效果(中文也可以叫做高光溢出效果),是一种使画面中亮度较高的区域产生一种光晕或发光效果的图像处理技术,Bloom效果的主要目的是模拟现实世界中强光源在相机镜头或人眼中造成的散射和反射现象&#xff…...

AWS 机器学习,推动 AI 技术的健康发展

目录 一、AI 正在改变生产方式二、从炒作走向务实1、选对场景2、重视数据3、产品思维4、持续优化 三、人才是最稀缺的资源四、负责任的 AI 开发五、未来已来六、启示与思考七、结语 如果说传统软件开发是手工作坊,那么 AI 就像工业革命带来的机器生产。 在最新的一…...

MCPTT 与BTC

MCPTT(Mission Critical Push-to-Talk)和B-TrunC(宽带集群)是两种关键通信标准,它们分别由不同的组织制定和推广。 MCPTT(Mission Critical Push-to-Talk)标准由3GPP(第三代合作伙伴…...

Jackson - JsonGenerator创建JSON、JsonParser解析JSON

以下是关于如何使用Jackson的JsonGenerator类来创建JSON内容以及如何使用JsonParser类来读取JSON内容的教程。 依赖项 首先&#xff0c;在pom.xml文件中添加以下依赖项以引入Jackson库&#xff1a; <dependency><groupId>com.fasterxml.jackson.core</groupI…...

Linux-音频应用编程

ALPHA I.MX6U 开发板支持音频&#xff0c;板上搭载了音频编解码芯片 WM8960&#xff0c;支持播放以及录音功能&#xff01;本章我们来学习 Linux 下的音频应用编程&#xff0c;音频应用编程相比于前面几个章节所介绍的内容、其难度有所上升&#xff0c;但是笔者仅向大家介绍 Li…...

《QT 示例宝库:探索丰富的编程世界》

《QT 示例宝库&#xff1a;探索丰富的编程世界》 一、QT 基础示例&#xff08;一&#xff09;QRadioButton 示例&#xff08;二&#xff09;拦截关闭事件示例 二、QT 常用代码示例&#xff08;一&#xff09;QObject 相关操作&#xff08;二&#xff09;Qt 基本容器遍历&#x…...

腾讯云流式湖仓统一存储实践

点击蓝字⬆ 关注我们 本文共计5107 预计阅读时长16分钟 &#xff0a; 本文将分享腾讯云流式湖仓的架构与实践。主要内容包括&#xff1a; 流计算Oceanus介绍腾讯云流式湖仓架构腾讯云流式湖仓实践腾讯云流式湖仓发展规划 一、流计算Oceanus介绍 随着大数据技术的发展&#xff0…...

18 设计模式之迭代器模式(书籍遍历案例)

一、什么是迭代器模式 迭代器模式&#xff08;Iterator Pattern&#xff09;是一种行为型设计模式&#xff0c;允许客户端通过统一的接口顺序访问一个集合对象中的元素&#xff0c;而无需暴露集合对象的内部实现。这个模式主要用于访问聚合对象&#xff08;如集合、数组等&…...

超清4K视频素材哪里找?优质下载资源网站分享

我是你们的自媒体UP主小李。现在是高清、4K视频大行其道的时代&#xff0c;想要制作出吸引眼球的优质内容&#xff0c;超清4K视频素材必不可少。今天就为大家分享几个宝藏网站&#xff0c;让你的视频创作更轻松、更出彩&#xff01; 蛙学网 首先推荐 蛙学网&#xff0c;这是国内…...

刷题日志【1】

目录 1.全排列【力扣】 代码1&#xff1a; 代码2&#xff1a; 2、子集【力扣】 3、全排列Ⅱ【力扣】 4、组合【力扣】 1.全排列【力扣】 代码1&#xff1a; class Solution {bool check[7];vector <int> path;vector<vector<int>> ret;public:vecto…...

【C++算法】32.前缀和_矩阵区域和

文章目录 题目链接&#xff1a;题目描述&#xff1a;解法C 算法代码&#xff1a; 题目链接&#xff1a; 1314. 矩阵区域和 题目描述&#xff1a; 解法 防止有人看不明白题目&#xff0c;先解释一下题目 二维前缀和思想&#xff1a; 使用前缀和矩阵 ret [x1,y1]~[x2,y2] D …...

使用堆栈(Stack)

集合类型&#xff08;Collection)下篇_xml collection-CSDN博客 以上是堆栈的简单介绍&#xff0c;下方是堆栈的使用 题目&#xff1a;给定一个逆波兰表达式&#xff08;后缀表达式&#xff09;的字符串数组tokens&#xff0c;其中每个元素是一个操作数&#xff08;数字&…...

雨晨 2610(2)0.2510 Windows 11 24H2 Iot 企业版 LTSC 2024 极简 2in1

文件: 雨晨 2610(2)0.2510 Windows 11 24H2 Iot 企业版 LTSC 2024 极简 2in1 install.esd 索引: 1 名称: Windows 11 IoT 企业版 LTSC 极简 26100.2510 描述: Windows 11 IoT 企业版 LTSC 极简 26100.2510 By YCDISM RTM 2025 24-12-07 大小: 8,176,452,990 个字节 索引: 2 …...

HDD 2025年技术趋势深度分析报告

随着数据量的指数级增长以及人工智能&#xff08;AI&#xff09;、物联网&#xff08;IoT&#xff09;、云计算和视频监控等领域的需求激增&#xff0c;硬盘驱动器&#xff08;HDD&#xff09;行业正面临着前所未有的挑战与机遇。本报告旨在深入剖析2025年HDD技术的发展方向&am…...

算法-字符串-22.括号生成

一、题目 二、思路解析 1.思路&#xff1a; 生成所有可能并且有效的括号组合——回溯方法 2.常用方法&#xff1a; a.数组&#xff0c;因为需要增删元素&#xff0c;所以选择LinkedList LinkedList<String> resnew LinkedList<>(); b.StringBuilder创建&#xff0…...

Free-RTOS实现LED闪烁

开发板&#xff1a;正点原子探索者 F407 LED定时定时闪烁 本次实验验证&#xff1a; 配置文件 1、打开CubeMX 2、选择芯片型号&#xff0c;然后点击开始项目 3、配置时钟 配置烧录引脚&#xff0c;与FreeRTOS系统时钟 选择FreeRTOS 这里已经默认有一个任务&#xff…...

NLP论文速读(斯坦福大学)|使用Tree将语法隐藏到Transformer语言模型中正则化

论文速读|Sneaking Syntax into Transformer Language Models with Tree Regularization 论文信息&#xff1a; 简介&#xff1a; 本文的背景是基于人类语言理解的组合性特征&#xff0c;即语言处理本质上是层次化的&#xff1a;语法规则将词级别的意义组合成更大的成分的意义&…...

再谈多重签名与 MPC

目录 什么是 MPC 钱包以及它们是如何出现的 多重签名和智能合约钱包已经成熟 超越 MPC 钱包 关于小队 多重签名已经成为加密货币领域的一部分&#xff0c;但近年来&#xff0c;随着 MPC&#xff08;多方计算&#xff09;钱包的出现&#xff0c;多重签名似乎被掩盖了。MPC 钱包之…...

CTF学习24.11.19[音频隐写]

MISC07[音频隐写] 隐写术 隐写术是一门关于信息隐藏的技巧与科学&#xff0c;所谓信息隐藏指的是不让除预期的接收者之外的任何人知晓信息的传递事件或者信息的内容。隐写术的英文叫做Steganography&#xff0c;来源于特里特米乌斯的一本讲述密码学与隐写术的著作Steganograp…...

vue的watch是否可以取消? 怎么取消?

发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【宝藏入口】。 Vue 可以通过 watch API 返回的一个 取消函数&#xff0c;可以在需要时取消该监听。 如何取消 watch&#xff1f; 当你使用 Vu…...

23、枚举

1、枚举 罗列一些标识符&#xff0c;当做整型数据使用。为了代码的易读性 1.1、枚举定义 enum 枚举名{大写标识符,大写标识符....}; 枚举类型名&#xff1a;enum 枚举名 枚举里面如果不给标识符赋值&#xff0c;默认从0开始&#xff0c;依次增1 如果里面的标识符有赋值…...

Java基本概念

Java特点 简单性。容易使用&#xff0c;比如没有C复杂的指针 面向对象。将对象属性剥离&#xff0c;当属性需要大量调用时节省代码&#xff0c;比如把大象装进冰箱&#xff0c;JAVA将大象分成跑、睡觉等不同功能&#xff0c;当需要就调用 分布式。 健壮性 安全性 体系结构…...

C++学习——如何析构派生类

C——继承关系中的虚函数 析构派生类纯虚构函数和抽象类 析构派生类 先看一段简单的代码&#xff1a; #include <iostream>using namespace std;class AA { public:AA() {cout << "调用了基类构造" << endl;}virtual void func() {cout <<…...

SpringCloud与Dubbo的区别

在构建分布式系统时&#xff0c;SpringCloud和Dubbo是两个常用的框架。虽然它们都能帮助开发者实现服务之间的通信和治理&#xff0c;但在设计理念、使用场景和技术实现上&#xff0c;两者存在明显的区别。本文将详细探讨SpringCloud与Dubbo的不同之处&#xff0c;以帮助开发者…...

C# 设计模式--建造者模式 (Builder Pattern)

定义 建造者模式是一种创建型设计模式&#xff0c;它允许你逐步构建复杂对象&#xff0c;而无需使用多个构造函数或重载。建造者模式将对象的构建过程与表示分离&#xff0c;使得相同的构建过程可以创建不同的表示。 正确写法 假设我们有一个复杂的 Car 对象&#xff0c;需要…...