Holmes-VAD
Holmes-VAD
Abstract
为了应对开放式的视频异常检测(VAD),现有方法在面对具有挑战性或未见过的事件时,往往表现出偏向性,并且缺乏可解释性。为了解决这些问题,本文提出了Holmes-VAD,一个新颖的框架,通过精确的时间定位和丰富的多模态指令,实现了准确的异常定位和全面的解释性。首先,针对无偏且可解释的VAD系统,我们构建了第一个大规模的多模态VAD指令微调基准,即VAD-Instruct50k。这个数据集使用精心设计的半自动标注范式创建,采用高效的单帧注释应用于收集的未裁剪视频,然后利用强大的现成视频字幕生成器和大规模语言模型(LLM)将其合成为高质量的异常和正常视频片段分析。在VAD-Instruct50k数据集的基础上,我们开发了一种定制化的可解释视频异常检测解决方案。我们训练了一个轻量级的时间采样器,用于选择高异常响应的帧,并微调一个多模态的大语言模型生成解释性内容。大量实验结果验证了Holmes-VAD的通用性和可解释性,确立了其作为真实世界视频异常分析的新型可解释技术。
1. Introduction(介绍)
1.1 VAD的背景
同LAVAD。
视频异常检测旨在识别视频中不寻常或异常的事件,近年来在公共安全和视频内容理解等领域得到了广泛研究。
现有的VAD方法可以分为三类:无监督、弱监督和全监督方法。
- 无监督方法:只在正常视频上进行训练或使用未标注的正常/异常视频,但由于没有可靠的异常帧监督,这些方法在面对未见过的正常数据时往往表现不佳。
- 弱监督方法:使用视频级标签(即标注整个视频是否异常)进行训练,但难以在视频级别监督下选择合适的片段用于训练。
- 全监督方法:需要逐帧标注,这非常耗时且成本高昂,因此很少得到应用。
最近,受在海量数据上预先训练的多模态大型语言模型(MLLMs)的强大代表性及其在许多下游视觉任务中令人印象深刻的进步的启发,许多人开始将多模态知识整合到 VAD 系统中,从而实现更精确的异常检测。
1.2现有方法的挑战:
- 偏向性问题:由于缺乏可靠的帧级异常监督,现有的无监督和弱监督方法在面对未见过的正常场景时容易产生偏差,无法准确地检测异常。
- 缺乏可解释性:大多数现有的VAD方法在检测异常时,无法提供“异常是什么”以及“为什么是异常”的解释,限制了系统的透明度和用户的理解。
图一: **实现无偏和可解释的 VAD。**与主要专注于识别异常的主流 VAD 方法(a)相比,我们的方法(b)通过构建一个大规模的 VAD 数据集,其中包含未剪辑视频的单帧注释和剪辑视频的可解释指令数据,不仅有助于无偏见地(即减少对容易融合或未见常态的误报)预测异常分数,还有助于解释检测到的异常。
1.3 解决方法与技术创新
为了实现无偏且可解释的异常检测,Holmes-VAD框架提出了以下几项创新:
-
单帧标注(Single-frame annotation):现有的监督方法由于逐帧标注的高昂成本,很难大规模应用。为此,作者提出了一种更高效的标注方法,即单帧标注。通过在异常事件中仅标注一个关键帧,可以显著降低标注的时间成本。这种单帧标注的方式在视频异常检测中有助于减少对全面标注的依赖,同时仍然能提供有效的监督信号。
-
VAD-Instruct50k数据集:为了解决数据稀缺问题,作者构建了一个大规模的多模态视频异常检测数据集,称为VAD-Instruct50k。该数据集通过半自动标注生成,包含了大量的单帧注释视频以及异常事件的文本描述。具体过程如下:
- 数据收集:从现有的VAD数据集中收集未剪辑的视频(如UCF-Crime和XD-Violence)。
- 事件标注:通过人类和现有的自动化工具对异常视频中的关键帧进行单帧标注。
- 指令构建:使用大语言模型(LLM)为异常事件生成详细的文本解释,通过与视频内容结合,生成关于“什么是异常”和“为什么是异常”的指令对话数据。
-
模型的设计与训练:基于VAD-Instruct50k数据集,作者开发并训练了Holmes-VAD模型。该模型包含三个主要组件:
- 视频编码器(Video Encoder):用于对输入的视频进行编码,提取视频特征。
- 时间采样器(Temporal Sampler):预测视频帧的异常分数,并采样高响应部分作为多模态LLM的输入,具有轻量级和高效推理的特点。
- 多模态大语言模型(Multi-modal LLM):在结合视频特征的基础上,生成关于检测到的异常事件的文本解释。
作者还通过实验验证了Holmes-VAD的有效性和可解释性,结果表明该方法在异常检测任务中性能优越,并能够提供详细的解释内容。
2. 相关工作
2.1. 视频异常检测相关工作
- 讨论了现有的视频异常检测方法,特别是无监督、弱监督和全监督方法的现状与挑战。无监督方法通常在正常视频上进行训练,弱监督方法使用视频级别标签,而全监督方法由于逐帧标注的高成本应用较少。
- 进一步分析了近年来VAD领域的研究进展,包括基于深度学习的方法和如何提升异常检测的精度和效率。
2.2. 多模态大语言模型(MLLM)
- 多模态大语言模型最近的进展,例如CLIP等模型,在视觉和语言的结合上取得了显著进展。该部分讨论了如何利用MLLM来增强异常检测系统的解释性。
- 涉及到的模型可能包括ChatGPT、LLaMA等,它们在文本生成和视觉理解上的表现,为多模态数据处理提供了基础。
2.3 多模态VAD
多模态视频异常检测。大规模的视觉语言预训练模型如CLIP [ 42 ]充当了视觉和文本模态之间的桥梁。最近在视频异常检测领域的一些工作[ 41、17、57、61]利用文本信息作为提示来增强模型的异常表示。基于此,[ 56 ]首先提出了开放词汇VAD任务。此外,文献[ 65 ]使用字幕模型从视频帧中提取字幕,并为LLMs设计提示以提供异常评分。然而,这些方法主要关注生成异常分数,缺乏在大规模特定领域指令数据集上的微调,导致其性能高度依赖于基LLM。
3. VAD-Instruct50k构建
**图二:**针对本文提出的VAD - Instruct50k的数据引擎。我们从现有的数据集中收集了大量的异常/正常视频,然后进行了一系列的标注增强,包括时间单帧标注,事件片段生成和事件片段描述。然后,我们通过使用增强的注释来提示功能强大的LLM来构造指令数据。在整个管道中,人工作业和大型基础模型相互协调,以确保施工的效率和质量。
3.1 数据集生成过程:
- 数据收集:VAD-Instruct50k 的数据主要来自两个现有的弱监督视频异常检测数据集:UCF-Crime 和 XD-Violence。UCF-Crime包含来自监控摄像头的异常视频,涵盖了13类现实世界异常事件。XD-Violence则包含6种异常类型,如车祸、爆炸和斗殴等。经过筛选,最终收集了5547段未经修剪的长视频,其中包括异常视频和正常视频。
3.2 注释增强
-
单帧标注:由于这些视频只有粗粒度的、视频级别的异常标签,作者通过单帧标注来提升注释的准确性。具体方法是在每个异常事件的视频中仅标注一帧代表异常的关键帧。这种方法在保持标注成本较低的同时,能够有效提高异常检测模型的训练效果。通过这个过程,我们平均每个视频收集了2.35个单帧标注。
-
事件片段生成:基于单帧标注,作者设计了一个伪标签生成方法,并使用它来训练VAD网络。通过该方法,能够生成与注释帧周围相应的异常事件片段。这一过程包含以下步骤:
- 异常事件提议生成:对于每个有单帧标注的异常视频(记为 ,其中 为第 个注释帧),作者使用训练好的VAD网络估计每帧的异常得分,并围绕注释帧生成多个异常事件提议(proposals)。每个提议由起始时间和结束时间 组成。
- 正常事件提议生成:为了让模型学习正常行为,作者还从正常视频中随机提取了一些正常事件提议(即正常视频中的一些时间段)。这一过程生成的提议用于训练模型区分正常和异常行为。
最后,所有的已修剪事件片段都被标注为异常类别(例如“Explosion”)或“Normal”。整个数据表示为,其中 为视频事件片段的标签,异常片段为对应的异常类别,正常片段则标注为“Normal”。
-
事件片段描述:为了从这些事件片段中提取更丰富的语义信息,作者使用了一个基于视频的多模态大语言模型(MLLM),为每个事件片段生成详细的文字描述。为了确保描述的准确性,作者也使用了SurveillanceVision数据集中的一些手工标注的事件描述,这些描述主要来自UCF-Crime中的片段。
- 数据表示:最终,每个事件片段都被标注了异常标签,并通过多模态大模型生成了详细的文字描述。数据集包含的事件片段表示为:,其中为事件片段的文字描述。
**图三:**Holmes - VAD将未修剪的视频和用户提示作为输入,将异常评分和对检测到的异常的解释输出。时序采样器将帧的类别标记作为输入并估计异常分数,密集的视觉标记在进入projector之前根据其异常分数进行重采样。
3.3 指令微调数据集的构建
注释增强过程有效地填补了原始视频级注释信息的不足,但仍然缺乏关于异常事件的解释性说明,例如“异常是什么”和“为什么是异常”。为了弥补这一缺陷,作者利用了具有丰富开放领域知识的大语言模型(LLM),进一步生成指令微调数据集。
在技术上,对于 中的每个事件片段,我们结合可参考的异常上下文,即异常标签 和细节描述 ,设计了一个任务提示 。然后将组合提示输入到LLM 中,对视频片段中的异常进行判断并给出解释。生成的响应与相应的异常感知查询 配对,产生一个指令项:
我们使用Llama3 - Instruct - 70B 作为这里的,因为它的开源可用性和与GPT4相当的性能。我们设计了多个Pd来保证指令数据的多样性,的一个典型提示是:’ <video>\ n视频片段中是否有意外或不寻常的事件? '。
4. Holmes-VAD
利用提出的VAD - Intruct50k数据集进行训练,我们开发了一个可解释视频异常检测的定制解决方案,即Holmes - VAD,它有3个关键组件:视频编码器( Video Encoder )、时间采样器( Temporal Sampler )和带有可调LoRA 模块的多模态LLM。
4.1 模型架构
4.1.1 视频编码器(visual encoder)
视频编码器的作用是对输入视频进行编码,将其转化为适合后续处理的特征表示。Holmes-VAD使用了LanguageBind模型中的冻结视频编码器,继承了来自CLIP(ViT-L/14架构)的视频编码能力。不同于原始的ViT结构,这个编码器在时间维度上增加了自注意力层,用于建模帧间的时间关系。
具体来说,给定一个视频帧序列 ,每帧的输出特征表示为:
其中, 表示第帧的类别标记特征, 表示该帧的每个patch的视觉嵌入, 是每帧的patch数。
4.1.2 时间采样器(Temporal Sampler)
-
时间采样器用于估计每帧的异常分数,并选择高响应的帧作为多模态 LLM 的输入。这一模块的设计重点是减少计算开销,同时确保高效检测长视频中的异常事件。
-
在处理长视频时,逐帧处理会导致大量冗余计算。因此,Holmes-VAD首先将密集的帧输入视频编码器,然后使用预先训练好的 VAD 网络计算每帧的类别标记特征(class token),并输出异常分数:
cls token 的目的是作为全局图像特征的汇聚点。ViT模型通过一系列自注意力(self-attention)机制来交换补丁之间的信息,而cls令牌通过这些交互,逐步积累了整个图像的全局语义信息。最终,cls_token被用作图像的全局表示,用于分类任务。具体的做法是在ViT的最后一层,从cls令牌中提取全局特征进行分类或其他下游任务。
其中,$\phi_s $是训练好的 VAD 网络。
然后,我们根据异常分数对视频令牌进行采样。具体来说,只有来自异常分数sk高于设定阈值的帧的令牌才会被输入到后续的网络中:
4.1.3 Projector 和 MLLM
为了使LLM能够理解视觉编码器输出的特征,在它们之间设计了一个由两层MLP组成的投影仪,之后,特征维度与LLM的输入维度对齐。我们利用 Vicuna [7] 作为我们的LLM,经过微调可以生成与视频内容相关的文本响应。
其中 表示输入的文本标记(text token), 表示预测的下一个标记(token)。 和 分别表示projector和文本编码器。
4.2 模型训练
1. 时间采样器的训练(Training of the Temporal Sampler)
-
该阶段中,使用单帧标注进行训练,采用了一种伪标签监督策略。伪标签由单帧标注初始化,并在训练过程中在线更新。这一过程通过使用生成的伪标签来监督预测的异常分数,从而减少时间采样器对正常行为的偏差。
时间采样器的训练目标是通过二元交叉熵损失函数(BCE)来优化异常得分,公式为:
其中, 是预测的异常得分,$\tilde{S} $是生成的伪帧级标签。
2. 指令微调(Instruction Tuning)
- 在指令微调阶段,模型接收的是修剪过的事件片段输入,因此不需要使用时间采样器。此时,投影器和多模态 LLM 被训练,以生成解释性文本。
- 投影器使用两层 MLP 进行优化,并通过 LoRA 方法微调多模态 LLM。该阶段的训练目标是最大化生成正确响应的可能性,即基于输入特征生成连贯且准确的响应。
5. Experiments
5.1 实验设置
- 视频编码器:Holmes-VAD 使用 LanguageBind 模型中的 ViT(Vision Transformer)作为视频编码器。ViT 继承了 CLIP 模型的 ViT-L/14 结构,并在时间维度上增加了自注意力层,用于捕捉视频帧之间的时间关系。
- 多模态大语言模型(Multi-modal LLM):模型初始化使用了 Video-LLaVA 作为多模态语言模型的基础,并在 VAD-Instruct50k 数据集上进行指令微调。微调过程中使用了 LoRA 技术来降低训练复杂度。
- 时间采样器(Temporal Sampler):时间采样器的基础结构使用了 UR-DMU。在训练时间采样器时,随机采样每 16 帧中的一帧,使用 Adam 优化器,学习率设置为 1e-4。
- 训练细节:指令微调过程中,使用的批量大小为 128,训练 1 个 epoch。采用 AdamW 优化器,学习率逐渐递减。投影器的学习率设为 2e-5,LoRA 的参数设定为:秩 r=64、学习率为 2e-4。
- 推理过程中异常阈值:在推理阶段,异常得分的阈值 θ 设为 0.8。
5.2 主要结果
5.3 分析结果
6. Conclusion
在本文中,我们介绍了一种称为 Holmes-VAD 的视频异常检测系统,以解决现有异常检测方法中的偏差和缺乏可解释性。通过引入更高效的标记范式并构建大规模多模态视频异常检测数据集 VAD-Instruct50k,我们验证了 Holmes-VAD 的通用性和可解释性。通过大量的实验,我们将 Holmes-VAD 定位为现实世界应用的有价值的工具。
**限制和未来的工作。**尽管在构建 VAD-Instruct50k 数据集期间人类努力过滤噪声指令数据,但依赖现成的视频字幕模型来生成视频描述可能并不总是能够捕获细微差别和特定于上下文的信息。这是我们在标注成本和效率之间做出的权衡,我们认为数据质量与数据数量同等重要,未来我们计划在可接受的人力成本范围内进一步提升数据质量和数量。此外,虽然我们通过Temporal Sampler控制输入到Multi-modal LLM的视频长度并准确分析修剪后的视频片段中的异常内容,但Multimodal LLM仍然缺乏理解长期视频异常的有效解决方案而不损害其图像级感知能力。我们把这些留给我们未来的探索。