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

news2025/1/11 9:46:00

目录

  • 摘要
  • 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.coloradmin.cn/o/2274839.html

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

相关文章

为深度学习引入张量

为深度学习引入张量 什么是张量? 神经网络中的输入、输出和转换都是使用张量表示的,因此,神经网络编程大量使用张量。 张量是神经网络使用的主要数据结构。 张量的概念是其他更具体概念的数学概括。让我们看看一些张量的具体实例。 张量…

Taro+Vue实现图片裁剪组件

cropper-image-taro-vue3 组件库 介绍 cropper-image-taro-vue3 是一个基于 Vue 3 和 Taro 开发的裁剪工具组件,支持图片裁剪、裁剪框拖动、缩放和输出裁剪后的图片。该组件适用于 Vue 3 和 Taro 环境,可以在网页、小程序等平台中使用。 源码 https:…

[DO374] Ansible 配置文件

[DO374] Ansible 配置文件 1. 配置文件位置2. 配置文件3. Ansible 配置4. Ansible的Ad-hoc5. Ansible 模块6. playbook段落7. 任务执行后续8. Ansible 变量8.1 ansible 变量的定义8.1.1 主机变量8.1.2 主机组变量 8.2 vars的循环 9. Ansible Collection10. Ansible-galaxy 安装…

[程序设计]—代理模式

[程序设计]—代理模式👳 本文章记录学习于——52.面向切面:AOP-场景模拟_哔哩哔哩_bilibili 最近闲来无事,在学习Spring的源码: 后面慢慢更新源码系列blog,希望多多关注🙏🙏 目前已经总结的b…

OSPF - 2、3类LSA(Network-LSA、NetWork-Sunmmary-LSA)

前篇博客有对常用LSA的总结 2类LSA(Network-LSA) DR产生泛洪范围为本区域 作用:  描述MA网络拓扑信息和网络信息,拓扑信息主要描述当前MA网络中伪节点连接着哪几台路由。网络信息描述当前网络的 掩码和DR接口IP地址。 影响邻居建立中说到…

景芯SOC设计实战

终身辅导、一对一辅导,手把手教您完成SoC全流程设计,从入门到进阶,带您掌握SoC芯片架构、算法、设计、验证、DFT、后端及低功耗全流程!直播视频不定期升级!让您快速超越同龄人! 景芯团队主打文档服务器实战…

多云架构,JuiceFS 如何实现一致性与低延迟的数据分发

随着大模型的普及,GPU 算力成为稀缺资源,单一数据中心或云区域的 GPU 资源常常难以满足用户的全面需求。同时,跨地域团队的协作需求也推动了企业在不同云平台之间调度数据和计算任务。多云架构正逐渐成为一种趋势,然而该架构下的数…

如何获取文件的MIME类型

文章目录 1. 概念介绍2. 方法与类型2.1 使用方法2.2 常见类型3. 示例代码4. 内容总结我们在上一章回中介绍了"如何加载本地图片"相关的内容,本章回中将介绍如何获取文件类型.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在本章回中提到的文件类型是指MI…

【Uniapp-Vue3】computed计算属性用法及方法对比

如果我们想要将两个响应式变量进行某种运算,就可以使用computed计算属性。 比如下面这个例子中,输入名和姓合成全名,可以用直接显示的方法: 我们也可以使用computed属性: import {computed} from "vue"; le…

C#实现凸壳算法

凸壳计算代码: public static PointD[] calcConvexHull(PointD[] points) {// 按 x 坐标对点进行排序Array.Sort(points, (p1, p2) => p1.X.CompareTo(p2.X));// 创建下凸壳var lowerHull = new List<PointD>();foreach (var point in points){while (lowerHull.Co…

设计模式 行为型 状态模式(State Pattern)与 常见技术框架应用 解析

状态模式&#xff08;State Pattern&#xff09;是一种行为型设计模式&#xff0c;它允许对象在内部状态改变时改变其行为&#xff0c;使得对象看起来好像修改了它的类。这种设计模式的核心思想是将对象的状态和行为封装成不同的状态类&#xff0c;通过状态对象的行为改变来避免…

SAP SD学习笔记27 - 贩卖契约(框架协议)2 - 基本契约 - 金额契约(价值合同)

上一章讲了贩卖契约&#xff08;框架协议&#xff09;的概要&#xff0c;以及贩卖契约中最为常用的 基本契约 - 数量契约。 SAP SD学习笔记26 - 贩卖契约(框架协议)的概要&#xff0c;基本契约 - 数量契约-CSDN博客 本章继续讲SAP中的内容&#xff1a; - 基本契约 - 金额契约…

mysql之基本select语句 运算符 排序分页

1.SQL的分类 DDL:数据定义语言. CREATE ALTER DROP RENAME TRUNCATE DML: 数据操作语言. INSERT DELETE UPDATE SELECT 重中之重 DCL: 数据控制语言. COMMIT ROLLBACK SAVEPOINT GRANT REVOKE 2.SQL语言的规则与规范 1.基本规则 SQL可以在一行或多行,为了提高可…

Linux中SSH服务(二)

一、基于公私钥的认证&#xff08;免密登录&#xff09; 1、Windows免密登录Linux Windows推荐安装Cygwin软件&#xff1a;Cygwin 1.1Windows上面生成公私钥 之前已经生成过了&#xff0c;所以显示公私钥已存在 lovezywLAPTOP-AABHB5ED ~ $ ssh-keygen Generating public/pr…

.NET Core NPOI 导出图片到Excel指定单元格并自适应宽度

NPOI&#xff1a;支持xlsx&#xff0c;.xls&#xff0c;版本>2.5.3 XLS&#xff1a;HSSFWorkbook&#xff0c;主要前缀HSS&#xff0c; XLSX&#xff1a;XSSFWorkbook&#xff0c;主要前缀XSS&#xff0c;using NPOI.XSSF.UserModel; 1、导出Excel添加图片效果&#xff0…

NS2202X 系列 40V 输入 OVP 保护 IC

1 特性  最大输入电压&#xff1a; 40V  内部预设 2.1A 负载过流 OCP 保护  外置过流保护阈值可调节引脚&#xff0c;可悬空  外置 EN 使能控制引脚  内部预设 6V 输入过压 OVP 保护  输入 OVP 保护响应时间 20ns  内置 150 ℃过温…

Web前端基础知识(七)

要在JS中获取元素节点&#xff0c;需要使用DOM API提供的方法。 innerHTML&#xff1a;不仅会返回一个纯文本&#xff0c;还可以解析一下这个文本中的语意。 innerText: 忽略HTML标记。 举例&#xff1a; <body> <div id"box1">这是一个ID选择器标签…

[Transformer] The Structure of GPT, Generative Pretrained Transformer

The Structure of Generative Pretrained Transformer Reference: The Transformer architecture of GPT models How GPT Models Work

欧拉公式和傅里叶变换

注&#xff1a;英文引文机翻&#xff0c;未校。 中文引文未整理去重&#xff0c;如有异常&#xff0c;请看原文。 Euler’s Formula and Fourier Transform Posted byczxttkl October 7, 2018 Euler’s formula states that e i x cos ⁡ x i sin ⁡ x e^{ix} \cos{x} i …

【python基础——异常BUG】

什么是异常(BUG) 检测到错误,py编译器无法继续执行,反而出现错误提示 如果遇到错误能继续执行,那么就捕获(try) 1.得到异常:try的执行,try内只可以捕获一个异常 2.预案执行:except后面的语句 3.传入异常:except … as uestcprint(uestc) 4.没有异常:else… 5.鉴定完毕,收尾的语…