摘要
问题
- 现有VAD系统是对场景
肤浅的语义理解
有限的用户交互
- 数据集中的
数据稀缺
限制在开放世界场景中的使用
注释工作
- 对超过8000个异常视频进行了
语言描述的注释
- 并创建了8000个
QA对
HAWK方法
HAWK是利用交互式大型视觉语言模型
(VLM)来解释异常的新框架。
- 明确整合
运动模态
来增强异常识别 - 构建
辅助一致性损失
来增强运动注意力,即让视频分支更关注于运动模态 - 建立运动与语言表示之间的监督来提高
运动到语言的解释
能力
实验结果
HAWK在视频描述生成和问答任务中实现了最先进的性能,超越了现有的基准系统
开源
一、引言
图1:在VAD中不同的架构。
- (A)是传统的VAD,他使用一个二分类器来检测异常
- (B)是使用多分类器整合语义信息来给出对不同类型的异常信息,
仅限于检测异常帧
- (C)是之前的视频理解框架,可以交互式的为用户提供丰富的语义信息(但
更多关注的是长距离上下文信息,而不是异常信息
),但是不能准确定位异常(因为主要依赖伪标签)- (D)为本文提出的方法,提高了异常理解能力,并
使用带有丰富语义信息的注释标签来训练
1.1 问题
- 如图1(A)所示,对场景的语义理解较浅,用户交互不足
- 如图1(B)所示,仅限于检测异常帧,仍需进一步手动分析来理解异常
- 如图1(C)所示,主要依赖于伪标签进行训练,更多关注长距离上下文信息,而不是与异常相关特征
1.2 提出HAWK方法
HAWK是一个交互式VLM
(interactive large visual-language model),用于精确理解视频异常,如图1(D)所示。
- 正常视频和异常视频中的运动差异显著。通过双分支框架
显式集成运动模态
,以增强对异常的理解(4.1) - 增强运动注意力。基于原始视频(外观特征)和其运动之间的互信息,在紧空间中构建了一个辅助一致性损失(4.2)
隐式引导视频分支关注运动相关特征
- 增强运动与相应语言的解释。从原始描述中提取与运动相关的语言(动词及其实体),以
监督运动的视觉和语言表示
(4.3)。
1.3 数据集处理
- 从7个数据集收集
- 为每个视频生成语言描述
- 利用描述生成QA对——用于训练
想要更接近开放世界场景
1.4 训练
- 在 WebVid上进行预训练,使其能理解一般视频
- 在提出的数据集上进行微调,增强其在多个场景中对异常的理解
与基准相比,模型在文本级别
和 GPT 引导指标
中都实现了最先进的性能。文本级别应该指的是生成的描述质量如何。GPT引导指标应该指的是模型回答问题回答的怎么样。
1.5 贡献
- 提出HAWK,集成运动模态
- 为7个数据集生成语言描述和QA对
- 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 异常视频描述生成
- 首先将视频拆分为
密集的片段
,确保捕捉到关键信息 - 使用感知工具(InternVideo、Tag2Text、GRiT)
自动生成每个片段的描述
(UCF-Crime本身就有) - 将 描述 + prompt(生成与视频异常相关的具体描述)给
GPT-4
来为每个视频生成与异常相关的描述
人工
检查不准确的标注
3.3 以人为中心的QA对生成
虽然已经获得准确的异常视频描述。但仍可能面临用户提出的更开放性问题的挑战。
3.3.1 两个原则
与异常相关
:问题应与视频中的异常紧密相关5W2H
:What、Who、Where、When、How、How much和Why
3.3.2 流程
- 将 两个原则 + prompt 输入GPT-4来生成
异常视频的开放性问题
人工
选择出最合适的100个
问题,随机分配给每个视频- 将 问题 + 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}
Xv∈RT×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(t−1)∈R1×C×H×W 表示在时间步 t \mathbf{t} t 和 t − 1 \mathbf{t-1} t−1 的视频帧
-
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} t0、t1、t2 是超参数
- 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% 用于测试
在这个阶段,联合训练两个任务
:
- 视频描述生成
- 视频问题回答
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
,测量模型生成文本与真实文本之间的词汇重叠
- 客观地评估文本的相似度
- 考虑文本级别的不同粒度
BLEU评分评估机器翻译质量,BLEU-1到BLEU-4分别使用1-gram(一个词)到4-gram(四个词)匹配。BLEU-1关注单词匹配,BLEU-2引入短语匹配,BLEU-3和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} fm、Pm、Xm 之后,模型甚至出现联想,如表4,对整体性能的影响如表3
5.6.2 视频-运动的一致性 的影响
削弱了模型对运动模态的适应能力,导致难以准确理解运动场景
5.6.3 运动到语言匹配 的影响
运动与语言之间的关联变得不明确,导致生成的语言包含不明确的运动信息
六、结论
- 开发新的视频-语言框架HAWK
- 它可以理解各种场景中的视频异常
- 它融合运动特征和构建丰富的语言描述,在开放世界中表现出了最先进的性能
- 它为提升模型与用户的互动奠定了基础