HAWK:学习理解开放世界视频异常(HAWK: Learning to Understand Open-World Video Anomalies)

摘要

问题

  • 现有VAD系统是对场景肤浅的语义理解
  • 有限的用户交互
  • 数据集中的数据稀缺限制在开放世界场景中的使用

注释工作

  • 对超过8000个异常视频进行了语言描述的注释
  • 并创建了8000个QA对

HAWK方法

HAWK是利用交互式大型视觉语言模型(VLM)来解释异常的新框架。

  • 明确整合运动模态来增强异常识别
  • 构建辅助一致性损失来增强运动注意力,即让视频分支更关注于运动模态
  • 建立运动与语言表示之间的监督来提高运动到语言的解释能力

实验结果

HAWK在视频描述生成和问答任务中实现了最先进的性能,超越了现有的基准系统

开源

数据集

一、引言

图1:在VAD中不同的架构。

  • (A)是传统的VAD,他使用一个二分类器来检测异常
  • (B)是使用多分类器整合语义信息来给出对不同类型的异常信息,仅限于检测异常帧
  • (C)是之前的视频理解框架,可以交互式的为用户提供丰富的语义信息(但更多关注的是长距离上下文信息,而不是异常信息),但是不能准确定位异常(因为主要依赖伪标签)
  • (D)为本文提出的方法,提高了异常理解能力,并使用带有丰富语义信息的注释标签来训练

在这里插入图片描述

1.1 问题

  1. 如图1(A)所示,对场景的语义理解较浅,用户交互不足
  2. 如图1(B)所示,仅限于检测异常帧,仍需进一步手动分析来理解异常
  3. 如图1(C)所示,主要依赖于伪标签进行训练,更多关注长距离上下文信息,而不是与异常相关特征

1.2 提出HAWK方法

HAWK是一个交互式VLM(interactive large visual-language model),用于精确理解视频异常,如图1(D)所示。

  1. 正常视频和异常视频中的运动差异显著。通过双分支框架显式集成运动模态,以增强对异常的理解(4.1)
  2. 增强运动注意力。基于原始视频(外观特征)和其运动之间的互信息,在紧空间中构建了一个辅助一致性损失(4.2)隐式引导视频分支关注运动相关特征
  3. 增强运动与相应语言的解释。从原始描述中提取与运动相关的语言(动词及其实体),以监督运动的视觉和语言表示(4.3)。

1.3 数据集处理

  1. 从7个数据集收集
  2. 为每个视频生成语言描述
  3. 利用描述生成QA对——用于训练

想要更接近开放世界场景

1.4 训练

  1. 在 WebVid上进行预训练,使其能理解一般视频
  2. 在提出的数据集上进行微调,增强其在多个场景中对异常的理解

与基准相比,模型在文本级别GPT 引导指标中都实现了最先进的性能。文本级别应该指的是生成的描述质量如何。GPT引导指标应该指的是模型回答问题回答的怎么样。

1.5 贡献

  1. 提出HAWK,集成运动模态
  2. 为7个数据集生成语言描述和QA对
  3. HAWK在多个场景中展现了最先进的视频异常理解和问答性能

二、相关工作

2.1 视频异常检测

提出的框架不仅集成了更全面的语义信息,而且为用户提供了先进的交互能力

2.2 在视频理解方面的大模型

在提出的模型中引入运动模态,优先考虑相关的视频内容

三、数据工程

不仅可以理解视频中多种异常情况,还支持开放场景下的问答 \color{red}{不仅可以理解视频中多种异常情况,还支持开放场景下的问答} 不仅可以理解视频中多种异常情况,还支持开放场景下的问答

图2:数据集生成的流程。

  • 第一行,首先将视频分割为片段密集片段并生成描述,然后通过将 描述 + prompt 输入给GPT4来生成与异常视频相关的描述,并且要人工检查出错误的
  • 第二行,将 两个原则 + prompt 输入个GPT4来生成问题,并通过人工选出最合适的100个问题,将他们随机分给不同的视频,然后将上面的 描述 + 问题 + prompt 输入给GPT4来生成答案

在这里插入图片描述

3.1 原理

3.1.1 语言描述

对7个数据集进行详细的语言描述标注,涵盖了多种异常场景:

  • 犯罪(UCF-Crime)
  • 校园(ShanghaiTech、CUHK Avenue)
  • 人行道(UCSD Ped1、Ped2)
  • 交通(DoTA)
  • 人类行为(UBnormal)

