MCANet: 基于多模态字幕感知的大语言模型训练无关视频异常检测

目录

  • 摘要
  • 01 引言
  • 02 相关工作
    • 2.1 视频异常检测
    • 2.2 基于视频的大语言模型(VLLMs)
  • 03 方法论
    • 3.1 问题定义
    • 3.2 MCANet
    • 3.3 图像字幕分支
    • 3.4 音频字幕分支
    • 3.5 基于LLM的异常评分
    • 3.6 视频-文本分数优化
  • 04 实验
    • 4.1 数据集和评估指标
    • 4.2 实现细节
    • 4.3 定性结果
    • 4.4 定量结果
    • 4.5 消融研究
  • 05 结论

ICPR’24 - 印度卡利卡特国立理工学院
MCANet: Multimodal Caption Aware Training-Free Video Anomaly Detection via Large Language Model

摘要

在视频异常检测(Video Anomaly Detection, VAD)方面,现有方法通常需要耗费大量精力进行数据收集和模型重新训练,这使得这些方法代价高昂且领域特定。本文提出了一种称为多模态字幕感知网络(Multimodal Caption Aware Network, MCANet)的方法,引入了一种无需领域知识的新范式来识别视频序列中的异常。这种无需训练的VAD方法通过利用现成的视觉-语言模型(Vision-Language Model, VLM)、音频-语言模型(Audio-Language Model, ALM) 和大语言模型(Large Language Model, LLM),动态生成并分析视频帧的文本描述。MCANet包含四个主要模块:第一个模块利用图像文本相似性清理由图像字幕生成模型产生的噪声字幕;第二个模块应用音频文本相似性优化音频字幕生成模型的噪声字幕;第三个模块通过LLM整合时间序列中的场景动态;最后,第四个模块基于视频文本相似性聚合语义相似帧的得分,以提升结果。为验证该方法的有效性,我们在两个大规模基准数据集(UCF-Crime 和 XD-Violence)上进行了实验。实验结果表明,MCANet在无需任何训练或数据收集的情况下,优于现有的无监督和单类方法。

关键词:视频异常检测 ,大语言模型 ,视觉语言模型,音频语言模型,多模态字幕

01 引言

视频异常检测(Video Anomaly Detection, VAD)是一种用于识别视频序列中异常事件的重要方法,因其在公共安全和视频内容分析中的广泛应用而受到极大关注。根据训练数据标注类型的不同,VAD方法大致可分为无监督、弱监督和全监督三类。无监督方法针对正常或未标注的视频进行训练;弱监督方法使用视频级别的标签,包括正常和异常视频;而全监督方法尽管因需要逐帧标注而使用较少,但能提供更精确的异常检测结果。

近年来,VAD领域的研究进展显著,依赖于基于大规模数据集预训练的多模态大语言模型(Multimodal Large Language Models, MLLMs),大大提高了检测的准确性和效率。VAD的实际应用涵盖多个领域,包括智能制造、交通监控和公共安全等。传统的VAD技术通过为视频序列中的每一帧预测异常得分来识别异常,得分越高表明异常的可能性越大。这些方法强调自动化,并逐步向更加稳健和可靠的VAD系统发展。

然而,现有的先进方法通常需要训练过程以建立准确的VAD系统,这带来了诸多限制。首要问题是泛化能力:在特定数据集上训练的VAD模型往往在不同场景(如白天与夜间)的视频中表现欠佳。此外,数据收集也是一项重大挑战,尤其是在视频监控等应用领域,隐私问题可能阻碍数据获取。因此,为解决这些问题,本文提出了一种全新的无需训练方法,可以在无需领域知识的情况下识别视频序列中的异常。图1展示了所提出方法与现有方法的对比。
在这里插入图片描述

本文旨在通过提出一种名为多模态字幕感知网络(MCANet) 的无需训练的VAD方法来应对这些挑战,该方法利用预训练的视觉-语言模型(VLMs)和大语言模型(LLMs)进行异常检测。MCANet使用现成的字幕生成模型为每个视频帧生成文本描述,并结合音频-文本字幕生成模型捕捉音频线索以辅助检测。视觉文本与音频文本字幕的结合提供了更丰富的上下文信息,增强了模型识别异常的能力。为解决字幕中的噪声问题,本文提出了一种基于字幕与帧的跨模态相似性的清洗过程。此外,为捕捉场景动态,使用LLM在时间窗口内总结字幕,并为每帧生成异常得分,随后通过聚合具有相似时间摘要的帧的异常得分进行优化。在UCF-Crime和XD-Violence两个大规模基准数据集上的实验结果表明,这种无需训练的方法在无监督和单类VAD方法中表现优异,证明VAD可以在无需训练或数据收集的情况下得到有效解决。

聚合具有相似时间摘要的帧的异常得分进行优化的意思是:对初始分数进行聚合,聚合的权重是根据 总结字幕视频片段 的相似度得到的

总结来说,本文的贡献如下:

  1. 提出了一种全新的无需训练的VAD方法,无需领域知识即可识别视频序列中的异常。
  2. 提出了一种多模态字幕感知网络(MCANet),这是首个基于语言的无需训练的VAD方法,利用大语言模型(LLMs)仅通过场景描述检测异常。
  3. MCANet包含四个主要模块:前两个模块分别通过图像文本和音频文本相似性清洗并优化噪声字幕;第三个模块利用LLM整合场景动态;第四个模块基于视频文本相似性聚合语义相似帧的得分。
  4. 实验结果表明,MCANet在UCF-Crime和XD-Violence数据集上的表现优于无监督和单类VAD方法,无需任务特定的监督或训练。

