【arxiv 2024】VideoGPT+: Integrating Image and Video Encoders for Enhanced Video Understanding
一、前言
Authors: Muhammad Maaz, Hanoona Rasheed, Salman Khan, Fahad Khan
Mohamed bin Zayed University of AI, UAE
【Paper】 > 【Github_Code】 > 【Project】
整体架构由 (i) 分段采样、(ii) 双视觉编码器、(iii) 将视觉特征投射到语言域的视觉语言适配器和 (iv) 大型语言模型组成。
其他贡献包括VCG+,112K 数据集和VCGBench-Diverse
Abstract
背景问题:
基于语言模型的进步,大型多模态模型 (LMM) 在视频理解方面做出了重大改进。虽然当前的视频 LMM 使用先进的大语言模型 (LLM),但它们依赖图像或视频编码器来处理视觉输入,而每种编码器都有其自身的局限性。图像编码器擅长从帧序列中捕获丰富的空间细节,但缺乏明确的时间上下文,这在具有复杂动作序列的视频中非常重要。另一方面,视频编码器提供时间上下文,但通常受到计算约束的限制,导致仅以较低分辨率处理稀疏帧,从而导致上下文和空间理解减少。
方法:
为此,我们引入了VideoGPT+,它结合了图像编码器(用于详细的空间理解)和视频编码器(用于全局时间上下文建模)的互补优势。该模型通过将视频分成更小的片段来处理视频,并对图像和视频编码器提取的特征应用自适应池化策略。
实验、数据集、Benchmark:
我们的架构在多个视频基准测试中展示了改进的性能,包括 VCGBench、MVBench 和零样本问答。此外,我们使用新颖的半自动注释管道开发了 112K 视频指令集,进一步提高了模型性能。此外,为了全面评估视频 LMM,我们推出了 VCGBench-Diverse,涵盖 18 个广泛的视频类别,例如生活方式、体育、科学、游戏和监控视频。该基准包含 4,354 个问答对,评估了现有 LMM 在密集视频字幕、空间和时间理解以及复杂推理方面的泛化能力,确保对不同视频类型和动态进行全面评估。
1 Introduction
现有的视频理解方法通常仅依赖于图像编码器或视频编码器[1,2,3]。大多数工作都集中在图像编码器上,它们对多个帧进行编码,并在将它们传递给大语言模型之前融合信息或连接嵌入。融合信息时,通常使用空间或时间池[1]。空间池化在捕获视频信息方面显示出最小的有效性,而时间池化保留了一些空间信息,但缺乏明确的时间上下文。另一方面,由于 LLM 需要扩展上下文长度,在没有池化的情况下连接嵌入 [2,3,4] 会迅速增加计算复杂性,从而限制了可以处理的帧数量。虽然这种方法提供了更好的空间表示,但整体上下文仍然仅限于少数帧。有限的上下文导致对视频的理解很差,特别是在采用统一采样策略的情况下,因为它只捕获视频的一小部分,错过了重要的时间动态。
为了应对这些挑战,我们提出了VideoGPT+,它有效地结合了图像和视频编码器的优点(见图2)。通过利用图像编码器来获取丰富的空间细节和视频编码器来获取全局时间上下文,我们的模型提高了视频理解能力。为了在 VideoGPT+ 中对细粒度时间动态进行建模,我们使用分段采样策略segment-wise sampling strategy。与现有视频 LMM [1] 中使用的均匀采样(可能会错过重要的时间动态)不同,我们的方法将视频划分为更小的片段并应用分段采样。这确保了模型从视频的不同片段捕获代表性信息,从而实现更全面的理解。
为了促进图像和视频功能的集成,VideoGPT+ 引入了视觉适配器模块visual adapter module,结合了它们的互补优势。该模块执行投影和池化操作,将图像和视频特征映射到公共空间,同时降低计算复杂性。通过以这种方式对齐特征,该模型可以有效地利用组合的空间和时间信息来提高视频理解。
我们在多个视频对话基准测试中证明了 VideoGPT+ 的有效性,包括 VCGBench [1]、MVBench [7] 和零样本问答 [1],它优于以前的 SoTA 方法(见图 1)。此外,我们使用新颖的半自动注释管道(见图 3)开发了 VCG+ 112K,该管道提供密集的视频字幕以及空间理解和基于推理的问答 (QA) 对,进一步增强了模型的性能。我们还提出了 VCGBench-Diverse,通过包含来自 18 个不同领域的视频来扩展 VCGBench [1],以广泛评估不同领域中基于视频的对话模型(见图 4)。
我们的工作有三个主要贡献:
- 我们提出了VideoGPT+,这是第一个受益于基于图像和视频特征的双编码方案的视频对话模型。这些免费的功能集提供丰富的时空细节,以提高视频理解(第 3 节)。
- 为了解决现有 VideoInstruct100K 数据集 [1] 的局限性,我们开发了带有新颖半自动注释管道的 VCG+ 112K,提供密集的视频字幕以及空间理解和基于推理的 QA 对,进一步提高了模型性能(第 4 节) 。
- 认识到视频对话任务缺乏多样化的基准,我们提出了 VCGBench-Diverse,它提供了 18 个视频类别的 4,354 个人工注释的 QA 对,以广泛评估视频对话模型的性能(第 5 节)。
2 Related Works
大语言模型以语言模型的进步为基础,为各种多模式应用程序提供了灵活的接口。基于图像的对话模型的早期工作,例如 BLIP-2 [8]、MiniGPT-4 [9] 和 LLaVA [10, 11],通过可学习模块将图像特征投射到语言空间中,并针对视觉对话功能进行指令调整。其他努力将这些模型扩展到视觉基础任务 [12,13,14],探索大语言模型在复杂视觉任务中的潜力。
Video Conversation Models: \textbf{Video Conversation Models:} Video Conversation Models:Video-ChatGPT \cite{Maaz2023VideoChatGPT} 和 Video-LLaMA \cite{damonlpsg2023videollama} 等初始作品通过引入对时间特征进行编码的组件将基于图像的模型扩展到视频领域,其中帧级视觉特征被馈送到 LLM。然而,这在计算上是昂贵的并且很快就会填满其上下文窗口。为了解决这个问题,Video-ChatGPT \cite{Maaz2023VideoChatGPT} 采用了空间和时间池。 LLaMA-Vid \cite{llamavid} 提出用两个标记、上下文和内容来表示单个图像。 IG-VLM \cite{kim2024image} 将视频视为图像网格,而 LITA \cite{huang2024lita} 采用慢-快令牌池来减少视觉特征的数量。 Chat-UniVi \cite{jin2023chatunivi} 使用空间和时间维度上的聚类来合并标记,VideoChat \cite{2023videochat} 使用 Q-Former \cite{li2023blip} 通过交叉关注视觉来学习固定数量的查询特征。 MobileVLM \cite{chu2023mobilevlm, chu2024mobilevlm} 利用轻量级 CNN 来减少空间维度。其他值得注意的方法包括 \cite{bt_adapter,video-llava,munasinghe2023PGVideoLLaVA,song2023moviechat,huang2023vtimellm}。
或者,VideoChat2 \cite{li2023mvbench} 等方法使用预训练的视频编码器。尽管视频编码器提供时间上下文,但它们受到计算约束的限制,在较低分辨率下以有限的帧进行操作,限制了时间上下文和空间理解。我们的 VideoGPT+ 模型通过使用分段采样并有效结合图像和视频编码器的优点来捕获丰富的内容来解决这些问题
空间和时间细节(见图2)。
Video Instruction Tuning Datasets: \textbf{Video Instruction Tuning Datasets:} Video Instruction Tuning Datasets:VideoChat \cite{2023videochat} 使用来自 WebVid-10M \cite{bain2021frozen} 的视频构建了一个由 7K 条指令组成的视频指令调整数据集。 Video-ChatGPT \cite{Maaz2023VideoChatGPT} 引入了半自动注释管道,使用 ActivityNet \cite{caba2015activitynet} 中的视频生成 VideoInstruct100K。 VideoChat2 \cite{li2023mvbench} 结合了多个现有图像和视频数据集,开发了 1.9M 联合图像视频指令调整数据集。在我们的实验中,我们使用 VideoInstruct100K 和 VideoChat2 数据集的子集。此外,为了解决 VideoInstruct100K 数据集 \cite{Maaz2023VideoChatGPT} 的局限性,我们通过一种新颖的半自动注释管道开发VCG+,112K,该管道提供密集的视频字幕以及针对推理、空间和时间理解的 112K QA 对,这进一步提高了模型对视频内容的理解(见图3)。
Video
Conversation
Benchmarks:
\textbf{Video Conversation Benchmarks:}
Video Conversation Benchmarks:Video-ChatGPT \cite{Maaz2023VideoChatGPT} 引入了 VCGBench 和零样本 QA 基准,其中 VCGBench 包括 500 个视频和 3000 个 QA 对,并使用 GPT-3.5 跨各种指标进行评估。尽管进行了全面的评估,但它仅包含来自 ActivityNet 数据集的视频。零样本评估涵盖 MSVD-QA \cite{msvd}、MSR-VTT-QA \cite{msvd}、TGIF-QA \cite{TGIF} 和 ActivityNet-QA \cite{caba2015activitynet}。
MVBench \cite{li2023mvbench} 由评估 20 个时间任务的 4K QA 对组成,尽管它主要包括平均 5-40 秒的短视频。考虑到现有基准测试的局限性,通常缺乏对泛化性和多样性的关注,我们提出了 VCGBench-Diverse,包含来自 18 个领域的 877 个视频的 4,354 个 QA 对(见图4)。
3 Method
为了有效地理解视频,将详细的空间信息与明确的时间上下文相结合至关重要。为了实现这一目标,我们提出了 VideoGPT+,它采用双编码器设计,利用图像编码器和视频编码器的互补优势。
Overall Architecture \textbf{Overall Architecture} Overall Architecture:整体架构由 (i) 分段采样、(ii) 双视觉编码器、(iii) 将视觉特征投射到语言域的视觉语言适配器和 (iv) 大型语言模型组成。通过分段采样策略选择的帧通过由图像和视频编码器组成的双编码器进行编码。两组特征都使用视觉语言 (V-L) 适配器投影到语言空间,并且生成的标记通过自适应标记池进行池化,并在馈送到 LLM 之前连接起来(参见图2)。
Segment-wise Sampling: \textbf{Segment-wise Sampling:} Segment-wise Sampling:为了提取细粒度的时间线索,我们使用分段帧采样策略。给定一个输入视频 V ∈ R T × H × W × C \mathbf{V} \in \mathbb{R}^{T \times H \times W \times C} V∈RT×H×W×C,我们将其分为 K K K段,其中每个段由 n = T K n = \frac{T}{K} n=KT帧。因此,视频可以表示为 V = [ V k ] k = 1 K \mathbf{V} = [\mathbf{V}_k]_{k=1}^K V=[Vk]k=1K。每个段 V k ∈ R n × H × W × C \mathbf{V}_k \in \mathbb{R}^{n \times H \times W \times C} Vk∈Rn×H×W×C可以描述为帧序列 X i \mathbf{X}_i Xi,其中 V k = [ X i , j ] j = 1 n \mathbf{V}_k = [\mathbf{X}_{i, j}]_{j=1}^{n} Vk=[Xi,j]j=1n。视频片段被下采样到较低的分辨率 n × h × w × c n \times h \times w \times c n×h×w×c以进行视频编码。
与均匀采样相比,分段采样更符合我们的双编码器设计。视频编码器通常面临计算限制,限制它们只能处理稀疏帧。均匀采样增加了自注意力计算的复杂性,因为它需要关注所有帧的特征。此外,视频编码器通常使用稀疏帧进行训练,提供更多帧可能会阻碍其准确捕获时间信息的能力。相比之下,分段采样策略将视频划分为更小的、可管理的片段,使视频编码器能够有效地捕获每个片段内丰富的时间线索。
Dual Vision Encoder: \textbf{Dual Vision Encoder:} Dual Vision Encoder:我们的设计利用了捕获详细空间特征的图像编码器和提供显式时间上下文的视频编码器的互补优势。图像编码器 g g g,处理 T T T帧, g ( X ) ∈ R T × H g × W g × D g g(\mathbf{X}) \in \mathbb{R}^{T \times H_g \times W_g \times D_g} g(X)∈RT×Hg×Wg×Dg,产生提供帧的局部特征级上下文。同时,视频编码器 h h h对低分辨率视频片段 V k \mathbf{V}_k Vk进行操作,产生提供分段上下文的全局特征, h ( V k ) ∈ R n × h h × w h × D h h(\mathbf{V}_k) \in \mathbb{ R}^{n \times h_h \times w_h \times D_h} h(Vk)∈Rn×hh×wh×Dh.
VideoGPT+ 的主要目标是利用预先训练的 LLM 的功能以及来自预先训练的图像编码器和预先训练的视频编码器的视觉模式。具体来说,我们利用预训练的 CLIP 模型 ViT-L/14 ( 336 × 336 336\times336 336×336) \cite{clip} 作为图像编码器,并使用 InternVideo-v2 ( 224 × 224 224\times224 224×224) \cite{wang2024internvideo2} 作为视频编码器。选择这些模型是因为它们具有强大的性能以及在捕获空间和时间信息方面相互补充的能力。两种编码器都使用对比损失在多模态设置中的大规模数据集上进行了预训练,从而促进它们在我们的架构中的集成。
Visual
Adapter:
\textbf{Visual Adapter:}
Visual Adapter:图像和视频编码器倒数第二层的输出嵌入分别通过单独的 V-L 投影层
W
g
W_g
Wg和
W
h
W_h
Wh。这些多层感知器 (MLP) 将视觉特征投射到语言空间中。投影层是可训练的,而视觉编码器保持冻结状态,保留丰富的预训练表示。投影的嵌入被重新整形回网格形式,并接受
2
×
2
2\times2
2×2自适应令牌池,该池在局部和全局特征的空间维度上运行。这种池化将令牌长度减少了 4 倍,从而允许在同一 LLM 上下文窗口中适应更大的视觉上下文。
来自局部特征的池化嵌入形成
E
i
m
g
∈
R
T
×
h
g
×
w
g
×
D
t
\mathbf{E}^{img} \in \mathbb{R}^{T \times h_g \times w_g \times D_t}
Eimg∈RT×hg×wg×Dt,而来自每个全局特征的池化嵌入分段形式
E
v
i
d
∈
R
n
×
h
h
×
w
h
×
D
t
\mathbf{E}^{vid} \in \mathbb{R}^{n \times h_h \times w_h \times D_t}
Evid∈Rn×hh×wh×Dt.
Large
Language
Model:
\textbf{Large Language Model:}
Large Language Model:我们通过将嵌入
E
i
m
g
\mathbf{E}^{img}
Eimg与
K
K
K分段嵌入
E
v
i
d
\mathbf{E}^{vid}
Evid连接来获得最终表示,这样我们就可以在所有分段上获得详细的空间表示其次是他们的全球时间背景。然后,我们将用户文本查询的文本嵌入
E
t
e
x
t
∈
R
L
×
D
t
\mathbf{E}^{text} \in \mathbb{R}^{L \times D_t}
Etext∈RL×Dt与视觉嵌入连接起来,
E
=
[
E
i
m
g
,
E
1
v
i
d
,
…
,
E
K
v
i
d
,
E
t
e
x
t
]
.
\begin{equation} \mathbf{E} = [\mathbf{E}^{img}, \mathbf{E}_1^{vid}, \ldots, \mathbf{E}_K^{vid}, \mathbf{E}^{text}]. \end{equation}
E=[Eimg,E1vid,…,EKvid,Etext].这种集成确保 LLM 接收一系列嵌入,其中包括来自图像编码器的详细空间特征和来自视频编码器的全面时间上下文,从而实现强大的视频理解。 LLM 使用 LoRA \cite{hu2021lora} 以自回归方式进行微调,并具有下一个令牌预测损失。详细说明请参考Fig.2。
4 Dataset
Video-ChatGPT \cite{Maaz2023VideoChatGPT} 引入了 VideoInstruct100K 数据集,该数据集采用半自动注释管道来生成 75K 指令调整 QA 对。为了解决此注释过程的局限性,我们提出了通过改进的注释管道开发的 VCG+,112K~ 数据集。我们的方法通过改进关键帧提取、利用 SoTA 大型多模态模型 (LMMs) 进行详细描述以及改进指令生成策略来提高指令调整对的准确性和质量。
Keyframe Extraction \textbf{Keyframe Extraction} Keyframe Extraction:$VideoInstruct100K 使用固定数量的视频关键帧,无论视频长度或动态如何,都可以生成帧级密集字幕。这通常会导致信息不足和冗余。我们通过首先从视频中提取场景来解决这个问题,然后选择一个关键帧/场景。因此,我们得到对内容丰富的视频提供详细信息,对内容较少的视频减少冗余。它通过提取更稳定的关键帧来提供更好的视觉上下文,从而提供更准确的视频表示。
Frame-Level Descriptions : \textbf{Frame-Level Descriptions}: Frame-Level Descriptions:提取关键帧后,我们使用 SoTA 图像 LMM LLaVA-v1.6 \cite{liu2024llavanext} 为每个关键帧生成密集描述。这些描述包含全面的视觉细节,包括空间属性、场景上下文和对象特征,而这些细节在简洁的地面真实描述中通常是不存在的。虽然地面真实字幕很精确,但它们缺乏捕捉复杂视觉和空间信息的粒度。为了解决这个问题,我们用来自帧级描述的详细但嘈杂的信息来增强字幕,从而提高后续视频描述的质量和准确性。
Detailed Video Descriptions : \textbf{Detailed Video Descriptions}: Detailed Video Descriptions:VideoInstruct100K \cite{Maaz2023VideoChatGPT} 直接使用帧级描述和简洁的地面实况字幕提示 GPT-3.5 来生成 QA 对,从而对模型施加显着的认知负担,以验证帧级描述与地面实况。我们通过首先创建连贯且详细的视频描述来改进此过程。我们提示 GPT-4 通过比较信息并消除任何不一致之处,将详细的帧级描述与真实字幕相结合。由此产生的详细描述包括事件、动作、对象属性和场景设置的时间线,提供视频内容的全面表示。这种结构化输入简化了 LLM 的任务,从而提高了生成的 QA 对的质量。
Improved Instruction Tuning Data : \textbf{Improved Instruction Tuning Data}: Improved Instruction Tuning Data:使用真实的字幕和详细的视频描述,我们使用 GPT-3.5 生成两种类型的高质量 QA 对:描述性的和简洁的。对于\textbf{描述性}指令对,我们关注三个类别:(i)\textit{密集字幕},它提供涵盖整个事件序列和视觉细节的视频描述; (ii) \textit{详细的时间信息},它解决事件的顺序及其依赖性以学习时间关系; (iii) \textit{通用问答},涉及有关不同动作、其后果以及视频的其他详细方面的深入问题。对于\textbf{简洁}指令对,我们的目标是(i)\textit{空间推理},重点是理解和描述空间细节,例如场景设置、物体数量、服装和位置; (ii) 事件的\textit{推理},涵盖事件之间的因果关系; (iii) \textit{短时间问题},解决特定时刻或序列,例如开始或结束时发生的事情。
5 Proposed Benchmark
认识到现有视频对话基准的多样性有限,我们引入 VCGBench-Diverse 来综合评估视频 LMM 的泛化能力。虽然 VCG-Bench \cite{Maaz2023VideoChatGPT} 提供了广泛的评估协议,但它仅限于来自 ActivityNet200 \cite{caba2015activitynet} 数据集的视频。我们的基准测试总共包含 877 个视频、18 个广泛的视频类别和 4,354 个 QA 对,确保了强大的评估框架。 VCGBench-Diverse 的详细分解如图4 所示,展示了视频在内容领域的分布、视频捕获方法和推理复杂性。
我们从 \textit{18 个不同领域}收集视频,包括生活方式、操作方法、科学技术、新闻、旅行、娱乐、电影、体育、喜剧、行动主义、游戏、教育、监控、宠物、烹饪、音乐、汽车,和交通(见图4)。这些类别涵盖了广泛的现实场景,确保模型能够针对各种挑战进行评估。除了内容多样性之外,VCGBench-Diverse 还包括多种 \textit{视频捕获方法},确保对不同拍摄技术、摄像机移动、质量水平和照明的鲁棒性进行全面评估。该基准测试涵盖 \textit{五种} 视频捕获方法,包括静态和受控设置、动态和不可预测的设置、固定摄像机视角、专业和高质量视频以及不受控和可变质量。此外,该基准评估跨 \textit{六种推理复杂性}的模型,包括顺序理解、复杂动作和预测推理、上下文和世界知识推理、因果推理、叙述和情感推理以及分析和批判推理,这对于理解至关重要多样化的视频内容。
VCGBench-Diverse 中的视频来源于 HDVILA \cite{xue2022hdvila}、MPII \cite{andriluka14cvpr}、YouCook2 \cite{zhou2018towards}、UCF Crime \cite{ucfcrime} 和 STUD Traffic \cite{xu2021sutd}。视频时长从29秒到471秒不等,平均217秒。人类注释者的任务是根据他们对视频音频和视觉元素的理解编写详细描述。这个全面的注释过程涉及一组注释者,每个注释者最初都会获得十个视频。这些注释经过元审查阶段,在此阶段提供反馈,并进行必要的更正以满足所需的标准。此后,注释者会收到额外的批次,元审阅者会选择随机样本进行质量检查。最终的人工注释用于根据图10中详细提示,使用 GPT-3.5 生成 QA 对。
遵循 VCG-Bench \cite{Maaz2023VideoChatGPT},评估是在五个不同方面进行计算的:(i)信息的正确性(ii)细节导向(iii)上下文理解(iv)时间理解和(v)一致性。此外,VCGBench-Diverse 还提供了三个关键方面的性能细分:(i) 密集视频字幕,评估生成视频内容的详细和准确描述的能力;(ii) 空间理解,评估理解和理解的能力。描述视频中的空间关系和设置,以及(iii)推理,测试推断和解释视频中因果关系和动作的能力。
6 Experiments
我们在四个标准基准上对 VideoGPT+~ 进行定量评估:i) \texttt{VCGBench} \cite{Maaz2023VideoChatGPT}、ii) VCGBench-Diverse、iii) \texttt{MVBench} \cite{li2023mvbench} 和 iv) Zero-shot QA 。
Implementation Details: \textbf{Implementation Details:} Implementation Details: 我们使用 CLIP-L/14 \cite{clip} 作为我们的图像编码器,InternVideo-v2 \cite{wang2024internvideo2} stage-2 1B 模型作为我们的视频编码器,并结合 Phi-3-Mini-3.8B \cite{phi3mini4k}在我们的实验中,基于 4K 上下文窗口的大语言模型。图像编码器的运行分辨率为 336 × 336 336\times336 336×336,而视频编码器的运行分辨率为 224 × 224 224\times224 224×224。我们的训练包括两个预训练阶段和一个指令调整阶段。在预训练阶段,我们仅使用图像编码器和视频编码器在 CC-595K 数据集\cite{liu2023improved}上进行训练,仅学习视觉适配器,而模型的其余部分保持冻结。在指令调整阶段,我们使用 LoRA \cite{hu2022lora} 和 r = 64 r=64 r=64 进行 LLM,同时视觉适配器经过全面训练,视觉编码器保持冻结状态。 LR 在预训练期间设置为 1 e − 3 1e^{-3} 1e−3,在指令调整期间设置为 2 e − 4 2e^{-4} 2e−4。
对于 \texttt{VCGBench}、VCGBench-Diverse 和零样本 QA 的实验,我们从视频中采样了 16 帧,而对于由相对较短的视频组成的 MVBench,我们采样了 8 帧。我们在推理过程中保持相同的采样策略。对于 \texttt{VCGBench} 和~VCGBench-Diverse,模型在 VideoInstruct100K \cite{Maaz2023VideoChatGPT}、VCG+,112K~、来自 VideoChat \cite{2023videochat} 的对话和字幕数据以及来自 WebVid \cite{bain2021frozen 的 VQA 数据集上进行训练},总计约 260K 个单轮对话。对于 \texttt{MVBench},模型在 Kinetics-710 \cite{kay2017kinetics}、Something-Something-v2 \cite{goyal2017something}、VideoChat \cite{2023videochat}、CLEVRER \cite{yi2019clevrer}、VQA 数据集的对话上进行训练来自 WebVid \cite{bain2021frozen} 和 NExT-QA \cite{xiao2021next} 数据集,组合起来大约有 330K 个单轮对话。我们运行一个时期的所有训练。遵循之前的方法 \cite{Maaz2023VideoChatGPT, jin2023chatunivi, st-llm},我们采用 GPT-3.5-Turbo-0613 进行 \texttt{VCGBench} 和零样本 QA 评估。然而,对于我们提出的 VCGBench-Diverse,我们采用最新的 GPT-3.5-Turbo-0125 进行评估。
VCGBench:
\textbf{VCGBench:}
VCGBench: 该基准测试由大约 3000 个 QA 对组成,这些 QA 对是使用来自 ActivityNet \cite{caba2015activitynet} 的 500 个人工注释视频生成的。该基准从五个不同方面评估响应:i) 信息正确性 (CI),评估响应的正确性以确保其与视频内容一致,ii) 细节方向 (DO),评估响应的深度, iii) 上下文理解 (CU),评估响应是否与视频的整体上下文一致,iv) 时间理解 (TU),评估模型准确识别时间序列的能力,以及 v) 一致性 (CO),它评估模型对类似问题的响应的一致性。表1 将我们的模型与之前的 SoTA 方法进行了比较。 VideoGPT+~平均得分为 3.28,比之前的最佳方法高出 0.25 (5%)。
VCGBench-Diverse:
\textbf{VCGBench-Diverse:}
VCGBench-Diverse: 我们在 VCGBench-Diverse 上对 VideoGPT+~ 与之前的 SoTA 方法进行了定量比较,其中包含来自 877 个视频的 4,354 个 QA 对。按照\cite{Maaz2023VideoChatGPT},我们评估信息的正确性(CI)、细节定位(DO)、上下文理解(CU)、时间理解(TU)和一致性(CO)。此外,我们还提供密集字幕、空间理解和视觉推理能力的结果。结果显示在表2中。 VideoGPT+ 平均得分为2.47,超越了之前的所有方法。此外,VideoGPT+~ 在密集字幕、空间理解和视觉推理方面分别获得了 1.38、2.80 和 3.63 的分数。值得注意的是,VideoGPT+ 在空间和时间理解方面取得了进步,分别超越了之前的最佳模型 0.37 (7.4%) 和 0.23 (4.6%)。这归因于双编码器架构,其中高分辨率图像编码器增强了空间理解,视频编码器提高了时间精度。
MVBench: \textbf{MVBench:} MVBench: 我们在 MVBench \cite{li2023mvbench} 上评估 VideoGPT+ ,它提供了来自 11 个视频数据集的 4,000 个 QA 对,涵盖广泛的场景,从第一人称到第三人称,从室内到室外环境。这些任务分为 20 个细粒度的时间理解任务。 Table 3中显示的结果将 VideoGPT+~ 与之前的方法进行了比较,表明与之前的最佳方法 VideoChat2 相比,总体改进了 7.6%。具体来说,VideoGPT+ 在 20 项任务中的 14 项中取得了 SoTA 成绩,在 20 项任务中的 4 项中排名第二,在 20 项任务中获得了 58.7% 的平均得分。此外,VideoGPT+~在动作预测 (+12.5%)、对象存在 (OE) (+27.5%)、移动方向 (MD) (+17%)、移动计数 (MC) (+29) 方面显示出显着改进%) 和移动属性 (MA) (+32%) 表明我们的模型实现了丰富的空间信息和时间上下文。
Zero-shot
Question-Answering:
\textbf{Zero-shot Question-Answering:}
Zero-shot Question-Answering: 我们对我们的方法在四个开放式 QA 数据集上的零样本 QA 任务进行了定量比较,包括 MSVD-QA \cite{msvd}、MSRVTT-QA \cite{msvd}、TGIF-QA \cite{TGIF} ,和 ActivityNet-QA \cite{caba2015activitynet}。表4 中显示的结果表明,与之前的方法相比,VideoGPT+~ 实现了卓越的性能,表明其能够有效适应未见过的视频,并在具有挑战性的环境中生成准确的上下文相关响应。
Vision
Encoder
Type:
\textbf{Vision Encoder Type:}
Vision Encoder Type: 我们在 VCGBench 上的 VideoGPT+ 中消融了双视觉编码器设计,结果如表 5 所示。我们进行了三个实验:仅使用图像编码器、仅使用视频编码器和两个编码器。图像编码器单独获得了 3.17 的分数,而视频编码器单独获得了更好的分数 3.20,这表明了基于视频的预训练的好处。双编码器设计结合了空间和时间信息,获得了 3.28 的最高分,展示了视频对话任务中的增强性能。
Pooling
Strategy:
\textbf{Pooling Strategy:}
Pooling Strategy: 我们在 Table 5 中为图像和视频编码器消除了不同的池化策略。图像编码器从
336
×
336
336 \times 336
336×336 输入输出
24
×
24
24 \times 24
24×24 特征图。我们比较了两种下采样方法:可学习的轻量级 CNN(来自 \cite{chu2024mobilevlm} 的 LDPv2)和具有
2
×
2
2 \times 2
2×2 内核的不可学习的自适应平均池。结果表明自适应池的性能优于 CNN。还测试了 4 ×4 的自适应池,但表现较差。
% 因此,我们为 VideoGPT+ 选择
2
×
2
2 \times 2
2×2 自适应池。
类似地,我们取消了视频编码器的池化选择,它采用大小为 T × 224 × 224 × C T \times 224 \times 224 \times C T×224×224×C 的输入,并输出 T × 16 × 16 × d T \times 16 \times 16 \times d T×16×16×d 的特征图。我们比较两种池化策略:跨时间维度的时间池化,将特征映射减少到 1 × 16 × 16 × d 1 \times 16 \times 16 \times d 1×16×16×d,以及跨空间维度的空间池化,使用 2 × 2 2 \times 2 2×2 内核。 Table 5 显示空间池有效地保留了时间信息并产生了更好的结果。
VCG+ 112K: \textbf{VCG+ 112K:} VCG+ 112K: 为了证明 VCG+,112K 的有效性,我们在使用和不使用它的情况下训练 VideoGPT+。如表5所示,VCG+,112K 提高了性能,特别是在细节方向 (DO) 和时间理解 (TU) 方面。这种改进可归因于我们新颖的半自动注释管道和增强的指令调整数据,其重点是生成详细和简洁的指令对。请参阅 Fig.3 以了解数据的定性可视化。
LLM
Type:
\textbf{LLM Type:}
LLM Type: 我们使用不同的 LLM 训练 VideoGPT+,包括 Vicuna 7B 和 13B \cite{vicuna2023} 和 LLaMA-3 8B \cite{llama3} 并在 Table 6 中显示结果。当使用更好的 LLM(包括 Vicuna 13B 和 LLaMA-3 8B 模型)进行训练时,我们观察到 VCGBench 分数略有提高。
7 Conclusion
在这项工作中,我们介绍了 VideoGPT+,这是一种新颖的视频对话模型,它利用图像和视频编码器的互补优势来增强视频理解。 VideoGPT+ 在多个视频基准测试中表现出更好的性能,这要归功于其双编码器设计、将图像/视频特征映射到公共空间的轻量级视觉适配器以及保留细粒度时间信息的分段采样策略。我们还开发了 VCG+ 112K,这是一个 112K 视频指令集,使用资源高效的半自动注释管道,可带来更多收益。最后,我们提出了 VCGBench-Diverse,这是一个涵盖 18 个视频类别的多元化基准,用于全面评估视频 LMM。尽管有报道称有所改进,但视频 LMM 在精确动作定位、理解很长的视频以及导航长路径方面仍然面临挑战;重大改进可以解锁新应用程序的领域。
8 Qualitative Results
我们在图 5 中对我们的 VideoGPT+ 与之前最先进的方法 VideoChat2 [7] 进行了定性比较。该示例显示了防晒霜的广告视频,其中存在多个场景变化。视频以防晒霜的特写镜头开始,随后一名女子在手上涂抹防晒霜,然后在海滩附近涂抹防晒霜。随后,该女子在手臂上涂抹防晒霜,最后,视频展示了防晒霜的主要成分,并以防晒霜的封面结束。
如图 5 所示,我们的 VideoGPT+ 正确识别视频中存在的事件并提供详细而准确的描述。另一方面,VideoChat2 很难准确捕获所有事件。此外,我们的模型生成了一个广告帖子,突出显示视频中显示的防晒霜的独特功能之一,即它既可以起到防晒霜的作用,也可以起到保湿霜的作用。最后,我们的VideoGPT+正确识别了防晒霜的SPF值和品牌名称,而VideoChat2则难以正确识别品牌名称。我们在图 7 中进行了进一步的比较。
9 Additional Implementation Details
在本节中,我们提供有关训练设置和计算要求的其他实施细节。我们所有的实验都是使用 8xA100 40GB GPU 进行的。 VCGBench 实验的训练大约需要 12 小时才能完成,而 MVBench 实验的训练大约需要 10 小时才能完成。我们使用针对 VCGBench 任务训练的模型来评估 VCGBench-Diverse 和零样本问答基准。我们所有的训练和评估代码、预训练模型和数据集都将公开发布。
10 Additional Ablations
Feature concatenation strategy: 我们进行了一项消融研究,以确定图像和视频特征输入到大语言模型的最佳顺序。具体来说,我们进行了两个实验。在第一个实验中,为每个视频片段提取图像和视频特征,并以交错方式连接,然后作为输入发送到大语言模型。例如,将视频分为大小相等的片段,然后将每个片段的图像和视频特征连接起来并输入到LLM。在第二个实验中,我们首先放置所有图像特征,然后放置所有视频特征。表 7 中显示的结果表明顺序设计(首先放置图像特征,然后放置视频特征)可产生更好的性能。我们对图像和视频特征使用不同的视觉适配器,因此交错两种模式的特征可以产生更大的分布变化,从而阻碍学习过程,这一事实可以证明这一点。
11 GPT Prompts
在本节中,我们提供用于以下任务的 GPT 提示:(i) VCG+ 112K 的密集视频描述生成,(ii) VCG+ 112K 的问答生成,以及 (iii) VCGBench-Diverse 的问答生成。
VCG+ 112K 的密集视频描述生成:为了生成密集视频字幕,我们为 GPT-4 提供了简明的视频真实字幕和从 LLaVA-v1.6 生成的关键帧的详细帧级字幕 [33]。然后提示 GPT-4 将这些信息组合成整个视频的详细字幕。如图 8 所示,提示包括明确的说明,以消除任何冲突的信息,确保标题准确、详细。
VCG+ 112K 的问答生成:使用 GPT-4 生成详细的视频描述后,我们使用 GPT-3.5 创建问答对以进行指令调整。图 9 显示了使用真实标题和视频的密集描述生成详细摘要问答对的提示。
VCGBench-Diverse 的问答生成:我们提供用于为 VCGBench-Diverse 生成全面的问答对的提示。如图 10 所示,问题分为三类:时间、空间和推理。类似的提示用于生成一致性和总结性问题,为 VCGBench-Diverse 提供广泛的评估协议。