各种异常场景进行全面的微调,使其更接近开放世界场景

3.1.2 开放性问题

每种场景构建了开放式的QA对,进一步增强模型对用户各种问题的实际回答能力。过程如图2所示。数据格式如下:

在这里插入图片描述

3.2 异常视频描述生成

  1. 首先将视频拆分为密集的片段,确保捕捉到关键信息
  2. 使用感知工具(InternVideo、Tag2Text、GRiT)自动生成每个片段的描述(UCF-Crime本身就有)
  3. 将 描述 + prompt(生成与视频异常相关的具体描述)给GPT-4来为每个视频生成与异常相关的描述
  4. 人工检查不准确的标注

3.3 以人为中心的QA对生成

虽然已经获得准确的异常视频描述。但仍可能面临用户提出的更开放性问题的挑战。

3.3.1 两个原则

  1. 与异常相关:问题应与视频中的异常紧密相关
  2. 5W2H:What、Who、Where、When、How、How much和Why

3.3.2 流程

  1. 将 两个原则 + prompt 输入GPT-4来生成异常视频的开放性问题
  2. 人工选择出最合适的100个问题,随机分配给每个视频
  3. 将 问题 + prompt 输入GPT-4来为 <Q U E S T I O N S \rm{UESTIONS} UESTIONS> 生成 <A N S W E R S \rm{NSWERS} NSWERS>

四、方法

以前的方法对视频中所有部分给予同等的注意,忽略了异常特征。

方法旨在将异常准确的解释为自然语言。

方法的核心为引导视觉指令专注于异常。因为以前的研究证明运动相关特征有助于识别多个异常,所以接下来会围绕着运动模态。

图3:HAWK概述。在训练过程中,旨在优化3个损失:

  • 原始视频到语言匹配损失是为了生成一般性的语言描述吗?
  • 原始视频到运动一致性损失,是为了让原始视频更关注与运动相关的
  • 运动到语言匹配损失,是为了让模型更好的描述运动

在这里插入图片描述

4.1 显式集成运动模态

HAWK专门集成了运动模态,采用双分支架构:

  • f v f_v fv 表示原始视频理解网络
  • f m f_m fm 表示运动理解
  • 两者架构相同但参数独立

整体框架如下:
在这里插入图片描述

  • X v ∈ R T × C × H × W \mathbf{X_v} \in \mathbb{R}^{T\times C\times H\times W} XvRT×C×H×W 表示用于提取外观特征的<VIDEO>输入
    • T T T 表示时间维度
  • X m = M ( X v ) \mathbf{X_m}=M(\mathbf{X_v}) Xm=M(Xv) 表示用于提取运动特征的<VIDEO>输入
    • M ( ⋅ ) M(·) M() 表示运动提取器
  • f m f_m fm f v f_v fv 表示来自 BLIP-2 的冻结预训练视频编码器,用于输出嵌入
    • 一个 EVA-CLIP
    • 一个预训练的 Video Q-Former
  • P v ( ⋅ ) P_v(·) Pv() P m ( ⋅ ) P_m(·) Pm() 表示对于视频和运动的可学习的投影网络,旨在将视觉(视频和运动)嵌入 投影到 语言特征空间
  • f t ( ⋅ ) f_t(·) ft() 表示冻结的 文本标记到嵌入 的投影,旨在使文本信息可以输入到LLaMA-2中
  • ⊕ \oplus 表示 组合输入prompt
    • prompt为 “Here is the input video embedding: <VIDEO_EMBEDDING> and motion embedding <MOTION_EMBEDDING> in different frames, please help me to <DESCRIBE_VIDEO> | .”
    • <DESCRIBE_VIDEO> 是视频描述生成的问题类别
    • <QUESTION> 是视频问答的问题类别

通过结合 视觉标记嵌入 和 文本嵌入 f t ( T ) f_t(\mathbf{T}) ft(T) 输入给LLaMA-2 来生成最终的语言响应 Y \mathbf{Y} Y

4.2 隐式增强运动注意

上面虽然集成了运动模态来微调HAWK,但是视频分支和运动分支独立运行,所以视频分支不能提取出关注异常发生区域(运动)的外观特征。

4.2.1 提取运动