02 相关工作

2.1 视频异常检测

无监督视频异常检测旨在无需标注的训练样本识别视频数据中的异常事件。这种方法在获取标注数据困难或不切实际的情况下尤为重要。例如,Zhao等人【1】利用长短期记忆网络(LSTM)来捕捉正常视频中连续帧之间的时空关联;Lee等人【2】则通过视觉Transformer结合时空上下文预测流来提升视频异常检测任务的性能。这些方法通常假设异常事件在正常模式中是稀少且显著不同的。然而,无监督方法【3-6】尽管在学习无标注数据时具备可扩展性和适应性,但由于缺乏明确的异常指导,其准确性和稳健性往往不足。

因此,弱监督视频异常检测成为研究界一种颇具吸引力且广泛应用的技术。这种方法利用有限的标注数据(通常为视频级别标注)学习可区分正常与异常事件的特征。例如,Sultani等人【7】率先提出了一种基于弱监督多实例学习(MIL)框架的视频异常检测方法,将视频视为片段的集合。该模型旨在为异常片段赋予较高的异常评分,而为正常片段赋予较低评分。然而,这种方法未能考虑视频片段之间的时间关系,在有效区分正常与异常片段特征方面表现不佳。为了解决这些问题,Huang等人【8】在MIL框架中引入了一种判别特征编码器,以改善正常与异常片段之间的区分能力,并采用时间特征聚合器来捕捉视频序列的长期依赖性。Ullah等人【9】开发了一种基于深度卷积神经网络和多头序列注意力机制的全新异常检测方法。此外,Karim等人【10】最近提出了一种在线视频异常检测模型,采用端到端的方法直接从原始视频中自动提取特征,与传统依赖于分离特征编码器和分类器的方式形成鲜明对比。

2.2 基于视频的大语言模型(VLLMs)

基于视频的大语言模型(Video-Based Large Language Models, VLLMs)在理解和推理语言与视觉内容方面展现出显著进展,反映出大语言模型(LLMs)在多模态任务中的应用潜力。这些模型结合了视频动态视觉信息与文本描述提供的丰富上下文细节。在视频字幕生成【11】、视频理解【12,13】、图像补丁摘要【14】及交互学习【15】等任务中,VLLMs的卓越表现突显了它们在机器理解和处理复杂真实世界数据方面的变革潜力。例如,Bain等人【16】提出了一种用于文本-视频检索的端到端双编码器架构;Li等人【17】通过大语言模型开发了一个以聊天为中心的视频对话系统;Zhang等人【18】引入了一种音视频语言框架,提升了大语言模型对视频理解的能力;Chen等人【13】利用大语言模型无缝处理视频理解任务。

此外,Lin等人【19】提出了一种将视觉表示整合到语言特征空间的鲁棒大型视觉语言模型,使模型能够有效解释图像与视频。He等人【20】设计了一种记忆库,用于存储视频的历史内容,从而在不超过大语言模型上下文长度或GPU内存限制的情况下实现长期视频分析。这种方法显著提升了视频问答和字幕生成等任务的性能,超越了现有最先进模型。

03 方法论

在本节中,视频异常检测(Video Anomaly Detection, VAD)问题被形式化描述,并概述了所提出的无需训练方法。随后,探讨了大语言模型(LLMs)在为视频帧分配异常分数中的能力。所提出方法的框架如图2所示。
在这里插

3.1 问题定义

给定一个包含 N N N 帧的测试视频 V = [ f 1 , … , f N ] \mathbf{V} = [f_1, \dots, f_N] V=[f1,,fN],传统的 VAD 方法旨在学习一个模型 g g g,用于将视频中的每一帧 f ∈ V f \in \mathbf{V} fV 分类为正常(分数为 0)或异常(分数为 1)。形式化地表示为: g : ( I × A ) N → [ 0 , 1 ] N g : (\mathcal{I} \times \mathcal{A})^N \to [0, 1]^N g:(I×A)N[0,1]N,其中, I \mathcal{I} I 表示图像空间, A \mathcal{A} A 表示音频空间。模型 g g g 通常在一个包含视频和标签对 ( V , y ) (\mathbf{V}, y) (V,y) 的数据集 D \mathcal{D} D 上进行训练。根据监督级别的不同, y y y 可以是逐帧标签的二进制向量(全监督)、视频级的二进制标签(弱监督)、默认标签(单类)或不存在(无监督)。然而,在实际应用中,采集 y y y 可能代价高昂,因为异常事件通常较为罕见,并且视频 V \mathbf{V} V 的获取可能受到隐私问题的限制。此外,由于应用场景不断变化,标签和视频数据可能需要定期更新。

与传统方法不同,本文提出了一种新颖的 VAD 方法,称为无需训练的 VAD。在这种创新的设置中,目标是在推理过程中,仅使用预训练模型为每帧 f ∈ V f \in \mathbf{V} fV 估算异常分数,而无需涉及任何基于训练数据集 D \mathcal{D} D 的训练或微调过程。

3.2 MCANet

