简介

如果你曾尝试构建一个理解视频的计算机视觉系统,你很可能遇到过“采样困境”。

视频本质上是一堆厚重的图像。要使用多模态大语言模型 (MLLM) 处理视频,标准方法是均匀帧采样 (Uniform Frame Sampling) 。 你每秒 (或每隔几帧) 提取一帧,将其编码为图像,堆叠起来,然后喂给模型。

这种方法造成了一个艰难的权衡:

  1. 采样过于稀疏 (例如,每秒 1 帧) : 你节省了计算量,但丢失了运动信息。如果帧 A 显示一只手拿着杯子,帧 B 显示杯子在桌子上,它是被轻轻放下的还是被扔下的?你无法判断。
  2. 采样过于密集 (例如,每秒 30 帧) : 你捕捉到了运动,但计算成本飙升。你最终处理了数千个视觉 Token,其中许多是冗余的 (背景墙可能 100 帧都没变过!) 。

有没有更好的办法?一篇名为 “Efficient Motion-Aware Video MLLM” 的新论文表明,我们看待数据的方式可能错了。我们不应该将视频视为一系列解码后的图像,而应该关注视频是如何被存储的。

研究人员推出了 EMA , 这是一个直接读取压缩视频结构的模型。利用视频编解码器 (如 H.264) 已经将静态背景与移动物体分离的特性,EMA 在大幅降低计算成本的同时,实现了最先进的性能。

在这篇文章中,我们将拆解现代视频 MLLM 的工作原理,为什么压缩域是 AI 的金矿,以及 EMA 架构如何统一空间和运动理解。


问题所在: 解码帧的低效性

要理解 EMA 为何是一项突破,我们需要先直观地了解当前方法的低效之处。

目前大多数视频 MLLM 将视频理解视为“多图像理解”任务。它们将视频解码为原始的 RGB 图像流,然后分别对每一帧进行编码。之后,大语言模型 (LLM) 需要通过比较这些静态图像特征来弄清楚时间关系——即“运动”。

这种做法效率低下,因为视频天生就是冗余的。如果一个人在静态背景前说话,90% 的像素在帧与帧之间不会发生变化。每秒钟把那个静态背景重新编码 30 次是对资源的浪费。

此外,均匀采样往往会遗漏运动的细微差别。

Figure 1. Comparison of sampling from decoded frames versus the GOPs (Group Of Pictures) from compressed video stream. Compressed video encoding generates tokens at only 1/T the length of sampled frames for the same clip,while capturing motion information more directly. It also shows greater efficiency on Video-QA (average of MSVD-QA and MSRVTT-QA [35]) and MotionBench within our EMA framework,achieving higher accuracy with less inference time (red arrow shows inference speed up).

如上方的 图 1 所示:

  • 路径 (a) 解码帧流: 为了捕捉手的运动,你需要采样许多帧 (\(i\) 到 \(i+3\)) 。这会导致产生大量的 Token 序列 (\(T \times N\)) 。
  • 路径 (b) 压缩视频流: 作者建议使用文件中现有的结构。通过使用一个关键帧 (Frame \(i\)) 和*运动矢量 (Motion Vectors) * (关于像素如何移动的指令) ,他们可以用很少的 Token 表示相同的序列。

图 1 中的图表强调了这一结果: EMA 方法 (使用 GOP) 在 VideoQA 和新的 MotionBench 等基准测试中实现了更高的准确性,同时速度显著更快 (红色箭头所示) 。


背景知识: 视频压缩速成课

要欣赏 EMA 架构,我们需要快速回顾一下视频实际上是如何压缩的 (例如在 MPEG-4 或 H.264 中) 。视频编解码器并不把每一帧都存储为完整的图片。相反,它们使用一个叫做 GOP (图像组,Group of Pictures) 的概念。

