原文摘要 · English Abstract
We propose LongVU, a spatiotemporal adaptive compression mechanism that reduces the number of video tokens while preserving visual details. It leverages cross-modal query and inter-frame dependencies to adaptively reduce temporal and spatial redundancy, using DINOv2 features to remove redundant frames and text-guided cross-modal query for selective frame feature reduction. It surpasses existing methods especially on hour-long video tasks like Video-MME and MLVU.
概要
长视频理解要求多模态大模型在有限上下文长度内处理海量视觉 token,而现有方法要么均匀采样丢失关键帧,要么密集采样后被截断,还有方法用重采样模块大幅压缩视觉细节、损失信息。LongVU 提出三级时空自适应压缩:先用 DINOv2 的自监督特征衡量帧间相似度做时序去冗余,再用文本查询挑出与问题相关的关键帧保留高分辨率、其余帧空间池化降分辨率,最后在滑动窗口内按像素级余弦相似度剪除静态背景的空间 token。三步组合让 1fps 采样的长视频能在 8k 上下文内完整送入 7B 语言模型,而不牺牲关键帧的视觉细节。
此前视频 MLLM 普遍面临「token 预算 vs 视频长度」的矛盾:LLaVA-1.6 单帧要用 576~2880 个 token,8k 上下文在 64 token/帧时只能容纳约 125 帧(2 分钟视频),远不够数十分钟到数小时的长视频。多数工作用固定帧率均匀采样,忽视动静态场景分布不均;另一些用重采样模块压缩 token,造成细节损失。MovieChat 用 CLIP 特征去冗余,但语言对齐目标使其对低层细节不敏感。
关键贡献
- 提出基于 DINOv2 自监督特征相似度的时序冗余帧压缩策略,把原始帧数压缩到约一半。
- 设计基于文本查询的跨模态选择性特征降维机制,让与问题相关的关键帧保留完整 token 分辨率。
- 提出滑动窗口内基于像素级余弦相似度的空间 token 压缩(STC),进一步剔除静态背景冗余。
- 首次联合使用 DINOv2 与 SigLIP 两类视觉编码器特征做长视频理解,兼顾细粒度视觉细节与语言对齐语义。
- 在 EgoSchema、MVBench、VideoMME、MLVU 等多个长视频基准上取得开源模型中的最优结果,且训练数据规模远小于同期最强基线。
方法详解(完整做法)
总体思路
LongVU 用三级流水线把一段 1fps 采样的长视频压缩到 LLM 能处理的 token 预算内:第一步先用 DINOv2 特征衡量帧间相似度,剔除时序上高度冗余的帧;第二步把剩余帧的 DINOv2 与 SigLIP 特征融合后,用文本问题作查询,只给「与问题相关」的少数关键帧保留完整空间分辨率,其余帧做空间池化降分辨率;第三步如果 token 数仍超限,再按滑动窗口比较像素级余弦相似度,剪掉与窗口首帧高度相似的静态背景 token。三步依次执行、逐级收紧预算,最终让一小时级别的视频也能塞进 8k 上下文,同时尽量保留关键帧的完整视觉细节。
时序冗余压缩(第一步)
给定 1fps 采样的 N 帧 ,先用 DINOv2 提取每帧特征 ,在每个长度 J=8 的非重叠窗口内计算该帧与窗口内其余帧的平均相似度:
相似度高的帧被判定为时序冗余并剔除,原始 N 帧因此压缩为约一半数量的 T 帧。之所以选 DINOv2 而非 CLIP/SigLIP 做这一步,是因为 DINOv2 的自监督特征相似度训练目标更擅长捕捉像素级细微差异;CLIP 类语言对齐特征为了拉近图文语义会牺牲这些低层视觉线索,用它衡量帧间相似度反而会误删有细节差异的帧。
双编码器特征融合
剩余 T 帧再用 SigLIP 提取语义特征 ,与 DINOv2 特征一起通过 Cambrian 提出的 Spatial Vision Aggregator(SVA)做融合——用可学习查询对两路特征做空间聚合,得到融合后的帧特征 。DINOv2 补充低层视觉细节,SigLIP 提供语言对齐的语义信息,二者互补正是后续跨模态查询能够准确定位「与问题相关的关键帧」的前提——单用其中一种编码器都会在后续检索里丢失一部分信息。
跨模态查询驱动的选择性降分辨率(第二步)
当拼接后的 token 数超过上下文长度 时,LongVU 用 LLM 侧的文本查询嵌入 与经过多模态适配器 映射后的帧特征计算跨模态注意力分数,取分数最高的 帧保留原始 分辨率,其余帧空间池化到更低的 :
的计算方式很直接:先假设所有帧都降到低分辨率、占用 个 token,再看剩余预算够让多少帧「升级」回原分辨率。若 (预算连低分辨率都放不下),则跳过注意力计算,直接对所有帧做空间池化。
空间 Token 压缩(第三步)
若降到低分辨率后 token 数仍超限(),则按大小 K=8 的滑动窗口进一步压缩:窗口内第一帧保留全部 token,其余帧逐空间位置与首帧计算余弦相似度,超过阈值 的 token 被视为静态背景直接剪掉:
选首帧作比较基准而非窗口中间帧或「变化最大帧」,是因为第一步的时序去冗余已经让相邻帧之间差异变大,首帧策略实现最简单也最稳定;论文的消融实验显示三种锚帧策略在压缩率和精度上的差异都很小,因此选了最简单的一种。
小结
LongVU 的关键不是某一个模块,而是「时序去冗余 → 按内容分配空间分辨率 → 再按像素相似度精修」的三级递进式压缩:每一级只处理前一级解决不了的剩余冗余,最终把可变长度的长视频自适应地塞进固定的 token 预算。
实验与关键数据
训练分两阶段:单图数据做图文预训练,VideoChat2-IT 等数据做视频微调;编码器为 SigLIP+DINOv2,语言模型用 Qwen2-7B 或 Llama3.2-3B,64 张 H100 训练。评测覆盖 EgoSchema、MVBench、VideoMME、MLVU,多数基准超过同期开源模型。
关键数据
影响与局限
LongVU 把长视频压缩问题从「固定采样率」转向「按内容自适应分配 token 预算」,证明了自监督视觉特征(DINOv2)在时序去冗余上优于语言对齐特征(CLIP/SigLIP),为后续长视频 MLLM 的 token 压缩方案(按查询动态分辨率、像素级空间剪枝)提供了可复用的三段式范式,也推动 7B 模型在长视频理解上逼近 GPT-4o 等专有模型。
局限与不足
论文主要在 EgoSchema、MVBench、VideoMME、MLVU 等学术基准上验证,尚未在真实开放域长视频(如监控录像、直播回放)场景做系统测试;跨模态查询选择依赖文本问题的语义相关性,若问题本身模糊或视频中存在多个同等重要的片段,关键帧选择可能不稳定。STC 的相似度阈值 θ=0.8 与滑动窗口 K=8 是经验设定的超参数,论文未给出在不同视频类型(快速运动、频繁镜头切换)下的自适应调整机制;训练与推理仍依赖 1fps 采样,对于数小时以上的极端长视频,8k 上下文预算是否仍然充足也未做进一步验证。