本文提出了一种新颖的方法——多模态字幕感知视频网络(MCANet),用于视频异常检测。该方法利用大语言模型(LLMs)的最新进展,其框架如图2所示。考虑到LLMs在视频异常检测中的应用潜力,MCANet 的首要步骤是评估其基于视频帧的文本描述生成异常分数的能力。

一个先进的图像到文本字幕生成模型 θ I \theta_I θI(FUSECAP【21】) 被用来将视频的每一帧 f ∈ V f \in \mathbf{V} fV 转换为文本描述,同时使用一个音频到文本字幕生成模型 θ A \theta_A θA( HTSAT) 将每帧 f ∈ V f \in \mathbf{V} fV 转换为文本描述。异常分数的估算被建模为一个分类任务,指导LLM θ L L M \theta_{LLM} θLLM 从0到1的均匀采样值列表中选择一个分数,其中0表示正常,1表示异常。异常分数的计算公式为:

θ L L M ( P C ∘ P O ∘ θ I ( f ) ∘ θ A ( f ) ) (1) \theta_{LLM}(P_C \circ P_O \circ \theta_I(f) \circ \theta_A(f)) \tag{1} θLLM(PCPOθI(f)θA(f))(1)

其中, P C P_C PC 是一个上下文提示,向LLM提供有关视频异常检测(VAD)的先验知识; P O P_O PO 指导LLM生成用于自动文本解析的输出格式; ∘ \circ 表示文本的连接操作。 P C P_C PC 用于模拟视频异常检测系统潜在用户(例如安全分析师)的视角,以增强LLM生成输出的效果。例如,一个 P C P_C PC 提示可能是:“如果您是一名安全分析师,您会如何评估所描述事件的异常程度,范围为0到1,其中0表示正常事件,1表示存在异常活动?”值得注意的是, P C P_C PC 并未固有地编码任何特定异常类型的信息,而仅提供上下文。

MCANet 将视频异常检测函数 f f f 分解为七个组件。首先是两个字幕生成模块 θ C \theta_C θC θ A \theta_A θA,分别将图像和音频映射到语言空间 T T T 的文本描述,数学表达为 θ C : I → T \theta_C : \mathcal{I} \to T θC:IT θ A : A → T \theta_A : \mathcal{A} \to T θA:AT。其次是LLM θ L L M \theta_{LLM} θLLM,用于从语言查询生成文本,即 θ L L M : T → T \theta_{LLM} : T \to T θLLM:TT。剩余的组件包括三个编码器,它们将输入表示映射到共享的潜在空间 Z Z Z:图像编码器 E I : I → Z E_I : \mathcal{I} \to Z EI:IZ、文本编码器 E T : T → Z E_T : T \to Z ET:TZ、音频编码器 E A : A → Z E_A : \mathcal{A} \to Z EA:AZ,以及视频编码器 E V : V → Z E_V : \mathbf{V} \to Z EV:VZ。需要注意的是,所有七个组件均使用现成的冻结模型。

在初步分析获得积极结果后,MCANet 使用 θ L L M \theta_{LLM} θLLM θ C \theta_C θC 为每帧计算异常分数。MCANet 通过引入三个组件来解决帧级字幕中噪声和场景动态不足的问题:

  1. 通过图像-文本表示的 E I E_I EI E T E_T ET 进行的图像-文本字幕清洗;
  2. 基于LLM的异常评分,通过 θ L L M \theta_{LLM} θLLM 编码时间信息;
  3. 使用 E V E_V EV E T E_T ET 基于视频-文本相似性对异常分数进行视频-文本分数优化。

接下来的章节将详细描述每个组件。

3.3 图像字幕分支

图像-文本字幕清洗
对于每个测试视频 V \mathbf{V} V,首先使用图像字幕生成模型 θ C \theta_C θC 为每帧 f i ∈ V f_i \in \mathbf{V} fiV 生成一个字幕 C i ( img ) C_i^{(\text{img})} Ci(img)。具体来说, C ( img ) C^{(\text{img})} C(img) 表示字幕序列,即 C ( img ) = [ C 1 ( img ) , … , C M ( img ) ] C^{(\text{img})} = [C_1^{(\text{img})}, \dots, C_M^{(\text{img})}] C(img)=[C1(img),,CM(img)],其中 C i ( img ) = θ C ( f i ) C_i^{(\text{img})} = \theta_C(f_i) Ci(img)=θC(fi)。然而,正如 3.2 节所讨论的,原始字幕可能包含噪声,例如断句或错误的描述。

为了解决这一问题,假设在所有生成的字幕 C ( img ) C^{(\text{img})} C(img) 中存在一些准确且完整的字幕。该假设基于一个典型场景:视频通过静止摄像头以高帧率拍摄,导致帧之间的语义内容重叠较大,与其时间间隔无关。 因此,字幕清洗被视为在 C ( img ) C^{(\text{img})} C(img) 中寻找与目标帧 f i f_i fi 语义最接近的字幕。形式上,通过使用视觉-语言编码器将字幕嵌入编码为 E T E_T ET,生成字幕嵌入集 { E T ( C 1 ( img ) ) , … , E T ( C M ( img ) ) } \{E_T(C_1^{(\text{img})}), \dots, E_T(C_M^{(\text{img})})\} {ET(C1(img)),,ET(CM(img))}。对于每个帧 f i ∈ V f_i \in \mathbf{V} fiV,其最接近的语义字幕可通过以下公式计算:

C ^ i ( img ) = arg ⁡ max ⁡ C ∈ C ( img ) ⟨ E I ( f i ) ⋅ E T ( C ( i m g ) ) ⟩ (2) \hat{C}_i^{(\text{img})} = \arg\max_{C \in C^{(\text{img})}} \langle E_I(f_i) \cdot E_T(C^{(img)}) \rangle \tag{2} C^i(img)=argCC(img)maxEI(fi)ET(C(img))⟩(2)

其中, ⟨ ⋅ , ⋅ ⟩ \langle \cdot, \cdot \rangle , 表示余弦相似度, E I E_I EI 是视觉语言模型的图像编码器。清洗后的字幕集定义为 C ^ ( img ) = [ C ^ 1 ( img ) , … , C ^ M ( img ) ] \hat{C}^{(\text{img})} = [\hat{C}_1^{(\text{img})}, \dots, \hat{C}_M^{(\text{img})}] C^(img)=[C^1(img),,C^M(img)],用每个字幕 C i ( img ) C_i^{(\text{img})} Ci(img) 的最优匹配 C ^ i ( img ) \hat{C}_i^{(\text{img})} C^i(img) 替换原字幕。

通过这一字幕清洗过程,可以传播与视觉内容语义更加一致的字幕,而不受时间定位的限制,从而改善或纠正噪声描述。

这一步与LAVAD一摸一样。

3.4 音频字幕分支

音频-文本字幕清洗
对于每个测试视频 V \mathbf{V} V,首先使用音频字幕生成模型 θ A \theta_A θA 为每个音频片段 a i ∈ V a_i \in \mathbf{V} aiV 生成一个字幕 C i ( aud ) C_i^{(\text{aud})} Ci(aud)。具体来说, C ( aud ) C^{(\text{aud})} C(aud) 表示字幕序列,即 C ( aud ) = [ C 1 ( aud ) , … , C M ( aud ) ] C^{(\text{aud})} = [C_1^{(\text{aud})}, \dots, C_M^{(\text{aud})}] C(aud)=[C1(aud),,CM(aud)],其中 C i ( aud ) = θ A ( a i ) C_i^{(\text{aud})} = \theta_A(a_i) Ci(aud)=θA(ai)。然而,正如 3.2 节所讨论的,原始字幕可能包含噪声,例如断句或错误的描述。

为了解决这一问题,假设在生成的所有字幕 C ( aud ) C^{(\text{aud})} C(aud) 中存在一些准确且完整的字幕。该假设基于一个典型场景:视频中的音频连续录制,导致音频片段之间的语义内容具有较大的重叠性,而不受时间间隔的影响。 因此,字幕清洗被视为在 C ( aud ) C^{(\text{aud})} C(aud) 中寻找与目标音频片段 a i a_i ai 语义最接近的字幕。形式上,通过使用音频-语言编码器将字幕嵌入编码为 E T E_T ET,生成字幕嵌入集 { E T ( C 1 ( aud ) ) , … , E T ( C M ( aud ) ) } \{E_T(C_1^{(\text{aud})}), \dots, E_T(C_M^{(\text{aud})})\} {ET(C1(aud)),,ET(CM(aud))}。对于每个音频片段 a i ∈ V a_i \in \mathbf{V} aiV,其最接近的语义字幕可通过以下公式计算:

C ^ i ( aud ) = arg ⁡ max ⁡ C ∈ C ( aud ) ⟨ E A ( a i ) ⋅ E T ( C ) ⟩ (3) \hat{C}_i^{(\text{aud})} = \arg\max_{C \in C^{(\text{aud})}} \langle E_A(a_i) \cdot E_T(C) \rangle \tag{3} C^i(aud)=argCC(aud)maxEA(ai)ET(C)⟩(3)

其中, ⟨ ⋅ , ⋅ ⟩ \langle \cdot, \cdot \rangle , 表示余弦相似度, E A E_A EA 是视觉语言模型的音频编码器。清洗后的字幕集定义为 C ^ ( aud ) = [ C ^ 1 ( aud ) , … , C ^ M ( aud ) ] \hat{C}^{(\text{aud})} = [\hat{C}_1^{(\text{aud})}, \dots, \hat{C}_M^{(\text{aud})}] C^(aud)=[C^1(aud),,C^M(aud)],用每个字幕 C i ( aud ) C_i^{(\text{aud})} Ci(aud) 的最优匹配 C ^ i ( aud ) \hat{C}_i^{(\text{aud})} C^i(aud) 替换原字幕。

通过这一字幕清洗过程,可以传播与音频内容语义更加一致的字幕,而不受时间定位的限制,从而改善或纠正噪声描述。

他这里的这个假设有点 扯🥚,音频片段怎么可能会有较大的重复性,就人说话,说的字都不一样,还有爆炸声,前一秒可能在爆炸,下一秒就没有声音了。
这里也没有说音频片段是怎么切分的,多长的音频片段?

3.5 基于LLM的异常评分