为了获得运动信息
在这里插入图片描述

  • M ( t ) ( ⋅ ) M^{(\mathrm t)}(·) M(t)() 表示在时间步 t \mathrm{t} t 的运动描述
    • 用于生成两个连续帧之间的运动
    • 使用 Gunnar Farneback 的算法
  • X v ( t ) \mathbf{X_v^{(t)}} Xv(t) X v ( t − 1 ) ∈ R 1 × C × H × W \mathbf{X_v^{(t-1)}} \in \mathbb{R}^{1\times C\times H\times W} Xv(t1)R1×C×H×W 表示在时间步 t \mathbf{t} t t − 1 \mathbf{t-1} t1 的视频帧
  • X M o t i o n ( t ) ∈ R 2 × H × W \mathbf{X_{Motion}^{(t)}} \in \mathbb R ^{2\times H\times W} XMotion(t)R2×H×W 包含两个运动向量
    • X \mathbf{X} X 方向(水平)
    • Y \mathbf{Y} Y 方向(竖直)

使用这些通道的光流幅度作为 M a s k \mathrm{Mask} Mask,归一化到 [ 0 , 1 ] [0, 1] [0,1],并与原始视频外观进行相乘,以遮蔽其他非运动区域
在这里插入图片描述

  • × \times × 表示逐像素相乘操作
  • X v ( t ) \mathbf{X_v^{(t)}} Xv(t) X m ( t ) ∈ R T × C × H × W \mathbf{X_m^{(t)}} \in \mathbb{R}^{T\times C\times H\times W} Xm(t)RT×C×H×W 表示在时间步 t \mathrm{t} t 的原始视频和运动信息
    • T T T 表示我们通常会提取 T T T

4.2.2 构建 L M V \mathcal L_{MV} LMV损失

图4:HAWK损失可视化。

  • ①表示原始的视频到语言损失
  • ②表示运动模态适应的余弦相似度损失
  • ③表示运动到语言损失

在这里插入图片描述

因为 X m \mathrm{X_{m}} Xm 仅包含关键的异常信息,且是从 X v \mathrm{X_{v}} Xv 中提取出来的,他们之间有一种包含关系。所以想要让外观特征(原始的视频)可以更加集中在运动区域的话,就将 X m \mathrm{X_{m}} Xm X v \mathrm{X_{v}} Xv 压缩到一个紧凑的空间
在这里插入图片描述

  • C v ( ⋅ ) C_v(·) Cv() 表示压缩函数
  • C v C_v Cv C m C_m Cm P v P_v Pv P m P_m Pm 共享一些初始的浅层参数(见图 3)
  • X v c = C v ( f v ( X v ) ) \mathbf{X_{v}^c} = C_v(f_v(\mathbf{X_{v}})) Xvc=Cv(fv(Xv)) 表示 X v \mathbf{X_{v}} Xv 通过压缩函数压缩后的紧凑表示
  • X m c = C m ( f m ( X m ) ) \mathbf{X_{m}^c} = C_m(f_m(\mathbf{X_{m}})) Xmc=Cm(fm(Xm)) 表示 X m \mathbf{X_{m}} Xm 通过压缩函数压缩后的紧凑表示

4.3 解释运动到语言

虽然HAWK引入了运动模态,但是运动与语言表示之间的对应关系不明确。

4.3.1 提取与运动相关的语言

有研究证明:语言中运动的表示主要来自动词及其相应的实体。

首先对原始句子进行 依赖关系分析:
在这里插入图片描述

  • D ( ⋅ ) D(·) D() 表示 依赖解析
  • Y g t \mathbf{Y_{gt}} Ygt 表示真实值
  • G g t \mathbf{G_{gt}} Ggt 表示 依赖结构图,表示句子中词汇之间的句法关系

根据 依赖结构图,可以提取动词 V \mathrm{V} V 以及相关的实体(主语 S \mathrm{S} S、宾语 O \mathrm{O} O、间接主语 S i \mathrm{S_i} Si、间接宾语 O i \mathrm{O_i} Oi),然后将这些元素组合成 表示运动的短语:
在这里插入图片描述

  • M l ( ⋅ ) M_l(·) Ml() 是运动语言提取器
  • Y g t m \mathbf{Y_{gt}^m} Ygtm 是与运动相关的语言

4.3.2 构建 L M L \mathcal L_{ML} LML损失

