点击下方卡片,关注
「集智书童」
公众号
导读
多模态大语言模型(MLLMs)通过将视觉输入作为额外 Token 注入大语言模型(LLMs)作为上下文,实现了开放世界的视觉理解。然而,当视觉输入从单张图像变为长视频时,上述范式遇到了困难,因为大量视频 Token 显著超出了MLLMs的最大容量。因此,现有的基于视频的MLLMs大多建立在从输入数据中采样一小部分 Token 的基础上,这可能导致关键信息丢失,从而产生错误的答案。
本文提出了一种简单而有效的算法,称为自适应关键帧采样(AKS)。它插入了一个名为关键帧选择的即插即用模块,旨在通过固定数量的视频 Token 最大化有用信息。作者将关键帧选择表述为一个涉及(1)关键帧与 Prompt 之间的相关性以及(2)关键帧对视频的覆盖范围的优化问题,并提出了一种自适应算法来近似最佳解。在两个长视频理解基准测试上的实验验证了AKS在选择信息丰富的关键帧时提高了视频问答的准确性(优于强 Baseline )。
作者的研究表明,在基于视频的MLLMs中,信息预过滤的重要性。
代码:https://github.com/ncTimTang/AKS
- 引言
近年来,多模态大语言模型(MLLMs)[14, 22, 39, 53]在开放世界视觉理解领域得到了快速发展。在MLLMs的研究大量文献中,一个直接且重要的方向是将它们推广到视频数据。与静态图像相比,视频包含更丰富、更复杂的视觉内容,这对MLLMs提出了包括关键信息检索、摘要、逻辑推理等在内的严峻挑战。已经建立了许多基准[10, 43]来评估MLLMs在视频理解方面的性能。
图像型多模态语言模型(MLLMs)的典型框架涉及将输入图像编码成一组视觉 Token ,并将这些 Token 作为LLMs的上下文进行输入。当这一框架被移植到视频,尤其是长视频时,由于MLLMs的容量有限,即MLLMs可以处理的视觉 Token 的最大数量远少于整个视频,因此出现了困难;换句话说,MLLMs无法感知所有视频 Token 。为了弥合这一差距,最近的方法[20, 44]通常从输入视频中采样一小部分帧;因此,这些MLLMs的性能很大程度上依赖于所选帧的质量(即关键帧)。尽管其重要性不言而喻,但关键帧选择算法尚未得到精心设计,例如,LLaVA-Video [55]简单地应用了均匀采样策略,如图1所示,这种策略容易丢失重要信息,从而导致视频理解输出错误。
本文对关键帧选择进行了系统研究,并揭示了其在视频理解及其他领域的重要性。作者将关键帧选择构建为一个可插入模块,位于MLLM的视觉编码器之前;其目标是最大化关键帧在视频理解中的有用性。直观地,作者提出了两个需要考虑的关键方面,即(1)相关性(即关键帧与问题的关联性)和(2)覆盖范围(即关键帧集如何覆盖整个视频中的有用信息)。具体来说,作者通过以下方式量化目标:(1)使用视觉-语言(VL)模型计算每个候选帧与 Prompt 之间的相关性,以及(2)通过递归地将视频划分为区间并计算每个区间内关键帧的数量来估计覆盖范围。作者表明,仅最大化相关性和覆盖范围会产生简单的关键帧选择 Baseline ,而通过提出的自适应关键帧采样(AKS)算法在它们之间取得适当的权衡,则能够实现视频理解的最佳实践。
作者在LongVideoBench [43]和VideoMME [10]两个长视频理解基准上评估了AKS。作者以三个基于帧的多语言语言模型(Qwen2VL [41]、LLaVA-OV [15]和LLaVA-Video [55])作为 Baseline ,并将AKS作为一个现成的模块插入以提高关键帧的质量。AKS在所有测试中均实现了一致的准确率提升。具体来说,当AKS与LLaVA-Video-7B集成时,作者在这两个基准上以7B模型创造了新的记录。作者进一步验证,这种改进归因于AKS找到的更高质量的关键帧,这表明MLLM在更多信息丰富的视觉上下文中变得更加强大。作者的研究揭示,预过滤视觉数据至关重要,这将是MLLM在感知高维数据(例如长视频,甚至4D数据)上的一个长期研究课题。
- 相关工作
大语言模型(LLMs)和多模态大语言模型(MLLMs)。LLMs [3-6, 8, 36, 40, 48, 52] 标志着人工智能进入了一个新时代,展示了在统一涵盖语言理解和生成的各种任务中的巨大潜力。为了扩展LLMs以实现视觉理解,社区聚焦于在统一特征空间中对视觉和语言数据进行对齐 [32]。通常有两种方法,(1) 内部适配,如 [1],在LLMs中集成跨注意力机制以实现视觉-语言对齐,以及 (2) 外部适配,如 [7, 17, 22],为此训练额外的模块。因此,视觉基础模型 [9, 13, 24, 32, 37, 38, 54] 已发展成为多模态LLMs(MLLMs) [14, 22, 39, 53],使它们能够执行语言引导的视觉理解任务。
基于视频的多语言语言模型。研究行人将多语言语言模型扩展到视频理解领域。该领域的早期工作包括VideoChat [18]、Video-ChatGPT [26]、VideoLLaMA [50]、Video-LLaVA [20]、LanguageBind [56]和Valley [25]等。与静态图像不同,视频包含丰富的内容,当编码为视觉 Token 时,其容量超过了MLLMs的最大上下文容量。上述大多数方法都通过采样视频帧来适应MLLMs;其中一些,如Video-ChatGPT [26],引入了更有效的视频特征。此外,还有一些关于实例级视频理解的研究被提出,例如LEGO [19]用于时刻检索、PG-Video-LLaVA [27]用于视频定位和Artemis [31]用于视频引用,丰富了视频理解的数据集。
MLLMs用于长视频理解。更进一步,长视频理解面临着更大的挑战,因为关键帧选择的难度增加,导致关键信息的显著损失。虽然一些MLLMs(例如,Kangaroo [23] 和 LLaVA-Video [55])利用具有更大上下文容量的语言模型来允许编码和处理的帧更多,但许多其他方法设计了特定的策略来缓解这个问题。例如,MovieChat [34] 采用了短期和长期记忆库来压缩和保留视频内容。同样,MA-LMM [11] VideoStreaming [30] 使用了Q-former和一个小型语言模型(phi-2 [12]),来压缩视频数据,而LongVLM [42] 采用了 Token 合并来减少视频 Token 的数量。Goldfish [2] 将短视频理解与信息检索相结合,以回答复杂 Query 。总之,这些方法旨在减少视频 Token 的数量,但通常无法保证视频中的关键信息能够得到保留。这项工作提出了一种简单而有效的算法,旨在最大限度地保留长视频理解中的重要信息。
- 方法
3.1. 前言
在广泛的视频理解任务中,该模型接收一段视频剪辑和一段文本指令作为输入,并要求输出一段文本答案。不失一般性,作者表示视频为
,其中
表示帧数,
、
和
分别表示宽度、高度和通道数。作者将每一帧视为一张图像
,并应用一个预训练的编码器(例如,CLIP ViT-L模型[32])从中提取一组视觉 Token
。文本指令(也称为 Prompt )表示为
。
作者的算法整体流程如图2所示。作者使用一个常规的多模态语言模型(MLLM)来处理视频理解,其模板为[用户:(视频 Token )<文本指令)助手:],其中视频 Token 和文本指令通过一个MLP投影到相同的特征空间。为了简化,作者将MLLM表示为函数O,其中
,省略了LLM部分,仅关注视觉 Token 作为上下文。由于视觉上下文容量有限(即视频 Token 的数量不能超过特定值),上述流程在处理长视频时遇到困难,因为并非所有视频内容都能被MLLM感知。
一种简单的解决方案是从输入视频中选取关键帧进行 Token 提取。换句话说,目标是设计一个选择函数
,该函数输出一个索引集
且
,表示
个最佳关键帧(
根据MLLM的上下文容量预先定义)。从关键帧中提取的视频 Token (即
)构成了MLLM的上下文。如图1所示,关键帧选择的质量对于视频理解至关重要,但函数
在社区中尚未得到充分研究。例如,最近用于视频理解的MLLM [55] 简单地对关键帧进行了均匀采样;由于函数
完全没有使用
和
,它无法保证为问答找到有用的信息。
在下文中,作者建立了两个关键帧选择原则(第3.2节),之后将介绍作者的优化算法AKS(第3.3节)。
3.2. 关键帧选择原理
关键帧选择函数
的目的是最大化有用信息量,即
在此,作者假设
是
的伴随函数,表示 MLLM 对其输出的置信度。方程(1)由于以下两个原因在数学上难以处理。首先,优化涉及到
的指数级候选者。其次,更重要的是,函数
难以估计,因为关键帧选择没有监督——即使有训练集,并且可以将
的输出与真实答案进行比较,也不能保证正确答案对应于完美的一组关键帧,反之亦然。
作者提出了一种启发式方法来逼近方程(1)。直观来说,当满足以下条件时,一组关键帧是有信息的:(1)每个帧与 Prompt 之间的相关性很高,即视觉数据对问答是有用的。(2)所选帧的覆盖范围足够,可以全面回答问题。请注意,覆盖范围难以量化,第二个原则与防止选择冗余帧(例如,具有几乎相同视觉内容的相邻帧)密切相关,因为(当
的大小固定时)它们可能会减少其他有用信息量,从而损害整个关键帧集的覆盖范围。
根据上述分析,作者重新表述式(1)的右侧,得到:
在此,作者引入两个量:
,表示 Prompt
与第
帧
之间的关系,以及
,表示整个关键帧集在时间轴上的覆盖范围。
是平衡超参数。
计算
。这涉及到一个视觉-语言(VL)模块来衡量
是否包含回答
所需的信息。尽管目标多语言语言模型(MLLM)本身
可以承担此角色,但其高昂的计算成本会带来重大负担。在实践中,作者选择了一个更经济的 VL 模型(例如,CLIP [32] 或 BLIP ITM [16])进行替代。
Error: Error code: 400, with error text {"contentFilter":[{"level":1,"role":"user"}],"error":{"code":"1301","message":"系统检测到输入或生成内容可能包含不安全或敏感内容,请您避免输入易产生敏感内容的 Prompt 语,感谢您的配合。"}}
3.3 自适应关键帧采样
随着
的复杂定义,寻找方程(2)的封闭形式或精确优化变得困难。本部分讨论了一种近似方法。与仅依赖于
得分的 Baseline 方法相比,作者将其命名为时间戳感知优化,因为它能够考虑时间戳以获得更好的关键帧选择结果。
首先,作者讨论两种特殊情况。(1)当
(即忽略覆盖率)时,通过简单地选择分数最高的前
个帧来求解方程(2)。作者称这种策略为TOP,即“顶部采样”;如图5所示,在某些情况下,这会导致所有关键帧都位于很短的时间范围内,而MLLM在其他时刻可能遗漏重要信息。(2)当
(即严格保证覆盖率)时,通过在每个区间中选择分数最高的帧作为关键帧来求解方程(2)(当区间数超过
时,保留分数最高的冠军帧)。作者称这种策略为BIN,即“分箱采样”。如果使用虚拟的VL模型进行评分(即
在
上为常数),这种情况进一步退化到均匀采样 Baseline [55]。作者称这种策略为UNI,即“均匀采样”。
在其他情况下(
),作者采用一种遵循
定义的分层优化方法。在第一层,作者确定如何将
个关键帧分配到两个区间
和
中。作者回顾所有帧的相关度得分
,并计算所有帧的平均得分(记为
)以及得分最高的
个帧的平均得分(记为
)。如果只有一个关键帧需要选择,或者
超过一个阈值
,作者认为保证得分最高的帧被采样很重要(即最大化公式(2)的第一项),因此算法直接返回得分最高的
个帧作为关键帧。否则,作者将当前区间分为两个子区间,关键帧数量均匀分配(即最大化公式(2)的第二项),然后在子区间中递归调用上述程序。作者称这种策略为ADA,即“自适应采样”。请注意,超参数
没有明确调整;其作用被
所取代。
- 实验
4.1 实验设置与细节
数据集与评估。作者使用流行的LMMsEval [51]来评估AKS的性能。作者采用两个流行的基准测试集LongVideoBench [43]和VideoMME [10],用于长视频理解。该数据集中的视频长度可超过一小时,因此关键帧选择的质量在视觉理解中起着至关重要的作用。作者将AKS与以下三个基于视频的MLLMs(下一段将介绍)进行了比较。作者并未调整这些MLLMs的参数,只是将输入帧更改为AKS选定的帧。为了突出关键帧选择的重要性,作者没有使用视频字幕来辅助问答。这种设置也使作者能够减弱LLM能力的影响,最大限度地关注视觉理解。
实现细节。作者选取了三种基于视频的多语言语言模型作为基准,分别是Qwen2VL [41]、LLaVAOV [15]和LLaVA-Video [55]。LongVideoBench和VideoMME包含多选题;为了回答这些问题,这些多语言语言模型遵循了类似的 Prompt ,包括问题(以文本形式)、视频帧(作为 Token )和选项(以文本形式)。具体来说,作为最强的基准,LLaVA-Video使用了SigLIP [49]作为其视觉编码器,并使用Qwen2-7B [45]作为其大语言模型。这些多语言语言模型能够处理多达32或64个视频帧,提供了基本的视频理解能力,但它们建立在均匀采样的关键帧之上,可能会错过重要信息。
为了降低计算成本,作者从原始视频中每秒采样一帧候选帧。将 Prompt (文本)和每个第
帧作为图像输入到BLIP [16] 的文本和视觉编码器中,以获得
和
,之后通过图像-文本匹配(ITM)计算
,即
和
之间的相似度。也可以用其他视觉-语言模型(例如,CLIP [32])替换BLIP;参见第4.4节中的消融实验。除非另有说明,作者使用ADA采样。
4.2 与现有技术的比较
定量结果。作者首先比较了AKS与一些近期多模态语言模型(MLLMs)在视频问答准确率上的表现。结果总结于表1。AKS在三个 Baseline 模型上均带来了持续的准确率提升,例如在Qwen2VL上,在LongVideoBench上的提升为5.0%,在VideoMME上的提升为2.3%;即使在最强的 Baseline 模型LLaVA-Video上,这些数字分别为3.8%和0.9%。这些提升不仅使AKS在具有相似计算复杂度(即输入不超过64帧,LLM大小不超过70亿)的竞争对手中脱颖而出,而且也使其能够达到更大模型设定的高度(例如,使用AKS,LLaVAVideo-7B在Long VideoBench上的报告准确率为62.7%,比没有AKS的LLaVA-Video-72B模型高0.8%,比GPT-4V和Gemini1.5-Flash两个使用256输入帧的专有模型分别高1.4%和1.1%)。
4.3 关键帧选择诊断
本部分旨在诊断AKS的工作原理并消除AKS的设计选择。作者构建的测试基于最强的 Baseline 模型,即LLaVA-Video。
MLLMs从更好的关键帧中受益。为了展示关键帧选择如何影响视频理解,作者测试了第3.3节中描述的不同策略。表2列出了结果。除了 Baseline (即UNI采样)外,ADA采样(作者在第4.2节中的默认选择)实现了最佳实践,而TOP和BIN采样在每个基准测试中都比另一个采样方法更好。请注意,MLLM(即LLaVA-Video-7B)在所有这些测试中保持不变。换句话说,所有这些改进都归功于
可视化关键帧选择。图5展示了两个典型示例,并解释了LongVideoBench和VideoMME中问题风格的差异及其对TOP和BIN选择的影响。许多Long VideoBench的问题都集中在简单的时刻(例如,“在特定时间点,一个人在做什么?”),因此TOP采样(即没有时间分布约束)通常在定位这些关键帧时效果良好,而BIN采样限制了每个bin中关键帧的数量,导致信息丢失。相反,VideoMME的问题通常需要模型从多个时刻收集信息(例如,“某事发生了多少次?”),因此BIN采样是定位不同bin中关键帧的安全选择,而TOP采样可能会在弱峰值中丢失信息。ADA采样吸收了TOP和BIN策略的优点,并自适应地将关键帧分配到期望的位置(参见图3中的示例)——这就是为什么它在两个基准测试中都取得了最佳结果。
4.4. 消融研究
采样关键帧候选的频率。为了降低AKS带来的额外计算成本,作者减少了关键帧候选的采样数量(即每2/4/8/10秒采样一帧,并将结果与标准的1fps方法进行比较。结果总结于表3中。
计算
得分的 VL 模型。作者分析了使用不同 VL 模型计算 Prompt -框架相关性的影响。作者研究了三种选项,即 BLIP [16](本文中的默认选择)、Sevila(在 [47] 中使用)和 CLIP [32]。结果总结于表4。作者发现 BLIP 在 LongVideoBench 上表现更佳,而 CLIP 在 VideoMME 上表现更佳。这是因为 CLIP 是在通用图像-文本对上进行训练的,而 BLIP 是从物体级数据中学习的——相应地,LongVideoBench 和 VideoMME 中的问题分别更多地关注物体和全局感知。
ADA超参数
和
。最后,作者研究了
和
的影响。结果总结于表5。可以看到,LongVideoBench比VideoMME更偏好较小的
和
值。这是因为LongVideoBench上的关键信息更加集中(即许多问题都与单一时刻相关),而VideoMME上的信息则更加多样化(问答需要多时刻数据)。AKS提供了在不同“模式”之间切换的灵活能力,并在两个数据集上都取得了更好的结果。
4.5. 向其他任务的泛化
作为一款现成算法,AKS可以轻松应用于其他视频理解任务。在此,作者展示了两个示例,即视频引用和视频字幕。为此,作者使用了LLaVA-Video-7B模型,将文本 Prompt 切换为“视频中[目标]在做什么?”或“请描述这个视频。”,并移除了选项。定性结果如图7所示。如图所示,为了获取长视频的全面描述,定位关键帧并将它们作为视觉上下文输入到MLLM中至关重要。AKS得益于其关键帧选择能力,有助于MLLM生成更好的答案。
- 结论
本文聚焦于提升多模态语言大模型(MLLMs)对长视频的理解能力。主要困难源于MLLMs的容量限制,这促使作者向模型中输入信息丰富的视觉 Token 。为此,作者提出了自适应关键帧采样(AKS)算法,该算法(1)利用视觉-语言模型来估计相关性,(2)应用自适应优化算法以促进所选关键帧的覆盖范围。
定量和定性研究验证了AKS在不同 Baseline 和基准测试中的有效性。作者的工作揭示,预过滤阶段对视频理解有显著益处,并倡导在此方向上进行进一步研究。
参考
[1]. Adaptive Keyframe Sampling for Long Video Understanding
扫码加入👉
「集智书童」
交流群
(备注:
方向
学校/公司+
昵称
)