清洗后的字幕序列 C ^ ( img ) \hat{C}^{(\text{img})} C^(img) 相较于初始字幕集更干净,但仍然缺乏时间信息。为了解决这一问题,利用大语言模型(LLM)生成时间摘要。具体来说,定义一个以帧 f i f_i fi 为中心的时间窗口 T T T 秒。在该窗口内均匀采样 N N N 帧,形成一个视频片段 S i S_i Si,以及对应的字幕子序列 C ^ i ( img ) = { C ^ n ( img ) } n = 1 N \hat{C}_i^{(\text{img})} = \{\hat{C}_n^{(\text{img})}\}_{n=1}^N C^i(img)={C^n(img)}n=1N。随后,将 C ^ i ( img ) \hat{C}_i^{(\text{img})} C^i(img) 和提示 P S P_S PS 一起输入 LLM,生成以帧 f i f_i fi 为中心的时间摘要 T S i TS_i TSi

T S i = θ L L M ( P S ∘ C ^ i ( img ) ) ∘ C ^ i ( aud ) (4) TS_i = \theta_{LLM}(P_S \circ \hat{C}_i^{(\text{img})}) \circ \hat{C}_i^{(\text{aud})} \tag{4} TSi=θLLM(PSC^i(img))C^i(aud)(4)

其中,提示 P S P_S PS 的格式为:“请根据以下场景的时间描述,用几句话总结发生了什么。不要包含任何不必要的细节或描述。(Please summarize what happened in a few sentences, based on the following temporal description of a scene. Do not include any unnecessary details or descriptions.)”

结合公式 (4) 和 (3) 的优化过程,可以得到比单独的图像字幕 C ^ i ( img ) \hat{C}_i^{(\text{img})} C^i(img) 和音频字幕 C ^ i ( aud ) \hat{C}_i^{(\text{aud})} C^i(aud) 更加语义丰富且具有时间上下文的帧描述( T S i TS_i TSi)。利用 T S i TS_i TSi,LLM 可以进一步估算异常分数。采用与 3.2 节中描述的提示策略,要求 LLM 为每个时间摘要 T S i TS_i TSi 分配一个介于 [0, 1] 的分数 z i z_i zi。具体计算如下:

z i = Φ L L M ( P C ∘ P F ∘ T S i ) (5) z_i = \Phi_{LLM}(P_C \circ P_F \circ TS_i) \tag{5} zi=ΦLLM(PCPFTSi)(5)

其中, P C P_C PC 是包含视频异常检测(VAD)上下文先验的提示, P F P_F PF 提供所需输出格式的信息。

通过这一过程,基于时间上下文的异常评分能够更准确地捕捉帧级异常信息,弥补单帧描述中缺乏动态性的不足。

这里的话对图像文本的总结和LAVAD一摸一样,但是对音频文本的总结,这里只是一带而过,没提
还有就是这里的TSi是表示两个总结文本吗?

3.6 视频-文本分数优化

通过公式 (5) 对视频的每一帧进行 LLM 查询,可以得到视频的初始异常分数序列 z = [ z 1 , … , z M ] z = [z_1, \dots, z_M] z=[z1,,zM]。然而,这些分数仅基于时间摘要中的语言信息,没有考虑所有帧的整体分数分布。为进一步优化这些分数,利用视觉信息聚合语义相似帧的分数。

具体而言,对以帧 f i f_i fi 为中心的视频片段 S i S_i Si 以及所有时间摘要使用视频编码器 E V E_V EV 和文本编码器 E T E_T ET 进行编码。设 K i K_i Ki 是与 S i S_i Si 最相似的 K K K 个时间摘要的索引集合,其中 S i S_i Si 与时间摘要 T S j TS_j TSj 的相似性通过余弦相似度计算,即:

⟨ E V ( S i ) , E T ( T S j ) ⟩ \langle E_V(S_i), E_T(TS_j) \rangle EV(Si),ET(TSj)⟩

最终优化后的异常分数 z ~ i \tilde{z}_i z~i 可表示为:

z ~ i = ∑ k ∈ K i z k ⋅ e ⟨ E V ( S i ) , E T ( T S k ) ⟩ ∑ k ∈ K i e ⟨ E V ( S i ) , E T ( T S k ) ⟩ (6) \tilde{z}_i = \frac{\sum_{k \in K_i} z_k \cdot e^{\langle E_V(S_i), E_T(TS_k) \rangle}}{\sum_{k \in K_i} e^{\langle E_V(S_i), E_T(TS_k) \rangle}} \tag{6} z~i=kKieEV(Si),ET(TSk)⟩kKizkeEV(Si),ET(TSk)⟩(6)

其中, ⟨ ⋅ , ⋅ ⟩ \langle \cdot, \cdot \rangle , 表示余弦相似度。

需要注意的是,公式 (6) 与公式 (3) 中的原理一致,都是通过帧与视频的视觉-语言相似性优化帧级估计(例如分数或字幕)。最终,结合优化后的异常分数序列 z ~ = [ z ~ 1 , … , z ~ M ] \tilde{z} = [\tilde{z}_1, \dots, \tilde{z}_M] z~=[z~1,,z~M],可以通过设定阈值识别视频中异常的时间窗口。

这一视频-文本分数优化过程显著增强了帧级分数的准确性,使得模型能够更有效地聚焦于视频中具有相似语义的片段,从而提升异常检测的整体性能。

这里的字幕是用了 图像字幕 与 视频片段 计算相似度,还是使用了 图像字幕+音频字幕?

04 实验

本节对 MCANet 框架进行了全面评估。首先在第 4.1 节中描述了实验中使用的数据集和评估指标。接下来的第 4.2 节概述了方法的实现细节。第 4.3 节展示了 MCANet 效果的定性结果。第 4.4 节提供了与现有最先进方法的详细比较,最后在第 4.5 节进行了消融实验,以评估 MCANet 各组成部分的影响。