在视觉和语言表示中的运动之间建立强有力的监督,即运动-语言匹配(motion-language
matching)作为辅助损失:

在这里插入图片描述

  • L M L \mathcal L_{ML} LML 是交叉熵损失
  • N N N 表示单词数量

4.3.3 优化目标

总的损失函数为:
L = t 0 × L V L + t 1 × L M V + t 2 × L M L \mathcal{L}=\mathbf{t_0}\times \mathcal{L}_{VL}+\mathbf{t_1}\times \mathcal{L}_{MV}+\mathbf{t_2}\times \mathcal{L}_{ML} L=t0×LVL+t1×LMV+t2×LML

  • t 0 、 t 1 、 t 2 \mathbf{t_0}、\mathbf{t_1}、\mathbf{t_2} t0t1t2 是超参数
  • L V L \mathcal{L}_{VL} LVL 是原始视频到语言匹配损失,如图4①
  • L M V \mathcal{L}_{MV} LMV 是原始视频到运动一致性损失,如图4②
  • L M L \mathcal{L}_{ML} LML 是运动到语言匹配损失,如图4③

五、实验

5.1 训练与测试

图5:训练和测试。

在这里插入图片描述

分为3个阶段:

5.1.1 预训练

在 WebVid 数据集上进行预训练来获取对视频内容的一般性理解

5.1.2 微调

使用8,000 个视频微调模型的异常理解能力:

  • 90% 用于训练
  • 10% 用于测试

在这个阶段,联合训练两个任务:

  1. 视频描述生成
  2. 视频问题回答

5.1.3 评估

在测试集中独立评估这两个任务,以确保模型的有效性

5.2 基线方法

选择了5个SOTA方法:VideoChatGPT, VideoChat, Video-LLaMA, LLaMA-Adapter, 和Video-LLaVA

5.3 评估指标

5.3.1 4个文本级指标

从 BLEU (Bilingual Evaluation Understudy)-1 到 BLEU-4,测量模型生成文本与真实文本之间的词汇重叠

  • 客观地评估文本的相似度
  • 考虑文本级别的不同粒度

5.3.2 GPT-guided 评估

对语言的三个主要方面进行打分,每个方面的评分范围为 0 到 1:

  • 合理性:逻辑推理和连贯性
  • 细节:详细程度和具体性
  • 一致性:一致性和连贯性

旨在提供对文本质量更细致的理解

5.4 定量评估

生成的文本更贴近实际场景

表1:定量评估baseline和HAWK方法的性能。

  • (A)表示对 异常视频描述生成 的各指标比较
  • (B)表示对 视频问题回答 的各指标比较
  • 红色是第一,蓝色是第二
    在这里插入图片描述

5.5 定性评估

HAWK 能够准确理解并集中于视频异常

表2:定性评估baseline和HAWK方法的性能。

  • (A)表示对 异常视频描述生成 的各指标比较
  • (B)表示对 视频问题回答 的各指标比较
  • 红色表示关键语义信息不一致
  • 绿色表示生成结果与真实值很接近
  • 黄色表示生成结果存在的问题

在这里插入图片描述

5.6 消融实验

对3个关键结构进行实验,在表3中分析了它们对整体性能的影响。

表3:两种任务的消融实验的定量评估。

  • (A)表示对 异常视频描述生成 的消融实验
  • (B)表示对 视频问题回答 的消融实验
  • 红色是第一,蓝色是第二

在这里插入图片描述

表4:两种任务的消融实验的定性评估。

  • 红色表示关键语义信息不一致
  • 绿色表示生成结果与真实值很接近
  • 黄色表示生成结果存在的问题

在这里插入图片描述

5.6.1 运动信息 的影响

去掉 f m 、 P m 、 X m f_m、P_m、\mathbf{X_m} fmPmXm 之后,模型甚至出现联想,如表4,对整体性能的影响如表3

5.6.2 视频-运动的一致性 的影响

削弱了模型对运动模态的适应能力,导致难以准确理解运动场景

5.6.3 运动到语言匹配 的影响

运动与语言之间的关联变得不明确,导致生成的语言包含不明确的运动信息

六、结论

  1. 开发新的视频-语言框架HAWK
  2. 它可以理解各种场景中的视频异常
  3. 它融合运动特征和构建丰富的语言描述,在开放世界中表现出了最先进的性能
  4. 它为提升模型与用户的互动奠定了基础
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值