LAVAD
LAVAD
Harnessing Large Language Models for Training-free Video Anomaly Detection
Abstract
背景
视频异常检测(VAD)旨在从时间上定位视频中的异常事件。现有的工作主要依靠训练深度模型来学习正态分布,无论是视频级监督、一类监督还是在无监督环境中。
基于训练的方法往往是特定于领域的,因此实际部署的成本很高,因为任何领域的变化都将涉及数据收集和模型训练。
本文工作
在本文中,我们从根本上背离了之前的努力,并提出了基于语言的 VAD (LAVAD),这是一种以新颖的、免训练范式解决 VAD 的方法,利用了预训练的大语言模型 (LLM) 和现有视觉语言模型的功能(VLM)。
-
我们利用基于 VLM 的字幕模型为任何测试视频的每一帧生成文本描述。通过文本场景描述,我们设计了一种提示机制来解锁 LLM 在时间聚合和异常分数估计方面的能力,将 LLM 转变为有效的视频异常检测器。
-
我们进一步利用模态对齐的 VLM,并提出基于跨模态相似性的有效技术,用于清理噪声字幕并细化基于 LLM 的异常分数。
实验结果
LAVAD在UCF-Crime和XD-Violence数据集上的性能超过了现有的无监督和单类方法,表明其在没有训练和数据收集的情况下也能实现有效的异常检测。
1. Introduction
1.1 VAD定义与挑战
-
**定义:**视频异常检测 (VAD) 旨在从时间上定位给定视频中明显偏离正常模式的事件,即异常事件。
-
挑战:VAD 具有挑战性,因为异常通常是未定义的并且依赖于上下文,并且它们很少在现实世界中发生。
1.2 现有方法与挑战
VAD被视为分布外检测(out-of -distribution detection)
并使用不同监督级别的训练数据来学习正态分布(normal distribution)
-
完全监督方法(Fully-supervised methods):需要在帧级别提供正常和异常视频的标签。这种方法能够提供精确的检测结果,但由于视频标注成本高昂,应用受限。
-
弱监督方法(Weakly-supervised methods):仅在视频级别提供标签,即标注视频为整体的正常或异常。虽然标注成本较低,但弱监督方法往往不能精确定位帧级异常。
-
单类学习方法(One-class methods):这些方法只使用正常视频进行训练,在训练过程中假设所有的训练视频都是正常的。然而,这需要在数据收集时严格确保所有视频确实是正常的,这样才能保证模型的有效性。
-
无监督方法(Unsupervised methods):这些方法不需要任何标签,假设训练数据中包含正常和异常视频,并使用生成模型来捕捉正常视频的模式。然而,这种假设在实际应用中较为脆弱,往往需要人工干预来保证模型的效果。
虽然更多的监督会带来更好的结果,但手动注释的成本却令人望而却步。另一方面,无监督方法假设异常视频构成训练数据的某一部分,这在没有人工干预的实践中是一个脆弱的假设。
1.3. 现有方法的普遍问题
所有现有的VAD方法都有一个共同的限制,即它们依赖于训练过程,这带来了一些关键问题:
- 泛化性差:由于VAD模型通常在特定的数据集上进行训练,它们在不同的场景中(例如白天和夜晚的变化)表现可能不尽如人意。模型在新的场景中常常需要重新进行训练,这增加了部署的成本。
- 数据收集困难:特别是在涉及隐私问题的领域(例如视频监控)中,获取足够的数据进行训练非常困难。此外,标注视频中的异常事件也需要大量的人力资源和时间。
开发一种免训练的VAD方法
1.4. 作者提出的方法:LAVAD
为了应对上述挑战,作者提出了一种新的视频异常检测方法,称为LAVAD(Language-based Video Anomaly Detection),这是一个基于语言的大型预训练模型的新方法。LAVAD完全不依赖训练过程,而是通过结合现有的**视觉语言模型(VLMs)和大语言模型(LLMs)**来检测视频中的异常事件。该方法联合利用预训练的 VLM 和 LLM 进行 VAD。
具体来说,LAVAD的工作流程如下:
- 生成文本描述:使用VLM模型为每一帧视频生成文本描述(caption)。这一步骤可以利用现成的VLM来捕捉帧中的视觉信息并将其转化为自然语言描述。
- 异常检测:基于生成的文本描述,LAVAD设计了一种提示机制,通过提示(prompts)大语言模型(LLMs)来对这些描述进行时间聚合,并为每一帧生成异常分数(anomaly score)。大语言模型通过聚合帧级信息,推测出视频中帧的异常性,从而实现异常检测。
- 优化与增强:作者进一步利用模态对齐的VLMs提出了一种基于跨模态相似性的技术来清理噪声描述,并通过语义相似的时间窗口聚合异常分数,进一步提升检测性能。
1.5 作者贡献
-
首次研究了无训练的视频异常检测问题,强调其在数据收集困难或无法进行标注的实际场景中的重要性。
-
提出了LAVAD,这是第一个基于大语言模型的训练无关的VAD方法,利用场景描述来检测异常。
-
引入了基于跨模态相似性的技术,解决了噪声描述问题,并优化了基于LLM的异常打分,显著提升了检测性能。
实验表明,LAVAD在不使用任务特定的监督和不进行训练的情况下,取得了与无监督和单类VAD方法相媲美的结果,为未来的VAD研究开辟了新的视角。
图1我们介绍了第一个用于视频异常检测( VAD )的免训练方法,该方法不同于现有的基于ALL训练的、不同监督程度的方法。我们的方案LAVAD利用模态对齐的视觉-语言模型( VLMs )来查询和增强大型语言模型( LLMs )产生的异常分数。
2. 相关工作(Related Work)
2.1 VAD(Video Anomaly Detection)
作者首先对视频异常检测领域的现有工作进行了分类,总结了不同类型的VAD方法。现有的VAD方法根据监督程度可以分为四类监督,弱监督,单类分类和无监督。:
- 完全监督方法(Fully-supervised VAD):完全监督方法使用帧级标签来区分正常和异常帧。例如,某些方法使用3D卷积神经网络(3D CNNs)提取视频的时空特征,并通过帧级标注来训练模型。然而,完全监督的方式在实际应用中较少,因为标注每一帧的正常与异常需要巨大的人工成本。
- 弱监督方法(Weakly-supervised VAD):弱监督方法仅使用视频级别的标签。视频被标记为“异常”是基于视频中的某些帧可能包含异常事件。这类方法通常使用多实例学习(MIL)损失函数来优化模型,结合3D卷积神经网络提取特征。这类方法的优点在于标注成本相对较低,虽然不能精确定位帧级别的异常,但它们更适合实际操作中的大规模数据。
- 单类分类方法(One-class VAD):单类分类方法只使用正常视频进行训练,训练目标是学习正常行为的模式,以便检测在测试时与之不同的异常行为。这类方法的一个缺点是,虽然训练数据是正常的,但需要进行手动验证以确保收集到的数据都是正常的。例如考虑生成模型或伪监督方法,其中伪异常实例由正常训练数据合成
- 无监督方法(Unsupervised VAD):无监督方法不依赖于预定义的标签,通常假设大多数视频是正常的,而异常仅在少数视频中出现。这类方法通常使用生成模型来捕捉正常视频的模式。例如,生成对抗网络(GANs)和自编码器经常用于重建正常数据,并根据重建误差检测异常。(特别地,生成式协作学习( GCL ) 采用交替训练:一个自动编码器重构输入特征,来自重构误差的伪标注引导一个判别器。)然而,这类方法存在一定风险,因为如果异常视频的数量过多,模型可能无法学到有效的正常模式。
使用扩散模型从含噪特征中重建原始数据分布,根据去噪和原始样本之间的重建误差计算异常分数。其他方法从OneClassSVM和孤立森林生成的一组伪标注中训练一个回归器网络。
2.2 LLMs for VAD
最近,大语言模型(LLMs)在各种视觉异常检测领域中得到了探索。作者回顾了几项与LLMs相关的工作:
- 视觉语言模型在VAD中的应用:已有研究尝试结合视觉语言模型(VLMs)和LLMs进行视觉异常检测。例如,Kim等人提出了一种无监督方法,利用VLMs检测图像中的异常,而ChatGPT等LLMs则用于生成正常和异常元素的文本描述。尽管该方法结合了VLMs和LLMs,但仍需要通过人工干预来优化LLM的输出,并需要进一步的训练以适应特定应用场景。
- LLMs在特定应用中的使用:作者还指出,其他研究在机器人或工业应用中利用LLMs进行空间异常检测。然而,这些方法主要集中在静态图像的异常检测,且通常需要进一步的任务特定训练来提高模型性能。
与现有工作不同,LAVAD方法不仅结合了LLMs和VLMs,还首次在视频异常检测中提出了完全训练无关的框架,不需要额外的数据收集或模型训练。
3. Training-Free VAD(无训练VAD)
在这一部分中,我们首先提出了了VAD问题和提出的免训练设置( Sec.3.1 )。然后,我们分析了LLMs在视频帧中评分异常的能力(第3.2节)。最后,我们描述了LAVAD,我们提出的VAD方法(见3.3节)。
3.1 问题定义(Problem Formulation)
在这一部分,作者首先正式定义了视频异常检测任务。给定一个包含 M帧的测试视频$$V=[I_1,I_2,…,I_M]$$,传统的VAD方法旨在学习一个模型 ,该模型能够为每一帧 分配一个分数,判断其是否为异常,异常分数介于0到1之间(0表示正常,1表示异常)。这些传统方法通常需要使用一个训练集 D,其中每个视频 V都带有标签 y,标签的形式取决于监督的级别(帧级别标签、视频级别标签或无标签等)。
然而,LAVAD与传统方法不同,它不依赖训练数据。在无训练设置下,LAVAD旨在通过预训练的模型在推理过程中直接估计每一帧的异常分数,而无需进行任何训练或微调。这种无训练的设置使得LAVAD可以在无需数据标注和模型训练的情况下应用于实际场景。
3.2 LLMs4VAD good?
在这一部分中,作者探讨了大语言模型(LLMs)在视频异常检测中的潜力。具体而言,LAVAD利用一个预训练的视觉语言模型(VLM),如BLIP-2,来生成每一帧的视频描述(caption)。这些文本描述为大语言模型提供了输入,以便生成每帧的异常分数。
核心步骤:
- 生成文本描述:首先,使用VLM(如BLIP-2)为每帧 生成一个文本描述 。这些描述为后续的大语言模型操作提供了基础信息。
- 异常分数估计:接下来,作者将异常分数估计任务视为一个分类任务,利用大语言模型(LLM)对生成的描述进行处理。通过给LLM一个特定的提示(prompt),询问其如何对该场景进行异常评分(0为正常,1为异常),从而获取异常分数。
异常分数的计算公式为:
其中, 是大语言模型,是用于生成描述的视觉语言模型, 是提供上下文的提示, 是要求LLM输出分数的格式提示,∘ 表示文本的连接操作。
实验分析: 为了验证LLMs的能力,作者在UCF-Crime数据集上测试了不同版本的BLIP-2模型,并使用了不同的LLMs(如Llama和Mistral)来生成异常分数。实验结果表明,尽管LLMs能够显著优于随机评分,但其性能仍不及无监督方法。作者认为,LLMs的表现受到了两个方面的限制:
- 帧级描述的噪声:生成的描述可能存在错误或不完整,导致异常分数不准确如图三。
- 缺乏场景的全局信息:单帧的描述无法捕捉视频的动态信息(缺乏上下文信息),而视频中的场景动态对异常检测至关重要。
因此,作者接下来提出了如何通过LAVAD的方法解决这些问题。该方法利用LLMs和模态对齐的VLMs进行异常评分。
**图二:**通过在UCF - Crime测试集上查询LLMs对来自不同字幕模型的视频帧的文本描述,绘制VAD性能的条形图( AUC ROC )。不同的线条对应着标题模型BLIP - 2的不同变体,而不同的颜色则表示两个不同的LLMs 。作为参考,我们还绘制了性能最好的无监督方法在红色虚线中的表现,以及随机分类器在灰色虚线中的表现。
**图三:**Llama 对UCF - Crime中的视频Shooting033预测了随时间变化的异常分数。我们突出一些样本帧及其相关的BLIP - 2标题,以证明标题可以是语义噪声或不正确的(红色包围盒用于异常预测,蓝色包围盒用于正常预测)。突出了实际异常。特别地,由于LLM给出的低异常分数,由蓝色边界框围成的帧的描述未能准确地表示视觉内容,从而导致错误的分类。
3.3 LAVAD:LAnguage-based VAD
**图四:**本文提出的用于解决免训练VAD的的体系结构。对于每个测试视频,我们首先使用字幕模型为每一帧∈生成一个字幕,形成字幕序列。我们的图像-文本字幕清洗组件基于跨模态相似度来处理噪声和错误的原始字幕。我们将原始字幕替换为字幕,其文本embedding 与图像embedding 最对齐,从而得到干净的字幕序列。为了考虑场景上下文和动态性,基于LLM的Anomaly Scoring组件通过促使LLM产生一个时间摘要,进一步聚合以每个为中心的时间窗口内的已清洗字幕,形成一个摘要序列S,然后查询LLM,根据每个帧的为其提供一个异常分数,得到所有帧的初始异常分数a。最后,我们的Video - Text Score Refinement组件通过聚合以为中心的视频片段的表示与摘要的文本嵌入大部分对齐的帧的初始异常分数来细化每个,从而得到最终的异常分数,用于检测视频中的异常(异常帧被突出显示)。
LAVAD将VAD函数分解为五个元素(见图4)。与预研究一样,前两个是在语言空间T中,将图像映射为文本描述的字幕模块,即:,以及由语言查询生成文本的LLM ,即。其他元素包括三个编码器,将输入表示映射到共享的潜在空间Z。具体来说,我们有图像编码器 ,文本编码器 和视频编码器 。注意的是,所有的五个元素都只涉及现成的冷冻模型。
3.3.1. 图像-文本描述清理(Image-Text Caption Cleaning)
3.3.2 LLM-based 异常打分
3.3.3 视频——文本分数优化(Video-Text Score Refinement)
旨在通过利用视频片段与文本描述的跨模态相似性,进一步优化每一帧的异常分数。这个步骤的目的是解决初始异常分数可能因帧级信息不足或不准确而存在的问题。通过这种优化,LAVAD 能够充分利用视频的全局信息,提高视频异常检测的鲁棒性和准确性。
4. Experiments(实验)
我们在两个数据集上验证了我们的免训练算法LAVAD,我们进行了广泛的消融研究,以证明我们的主要设计选择是关于拟议的组件、快速并与在不同监督水平下训练的最先进的VAD方法以及免训练的基线进行了比较、设计和评分细化。
4.0.1 数据集(Datasets)
LAVAD 在两个大规模数据集上进行了实验验证:
- UCF-Crime:这是一个包含 1900 段未剪辑监控视频的大型数据集,涵盖 13 种异常事件,如打架、偷窃等。该数据集被分为训练集(800 段正常视频和 810 段异常视频)和测试集(150 段正常视频和 140 段异常视频)。
- XD-Violence:这是另一个大规模的数据集,包含 4754 段带有音频信号的视频,捕捉了 6 类暴力相关的异常事件。视频来自电影和 YouTube,具有更多元的内容。
4.0.2 性能指标(Performance Metrics)
为了评估视频异常检测性能,实验采用了两个主要指标:
- AUC ROC(曲线下面积):帧级别的接收者操作特性曲线下的面积。该指标与异常检测的阈值选择无关,是衡量检测任务的标准方法。
- AP(平均精度):这是针对 XD-Violence 数据集的指标,表示帧级别的精度-召回曲线下的面积,通常用于评价检测任务的精准度和召回率。
AUC 是 ROC 曲线下面积的大小,用于定量衡量模型的分类能力。AUC 的取值范围在 0 到 1 之间,代表了模型性能的好坏:
- AUC = 1:模型表现完美,能够在所有情况下正确区分正类和负类。
- AUC = 0.5:模型与随机猜测的效果相同,无法有效区分正类和负类。
- AUC < 0.5:模型表现糟糕,反而在大多数情况下错误分类。
在视频异常检测任务中,AUC ROC 通常用于衡量模型在帧级别上的检测性能。具体来说,模型需要将每一帧视频分类为“正常”或“异常”,并计算出对应的异常分数。通过 ROC 曲线和 AUC,可以评估模型在不同阈值下对异常帧和正常帧的区分能力。AUC 值越高,表示模型在帧级别上检测异常的效果越好。
4.0.3 实现细节(Implementation Details)
- 采样策略:为提高计算效率,LAVAD 对每个视频进行了每 16 帧采样一次,以减少冗余信息。
- 模型选择:LAVAD 采用了 BLIP-2 作为生成文本描述的视觉语言模型(VLM),并使用了 Llama-2-13b-chat 作为大语言模型(LLM)。此外,还采用了 ImageBind 提供的多模态编码器用于视频-文本分数优化。时间窗口设置为 10 秒,并选取 帧进行相似性计算。
4.1 与SOTA比较
- LLAVA-1.5 方法的比较:作为另一种训练无关的基线方法,LLAVA-1.5 直接使用大语言模型(LLM)生成每帧的异常分数,其性能比零样本的 VLM 方法要好,但仍然不如 LAVAD。这说明 LAVAD 中所采用的时间总结和异常分数优化过程,在提升视频异常检测性能方面起到了重要作用。
4.1.1 定性分析(Qualitative Analysis)
除了定量比较之外,作者还展示了 LAVAD 方法的部分定性结果。实验中展示了 LAVAD 在 UCF-Crime 和 XD-Violence 数据集上对一些视频的检测结果:
- 异常视频:在异常视频中,LAVAD 能够准确捕捉到视频中的异常时刻,并通过生成的时间总结来解释这些异常行为。例如,在检测到打斗或暴力事件时,模型能够识别到特定的时间段,并且与视觉和文本信息一致。
- 正常视频:在正常视频中,LAVAD 生成的异常分数保持较低,证明了模型能够有效地区分正常行为与异常行为。
**图五:**我们展示了LAVAD在四个测试视频上获得的定性结果,包括UCF - Crime的两个视频(上排)和XD - Violence的两个视频(下排)。对于每个视频,我们在我们的方法计算的帧上绘制异常分数。我们展示了一些关键帧和它们最匹配的时间摘要(正常帧预测的蓝色包围盒和异常帧预测的红色包围盒),说明了预测的异常分数、视觉内容和描述之间的相关性。突出了地实异常。
4.2 Ablation study(消融研究)
4.2.1 各组件的有效性实验
这部分通过去除或修改LAVAD中的某些组件,来评估它们对视频异常检测性能的贡献。主要包括以下几个变体:
- 去掉图像-文本描述清理组件:仅使用原始的文本描述进行检测,结果显示异常检测性能降低了3.8%。
- 不使用时间总结:只依赖清理后的文本描述,不考虑时间动态信息,性能下降7.58%,这说明时间总结对LLM异常评分有显著提升作用。
- 不进行视频-文本评分优化:仅基于时间总结的初始异常得分,结果性能下降7.49%,表明视频-文本评分优化对于提高检测性能也起到了重要作用。
总体来看,这部分的实验验证了LAVAD中每个组件(图像-文本描述清理、基于LLM的异常评分、视频-文本得分优化)的重要性和必要性。
4.2.2 任务相关的上下文提示词实验:
这一部分探讨了在为LLM设计提示词(prompt)时,加入不同任务相关的先验信息(如异常检测背景、模拟执法场景)是否会对检测性能产生影响。实验结果表明:
- 添加“犯罪活动”等先验信息对异常检测性能影响较小。
- 加入“执法机关”的模拟角色提示(例如“如果你是执法机关,你会如何评价这一场景?”)可以提升检测性能,增加了0.96%的AUC。
- 但当同时加入“犯罪活动”和“执法机关”两类提示词时,性能并未进一步提升,表明过于严格的提示可能限制了LLM检测更广泛异常的能力。
4.2.3 K值
这里的K值指的是在视频-文本得分优化步骤中,用于聚合异常得分的语义最相似帧的数量。实验结果显示,随着K值增加,VAD性能也提升,并且在K值达到9时性能趋于稳定。这表明考虑语义相似的帧对于生成更可靠的异常得分非常重要。
5. 总结(Conclusion)
5.1 方法总结
LAVAD 是一种创新的无训练视频异常检测方法,它通过语言驱动的方式来估计异常得分,充分利用了预训练的大语言模型(LLMs)和视觉-语言模型(VLMs)。具体而言,LAVAD 采用了以下三大组件:
- 图像-文本相似性清理:用于清理由视频帧生成的噪声文本描述,从而提高文本描述的质量。
- 基于LLM的异常评分:通过引入时间窗口,利用LLM生成的场景动态总结来估计异常得分。
- 视频-文本评分优化:通过聚合语义上相似的帧来优化异常得分。
5.2 实验结果:
LAVAD在两个视频异常检测数据集(UCF-Crime 和 XD-Violence)上的实验结果表明,在无监督和单类异常检测任务中,该方法的性能优于现有的训练基方法,并且无需进行模型训练或数据收集。实验还验证了该方法在真实世界应用中的潜力。
5.3 未来工作展望:
LAVAD 的成功为未来视频异常检测的研究提供了新的方向。由于该方法能够在没有训练和数据收集的情况下实现高效的异常检测,未来可以探索如何进一步扩展和改进这类无训练检测方法,以应对更多实际场景的挑战。