4.1 数据集和评估指标

数据集
实验在两个大规模基准数据集上进行,即 UCF-Crime【7】和 XD-Violence【22】。

  • UCF-Crime 数据集是一种大规模的真实世界监控视频集合,共包含 1900 个未经剪辑的视频,涵盖室内和室外环境,总时长为 128 小时。数据集分为 13 种异常事件类别,例如打斗、偷窃、袭击等。
  • XD-Violence 是一个多模态大规模数据集,包含 4754 部电影和 YouTube 视频的音频信号,总时长为 217 小时。该数据集包括 6 种异常事件类别,例如车祸、骚乱、爆炸等。

评估指标
为评估异常检测性能,采用帧级接收者操作特性(ROC)的曲线下面积(AUC)作为 UCF-Crime 数据集的主要评估指标。根据文献【23】,这一评估计算了整个测试集的 AUC,记为 AUC。同时,计算仅针对异常视频的 AUC,记为 Ano-AUC,这种方法排除了标签全为正常(标签为 0)的正常视频,仅保留包含正常和异常片段(标签为 0 和 1)的异常视频。此外,对于 XD-Violence 数据集,采用帧级精确度-召回曲线的 AUC(AP)作为评估指标。

4.2 实现细节

实验在 NVIDIA RTX 4070 GPU 上进行,使用 PyTorch 框架实现。网络优化采用 Adam 优化器,批量大小为 128。

  • 在 XD-Violence 数据集上,学习率设为 5 × 1 0 − 4 5 \times 10^{-4} 5×104,总训练轮次为 50。
  • 在 UCF-Crime 数据集上,学习率设为 3 × 1 0 − 4 3 \times 10^{-4} 3×104,总训练轮次为 50。

在本研究中,LanguageBind 模型【24】中的 ViT 被用作视频编码器,预训练的 ViT L/14【25】被用作图像编码器,VGGish 网络【26】被用作音频编码器。FUSECAP【21】被用作视觉-语言模型,而 Pengi【27】被用作音频-语言模型,分别用于从视觉帧和音频信号中生成字幕。此外,采用 Video-LLaMA【18】的预训练 LLaMA 实现视频通用描述生成。为提升计算效率,每个视频以 16 帧的间隔随机采样。

他这里有漏斗啊,文本编码器用的什么怎么不说?怎么没说LLM用的哪个,使用的是Video-LLaMA吗?

4.3 定性结果

UCF-Crime 和 XD-Violence 数据集测试视频的帧级 AUC 结果如图 3 所示。

  • 图 3(a) 和图 3(b) 展示了 UCF-Crime 数据集中破坏行为和抢劫异常的定性结果。
  • 图 3(c) 和图 3(d) 展示了 XD-Violence 数据集中破坏行为和抢劫异常的定性结果。

可以观察到,LLM 生成的时间摘要能够准确捕捉异常场景的视觉内容。这种描述使得 MCANet 能够有效识别异常事件,确保对异常事件的准确检测。
在这里插入图片描述

4.4 定量结果

将所提出的 MCANet 方法与最先进的方法进行比较,包括单类方法【37–39】、无监督方法【4,6,42,43】、弱监督方法【7,23,28,29,31】以及无需训练的方法【24,44–46】。

在 UCF-Crime 数据集上的性能比较
表 1 显示了在 UCF-Crime 数据集上的性能比较。显著的是,所提出的 MCANet 在单类和无监督基线方法中表现更优。与 SACR【40】相比,AUC 提高了 9.77%;与当前最先进的 C2FPL 方法【6】相比,AUC 提高了 1.62%。相比无需训练的方法,所提出的 MCANet 达到了最高的 AUC(82.47%)。

在这里插入图片描述

在 XD-Violence 数据集上的性能比较
表 2 报告了在 XD-Violence 数据集上的性能比较。与 UCF-Crime 的结果一致,所提出的方法在平均精度(AP)方面显著超越了所有单类【37–39】、无监督方法【4,6,42,43】和无需训练的方法【24,44–46】。例如,使用 I3D 特征时,MCANet 比 BODS【39】提高了 13.08%,比 GODS【39】提高了 10.88%,比 DyAnNet【43】提高了 1.58%,比 C2FPL【6】提高了 0.49%。然而,所提出的无需训练方法与最新的弱监督方法相比性能仍有差距。这一差距主要归因于缺乏具体的视觉先验信息,以及视觉语言模型(VLMs)和音频语言模型(ALMs)更倾向于关注显著的前景信号,而非语境相关的背景信息。

在这里插入图片描述

4.5 消融研究

MCANet 各组件的影响
在 UCF-Crime 数据集上进行了消融实验,初步评估了 MCANet 每个组件的有效性。随后,分析了上下文提示中任务先验对异常分数估计的影响。