一个 GOP 通常包含三种类型的帧:

  1. I 帧 (帧内编码帧) : 这些是完整的、独立的 RGB 图像。它们存储成本高,但提供了完整的视觉上下文。
  2. P 帧 (预测编码帧) : 这些帧只存储与前一帧相比的变化。它们严重依赖于运动矢量
  3. B 帧 (双向预测帧) : 这些帧利用了前一帧和后一帧的信息。

什么是运动矢量?

运动矢量 (MV) 告诉解码器: “取前一帧中位置 \((x, y)\) 的像素块,将其移动到 \((x', y')\)。”

\[ M V ( x , y ) = ( x ^ { \prime } - x , y ^ { \prime } - y ) \]

这个矢量捕捉了物体的轨迹。如果一辆车驶过屏幕,I 帧会显示这辆车,随后的 P 帧包含一系列指向汽车移动方向的矢量。

Figure 2. Description of the H.264 codec modes for a single GOP (Group of Pictures). P/B-frames are decoded sequentially in the decoding order. Decoding relies on motion vectors, which record the movement of each macroblock in the current frame relative to those in reference frames.

图 2 完美地展示了这种结构。开头有一个详细的 I 帧 。 后续帧通过使用运动矢量 (显示宏块移动位置的箭头) 和残差 (对预测误差的微小修正) 进行重建。

这对 AI 有什么重要意义?

EMA 的作者意识到这种压缩结构天然就是慢-快 (Slow-Fast) 的:

  • 慢路径: I 帧提供高分辨率的空间细节 (颜色、物体、场景) ,但出现频率低。
  • 快路径: 运动矢量提供密集、高频的时间信息 (运动、轨迹) ,但数据非常稀疏且轻量。

EMA 没有通过将所有内容解码为 RGB 像素来丢弃这种结构,而是直接将这种压缩结构喂给模型。


核心方法: EMA 架构

Efficient Motion-Aware (EMA) 模型用专门的 GOP 编码器 替换了大多数 MLLM 中常见的标准“帧编码器”。

让我们拆解它是如何将视频片段转换为可理解的 Token 的。

1. 输入: 压缩视频片段

模型将视频分割成 GOP 单元。单个片段的输入不是一堆图像,而是长这样:

\[ \begin{array} { r } { \mathrm { I n p u t } _ { \mathrm { V i d e o } } = \underbrace { \left[ I _ { 1 } , M V _ { ( 1 , 1 ) } , M V _ { ( 1 , 2 ) } , \ldots , M V _ { ( 1 , M ) } \right] } _ { \mathrm { G O P } _ { 1 } } , \ldots , } \\ { \underbrace { \left[ I _ { N } , M V _ { ( N , 1 ) } , M V _ { ( N , 2 ) } , \ldots , M V _ { ( N , M ) } \right] } _ { \mathrm { G O P } _ { N } } \quad ( 4 } \end{array} \]

这里,\(I_1\) 是 I 帧 (完整图片) ,\(MV_{(1,1)}...MV_{(1,M)}\) 是其后的运动矢量帧。这个输入比 \(M\) 张完整的 RGB 图像要轻量得多。

2. GOP 编码器

这是论文的核心部分。GOP 编码器需要处理这两类截然不同的数据 (RGB 像素和运动矢量) 并将其结合起来。

Figure 3. An illustrative diagram of the overall model architecture. The compressed-domain video stream is divided into GOPs (Groups of Pictures), and each GOP is encoded using our designed GOP encoder. After concatenation, the encoded GOPs are input into the LLM along with text instructions. On the left side of the figure is the detailed structure of the GOP encoder, which decouples frame and motion encoding. It fuses the frame features with the aggregated motion feature sequence to produce a fixed-length GOP feature containing both spatial and motion information.

图 3 所示,该架构在并行分支中运行:

分支 A: 帧编码器 (空间)

I 帧 (\(I_k\)) 通过标准的视觉编码器 (具体为 SigLIP) 传递。这提取了“空间语义”——场景中的物体、颜色、光照等。 为了保持高效,他们使用池化来减少 Token 的数量。

\[ \begin{array} { r } { \pmb { F } _ { k } ^ { I } = \operatorname { P o o l i n g } \left( \operatorname { E n c } _ { I } ( I _ { k } ) \right) } \end{array} \]

分支 B: 运动编码器 (时间)

运动矢量被单独处理。由于运动矢量只是稀疏的位移列表 \((dx, dy)\),它们不需要庞大的图像编码器。作者使用的是一个轻量级的 Transformer。

关键在于,因为运动是随时间发生的,他们注入了 时间嵌入 (Temporal Embedding) (\(PosEmbed(t)\)) ,这样模型就能知道动作的顺序。

\[ \begin{array} { c } { { \pmb { F } _ { ( k , t ) } ^ { M V } = \mathrm { E n c } _ { M V } \Big ( \mathrm { P a t c h i f y } ( M V _ { k , t } ) + } } \\ { { \qquad \mathrm { P o s E m b e d } ( t ) \Big ) , \quad t = 1 , \ldots , M } } \end{array} \]

在编码运动矢量序列后,模型将它们聚合成该 GOP 的单一运动表示:

\[ \pmb { F } _ { k } ^ { M V } = \mathrm { A g g r e g a t o r } \bigg ( \big [ \pmb { F } _ { ( k , t ) } ^ { M V } \big ] _ { t = 1 } ^ { M } \bigg ) \]

3. 融合: 时空结合

现在模型拥有了静态图像表示 (\(F^I\)) 和总结后的运动表示 (\(F^{MV}\)) 。它使用 交叉注意力机制 (Cross-Attention Mechanism) 将它们融合。

可以把这想象成模型将运动“绘制”到静态图像上。静态图像充当查询 (\(Q\)) ,而运动特征充当键 (\(K\)) 和值 (\(V\)) 。模型观察静态图像并询问: “对于这个位置的这个物体,它的运动历史是什么?”

\[ \begin{array} { c } { { { \pmb F } _ { k } ^ { \mathrm { a t t n } } = \mathrm { A t t e n t i o n } \big ( { \cal Q } = { \pmb F } _ { k } ^ { I } , K , V = { \pmb F } _ { k } ^ { M V } \big ) } } \\ { { { \pmb F } _ { k } ^ { \mathrm { G O P } } = \mathrm { F F N } \big ( { \pmb F } _ { k } ^ { \mathrm { a t t n } } \big ) + { \pmb F } _ { k } ^ { I } } } \end{array} \]

结果是一组 GOP 特征 。 这些特征是纯粹的视频理解精华: 它们包含了图像的高分辨率细节以及运动的动态轨迹,所有这些都被压缩进与单张图像相同数量的 Token 中。

4. 与 LLM 集成

最后,这些视觉 Token 通过 MLP 投影,并与用户的文本提示一起输入到大语言模型 (如 Qwen2-7B) 中。

\[ \pmb { X } _ { V } = [ T P _ { 1 } , \mathrm { M L P } ( \pmb { F } _ { 1 } ^ { \mathrm { G O P } } ) , \dots , T P _ { N } , \mathrm { M L P } ( \pmb { F } _ { N } ^ { \mathrm { G O P } } ) ] \]
  • (注意: \(TP\) 代表 Temporal Prompt,即时间提示,给 LLM 一个关于当前是哪个片段的文本提示,例如 “Segment 1”) 。*

介绍 MotionBench

我们如何知道模型是否真正理解了运动?

标准的 VideoQA 基准测试通常提出的问题可以通过查看单个静态帧来回答 (例如,“那个人戴帽子了吗?”) 。这无法测试模型是否理解轨迹

为了解决这个问题,作者创建了 MotionBench , 这是一个专门设计用来评估四种不同类型运动的数据集:

  1. 线性 (Linear) : 直线运动。
  2. 曲线 (Curved) : 弧线、抛掷和抛物线。
  3. 旋转 (Rotation) : 旋转的物体。
  4. 接触 (Contact) : 碰撞和相互作用。

Figure 4. Examples of data from MotionBench. We show four types of examples: linear, curved, rotation, and contact. Yellow arrows in the video frames indicate the motion trajectories of the same specified object. Different trajectory patterns correspond to different data types.

图 4 所示,区分这些运动需要跟踪物体随时间变化的位置。静态帧无法告诉你旋转的轮子是在转动还是静止,也无法告诉你被抛出物体的轨迹。


实验与结果

研究人员将 EMA 与几种最先进的视频 MLLM 进行了比较,包括 Video-LLaVA、LLaMA-VID 和 Video-LaVIT。

1. VideoQA 上的准确率

在标准基准测试 (MSVD-QA, MSRVTT-QA) 上,EMA 优于竞争对手。

Table 1. Comparison with SOTA models on public videoQA benchmarks: MSVD-QA [3]; MSRVTT-QA [36]; ActivityNet-QA [2]. Maximum values are in bold.

表 1 显示 EMA 在各项指标上都达到了最高的准确率。值得注意的是,它击败了 Video-LaVIT,这是另一个使用压缩视频输入的模型。作者将其归功于他们卓越的融合策略 (交叉注意力) ,优于 Video-LaVIT 的简单拼接。

2. 效率分析

这才是 EMA 真正闪耀的地方。因为它使用稀疏的运动矢量而不是解码密集的帧,所以处理视频的速度要快得多。

Table 3. Efficiency analysis under different model, video segment type and number. We report the inference time and maximum visual token count for MLLM generation. We use model-f and model-g to denote models trained with frame and GOP inputs, respectively. Model-D refers to the final model used as EMA. Maximum values are in bold, and second-highest values are underlined.

表 3 提供了一个引人注目的细分数据:

  • Token 数量: EMA 仅使用了 648 个视觉 Token,而 Video-LLaVA 使用了 2048 个。
  • 推理时间: EMA 比 Video-LLaVA 快大约 3 倍 (127.1ms vs 391.4ms) 。
  • GOP vs. 帧: 该表比较了 “model-f” (在帧上训练) 与 “model-g” (在 GOP 上训练) 。即使片段数量相同,GOP 方法也产生了更高的准确率,这证明运动矢量提供了原始帧可能遗漏 (或需要更复杂的编码器才能提取) 的有价值信号。

3. 消融实验

作者还进行了消融实验来证明他们的设计选择。

Table 4. Ablation experiments on the method design. We compared the construction of the fusion module, the encoding modes of motion positional information, and the model training strategies. We evaluated the performance of all models on MSVD-QA [35], MSRVTT-QA [35], and MotionBench. Exp 0 is the final setting we utilized. Maximum values are in bold, and second-highest values are underlined.

表 4 强调了融合模块的重要性。使用 交叉注意力 (Exp 0) 显著优于简单的相加 (Exp 2) 或拼接 (Exp 3) 。这证实了仅仅拥有数据是不够的;模型必须显式地学习静态物体与其运动路径之间的关系。

4. 长视频理解

最后,该模型不仅适用于短片段。当在 VideoMME (长视频基准测试) 上进行测试时,EMA 与专门为长上下文设计的模型相比依然稳得住脚。

Table 2. Performance comparison with state-of-the-art models on long video tasks VideoMME [6]. Maximum values are in bold.

表 2 所示,EMA 获得了最高的总分 (58.4) ,证明了压缩表示具有高度的可扩展性。


结论

EMA 论文提出了一个令人信服的观点: 我们应该停止与视频压缩对抗,并开始利用它。

通过使用视频文件中已经存在的结构——由稀疏运动矢量支持的高质量关键帧——我们可以构建出具备以下特点的 AI 系统:

  1. 更高效: 大幅减少 Token 数量和推理时间。
  2. 更具运动感知能力: 直接摄入轨迹数据,而不是试图从静态像素变化中推断它。

MotionBench 的引入进一步推动了该领域超越简单的物体识别,向真正的动态场景理解迈进。随着视频内容量持续爆炸式增长,像 EMA 这样高效的架构很可能成为机器感知移动世界的标准。