各组件的影响
实验通过逐步移除 MCANet 的各个组件,评估其对性能的影响。如表 3 所示:

  1. 当移除图像-文本字幕清洗和音频-文本字幕清洗组件时(第一行),性能显著下降,AUC 为 78.53%。
  2. 当仅移除音频-文本字幕清洗组件时(第二行),AUC 降至 75.31%,相比完整模型(第五行)降低了 7.16%。
  3. 移除基于 LLM 的异常评分组件,仅依赖清洗字幕和视频-文本分数优化时(第三行),AUC 为 74.70%,相比完整模型下降了 7.77%,这表明 LLM 在整合时间信息和准确估计异常分数方面的关键作用。
  4. 移除视频-文本分数优化组件时(第四行),AUC 降至 75.79%,相比完整模型减少了 6.68%。这表明分数优化组件通过聚合语义相似帧的分数显著提高了异常检测的整体性能。
  5. 当包含所有组件时(第五行),完整的 MCANet 模型达到了最高 AUC 82.47%。这验证了图像-文本字幕清洗、音频-文本字幕清洗、基于 LLM 的异常评分和视频-文本分数优化的协同作用。

在这里插入图片描述

很奇怪,他把LLM移除掉还怎么评分的?

上下文提示中的任务先验的影响
实验进一步评估了上下文提示中任务先验的影响,结果如表 4 所示。具体而言,研究了两种类型的先验:

  1. 异常先验:向 LLM 提供与异常相关的上下文,例如犯罪活动,这能够增强语义上下文的相关性。
  2. 角色扮演:让 LLM 以潜在 VAD 系统用户(如执法机构)的视角处理输入。

消融研究从不包含任何特定先验的基本提示开始:“您如何对所描述事件的异常程度进行评分,范围为 0 到 1,其中 0 表示正常,1 表示异常行为?(How would you rate the event described on a scale from 0 to 1, where 0 represents normal and 1 represents anomalous behavior?)”(第一行)。

  • 仅添加异常先验时(第二行),AUC 小幅提高至 81.79%,表明异常先验对 LLM 的性能有一定积极作用,但提升幅度不大。
  • 仅添加角色扮演先验时(第三行),AUC 提高至 80.82%,说明角色扮演能够提升 LLM 检测异常的能力,但效果仍不如完整提示。
  • 当同时包含异常先验和角色扮演先验时(第四行),AUC 达到最高值 82.47%,表明两种先验的结合能够有效增强 LLM 在异常检测中的性能。这表明两种先验是互补的,其集成能够为 LLM 提供更为稳健的框架,用于评估视频数据中的异常。

在这里插入图片描述

05 结论

为解决无需训练的视频异常检测(VAD)问题,本文提出了一种名为 MCANet 的新框架。MCANet 利用现成的视觉-语言模型(VLM)、音频-语言模型(ALM)和大语言模型(LLM),无需领域知识即可识别视频序列中的异常事件。通过创新的图像-文本和音频-文本字幕清洗模块,动态生成并分析视频帧的文本和音频描述。这些描述通过 LLM 的提示机制进行时间聚合和异常分数估计。

在两个大规模基准数据集(UCF-Crime 和 XD-Violence)上的实验结果表明,MCANet 无需任何训练或数据收集,即可超越现有的无监督和单类方法。然而,MCANet 的性能高度依赖于预训练模型的质量和提示策略的有效性,这也为进一步的研究和社区参与指明了方向。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/65631.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WMS仓库管理系统,Vue前端开发,Java后端技术源码(源码学习)

一、项目背景和建设目标 随着企业业务的不断扩展,仓库管理成为影响生产效率、成本控制及客户满意度的重要环节。为了提升仓库作业的透明度、准确性和效率,本方案旨在构建一套全面、高效、易用的仓库管理系统(WMS)。该系统将涵盖库…

【Uniapp-Vue3】创建自定义页面模板

大多数情况下我们都使用的是默认模板&#xff0c;但是默认模板是Vue2格式的&#xff0c;如果我们想要定义一个Vue3模板的页面就需要自定义。 一、我们先复制下面的模板代码&#xff08;可根据自身需要进行修改&#xff09;&#xff1a; <template><view class"…

【Go】:图片上添加水印的全面指南——从基础到高级特性

前言 在数字内容日益重要的今天&#xff0c;保护版权和标识来源变得关键。为图片添加水印有助于声明所有权、提升品牌认知度&#xff0c;并防止未经授权的使用。本文将介绍如何用Go语言实现图片水印&#xff0c;包括静态图片和带旋转、倾斜效果的文字水印&#xff0c;帮助您有…

springCloudGateWay使用总结

1、什么是网关 功能: ①身份认证、权限验证 ②服务器路由、负载均衡 ③请求限流 2、gateway搭建 2.1、创建一个空项目 2.2、引入依赖 2.3、加配置 3、断言工厂 4、过滤工厂 5、全局过滤器 6、跨域问题

【UE5 C++课程系列笔记】22——多线程基础——FRunnable和FRunnableThread

目录 1、FRunnable 1.1 概念 1.2 主要成员函数 &#xff08;1&#xff09;Init 函数 &#xff08;2&#xff09;Run 函数 &#xff08;3&#xff09;Stop 函数 &#xff08;4&#xff09;Exit 函数 2、FRunnableThread 2.1 概念 2.2 主要操作 &#xff08;1&#xff…

《图解HTTP》 学习日记

1.了解WEB以及网络基础 1.1使用HTTP协议访问WEB web页面显示:根据web浏览器地址栏中输入指定的URL,web浏览器从web服务端获取文件资源(resource)等信息&#xff0c;从而显示出web页面 1.2网络基础TCP/IP 通常使用的网络(包括 互联网)是在tcp/ip协议族的基础上运作的&#xf…

【Docker】docker compose 安装 Redis Stack

注&#xff1a;整理不易&#xff0c;请不要吝啬你的赞和收藏。 前文 Redis Stack 什么是&#xff1f; 简单来说&#xff0c;Redis Stack 是增强版的 Redis &#xff0c;它在传统的 Redis 数据库基础上增加了一些高级功能和模块&#xff0c;以支持更多的使用场景和需求。Redis…

kubesphere前端源码运行

一、下载源码 源码是react&#xff0c;下载地址是 GitHub - kubesphere/console at v3.3.2 然后直接用git下拉就可以了 下拉完成后差不多是这样一个目录结构&#xff0c;记得切分支到3.3.2 二、下载依赖 1、node & yurn 想要运行源码首先需要node&#xff0c;使用刚才…

蓝桥杯历届真题 #分布式队列 (Java,C++)

文章目录 题目解读[蓝桥杯 2024 省 Java B] 分布式队列题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示 思路完整代码 题目解读 题目链接 [蓝桥杯 2024 省 Java B] 分布式队列 题目描述 小蓝最近学习了一种神奇的队列&#xff1a;分布式队列。简单来说&#x…

PySide6 Qt for Python Qt Quick参考网址

Qt QML BOOK&#xff1a; 《Qt for Python》 -Building an Application https://www.qt.io/product/qt6/qml-book/ch19-python-build-app#signals-and-slots Qt for Python&#xff1a;与C版本的差异即BUG处理&#xff08;常见的DLL文件确实的问题等&#xff09; Qt for Pyt…

如何稳定使用 O1 / O1 Pro,让“降智”现象不再困扰?

近期&#xff0c;不少朋友在使用 O1 或 O1 Pro 模型时&#xff0c;都会碰到“降智”或“忽高忽低”的智力波动&#xff0c;比如无法识图、无法生成图片、甚至回答准确度也不稳定。面对这些问题&#xff0c;你是不是也感到头疼呢&#xff1f; 为了找到更可靠的解决办法&#xf…

用户界面的UML建模11

然而&#xff0c;在用户界面方面&#xff0c;重要的是要了解《boundary》类是如何与这个异常分层结构进行关联的。 《exception》类的对象可以作为《control》类的对象。因此&#xff0c;《exception》类能够聚合《boundary》类。 参见图12&#xff0c;《exception》Database…

记录一次面试中被问到的问题 (HR面)

文章目录 一、你对公司的了解多少二、为什么对这个岗位感兴趣三、不能说的离职原因四、离职原因高情商回复五、你的核心优势是什么六、你认为你比其他面试候选人的优势是什么七、不要提及情感 一、你对公司的了解多少 准备要点&#xff1a; 在面试前&#xff0c;对公司进行充分…

前端 图片上鼠标画矩形框,标注文字,任意删除

效果&#xff1a; 页面描述&#xff1a; 对给定的几张图片&#xff0c;每张能用鼠标在图上画框&#xff0c;标注相关文字&#xff0c;框的颜色和文字内容能自定义改变&#xff0c;能删除任意画过的框。 实现思路&#xff1a; 1、对给定的这几张图片&#xff0c;用分页器绑定…

pandas系列----DataFrame简介

DataFrame是Pandas库中最常用的数据结构之一&#xff0c;它是一个类似于二维数组或表格的数据结构。DataFrame由多个列组成&#xff0c;每个列可以是不同的数据类型&#xff08;如整数、浮点数、字符串等&#xff09;。每列都有一个列标签&#xff08;column label&#xff09;…

安装完docker后,如何拉取ubuntu镜像并创建容器?

1. 先docker拉取ubuntu镜像 docker search ubuntu #搜索ubuntu 镜像 docker pull ubuntu:22.04 #拉取ubuntu 镜像 docker images #下载完成后&#xff0c;查看已经下载的镜像 docker run --name ubuntu_container -dit ubuntu:22.04 /bin/bash # docker container -l 2.…

Qt监控系统远程网络登录/请求设备列表/服务器查看实时流/回放视频/验证码请求

一、前言说明 这几个功能是近期定制的功能&#xff0c;也非常具有代表性&#xff0c;核心就是之前登录和设备信息都是在本地&#xff0c;存放在数据库中&#xff0c;数据库可以是本地或者远程的&#xff0c;现在需要改成通过网络API请求的方式&#xff0c;现在很多的服务器很强…

服务器攻击方式有哪几种?

随着互联网的快速发展&#xff0c;网络攻击事件频发&#xff0c;已泛滥成互联网行业的重病&#xff0c;受到了各个行业的关注与重视&#xff0c;因为它对网络安全乃至国家安全都形成了严重的威胁。面对复杂多样的网络攻击&#xff0c;想要有效防御就必须了解网络攻击的相关内容…

Transformer 中缩放点积注意力机制探讨:除以根号 dk 理由及其影响

Transformer 中缩放点积注意力机制的探讨 1. 引言 自2017年Transformer模型被提出以来&#xff0c;它迅速成为自然语言处理&#xff08;NLP&#xff09;领域的主流架构&#xff0c;并在各种任务中取得了卓越的表现。其核心组件之一是注意力机制&#xff0c;尤其是缩放点积注意…

Linux下部署SSM项目

作者主页&#xff1a;舒克日记 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 Linux部署SSM项目 打包项目 1、修改pom.xml文件&#xff0c;打包方式改为war <packaging>war</packaging>2、idea 通过maven的clean&#xff0c;…