原文摘要 · English Abstract
We propose VisualRouter, a training-free and plug-and-play framework for query-grounded visual sampling. It first classifies each query as global or local, then applies the corresponding sampling strategy. For global queries it uses a relevance-coverage hybrid strategy; for local queries an event-aware frame selection strategy (event partitioning, segment-level frame allocation, intra-event frame selection). It improves multiple LVLMs, achieving gains of 5.2%, 7.7%, and 11.6% on Video-MME, LongVideoBench, and MLVU with Qwen2.5-VL-7B.
概要
长视频理解要把视频喂给 LVLM,但帧数远超模型能处理的上下文窗口,视觉采样因此成为标准预处理手段。已有方法要么按相关性选 Top-K,容易选中同一事件里高度相似的冗余帧、覆盖不足;要么用均匀采样这类固定策略完全无视查询类型。VisualRouter 把查询分为「全局」(无视觉锚点,需广覆盖)和「局部」(可定位到具体事件)两类,为两类设计互补采样策略——全局用相关性与均匀覆盖的混合采样,局部先切事件、按相关性配额、段内用 k-DPP 去冗余——不训练、不改架构,让采样随问题类型自适应切换。
此前的视觉采样大致分两条路:一是均匀采样这类固定策略,保证时序覆盖但不看查询内容;二是基于相关性的 Top-K 或「相关性+覆盖度」方法(如 AKS),用文本-图像匹配分数挑高相关帧,但相关帧常集中在同一事件片段附近,导致选出的帧冗余且遗漏其他片段;近期工作引入多样性目标(如 BOLT)缓解冗余,但仍把相关性、覆盖度、多样性当作统一目标,未区分「全局叙事」与「可定位事件」两类问题的不同证据需求。
关键贡献
- 提出按查询是否含「视觉锚点」将其路由为全局/局部两类,并为两类设计互补的采样策略,而非套用单一固定策略
- 为全局查询设计相关性-覆盖度混合采样,用一半帧预算保证时序覆盖、一半帧预算保留高相关性证据
- 为局部查询设计三阶段事件感知采样流水线:事件切分、按段相关性与长度配额、段内 k-DPP 去冗余选帧
- 直接用 LVLM 自身完成查询门控判断,无需训练额外分类器,保持训练无关、即插即用的特性
- 在 Video-MME、LongVideoBench、MLVU 三个基准上用五种 LVLM 骨干验证,一致优于均匀采样与现有训练无关采样方法
方法详解(完整做法)
总体思路
VisualRouter 解决的核心矛盾是:长视频的帧数远超 LVLM 能处理的帧预算 ,而不同问题需要的证据分布方式完全不同。整个流程分三步:先以 1FPS 抽取候选帧序列并为每帧计算查询相关性分数和视觉特征;再用 LVLM 自身把查询门控为「全局」或「局部」两类;最后按路由结果分别激活「相关性-覆盖度混合采样」或「事件感知三阶段采样」分支,选出 K 帧交给 LVLM 作答。全程无需任何额外训练。
查询分流:全局/局部路由(Query Gating)
不同问题所需的视觉证据形态不同:「这部电影是什么类型」这种问题没有可定位的具体画面,若按相关性选帧反而会引入噪声;而涉及具体人物、动作、场景或 OCR 文字的问题则可以定位到某个事件片段。VisualRouter 不训练额外分类器,而是直接把问题和候选选项一起喂给 LVLM,用一段提示词判断该问题是否包含「视觉锚点」——只要问题或任一候选选项能被直接定位到画面元素,就路由到 LOCAL 分支,否则路由到 GLOBAL 分支。LongVideoBench 因为问题类型天然要求跨片段整合证据,直接固定路由到 LOCAL 分支。
帧级信号提取:相关性分数与视觉特征
两条分支共用同一组底层信号。用 BLIP2 的图文匹配头计算每个候选帧 与查询 的相关性:
同时取 BLIP2 视觉编码器的语义特征 (L2 归一化)刻画帧间语义相似度,再用 DINOv2 提取对底层外观、镜头切换更敏感的特征 ,计算相邻帧的视觉变化:
前者服务于相关性排序和事件语义边界检测,后者专门捕捉镜头切换等突变。
全局分支:相关性-覆盖度混合采样
全局查询往往缺乏明确视觉锚点,单纯按相关性选帧容易集中在少数几帧、丢失整体语境;但纯均匀采样又完全忽略查询相关性。VisualRouter 因此把帧预算 K 一分为二: 帧从候选序列里均匀采样保证时序覆盖,其余帧从未被选中的候选里按相关性分数 取最高的补齐;两个子集合并去重、按时间排序后输出。若出现重复帧就删除并用相关性次高的候选帧填补空位,保证输出恰好 K 帧。
局部分支第一步:事件切分
局部查询的证据通常集中在一到几个事件片段里,因此第一步要把候选帧序列切成语义连贯的段。直接比较相邻帧特征容易被短时噪声误判为镜头切换,VisualRouter 先对归一化 BLIP2 特征做指数滑动平均(EMA)作为「近期语境」的稳定参照,再算当前帧对该参照的语义漂移:
将其与视觉变化分数 平滑归一化后融合成边界分数 (实现取 ),对 做局部峰值检测即得到 M 个事件片段。
局部分支第二步:段级帧配额分配
不同事件片段该拿多少帧,需要同时看「相关不相关」和「长不长」两个因素——更相关、更长的片段该分到更多帧。对每个片段 ,取其峰值相关性 和均值相关性 (峰值捕捉强证据,均值提供稳健估计),结合片段长度 定义重要性权重:
按 归一化后乘以总预算 K 得到每段应分到的浮点帧数,取整后把剩余名额分给小数部分最大的片段,确保总数恰好等于 K;若所有片段权重都是 0,则退化为按长度或均匀分配。
局部分支第三步:段内多样性选择(k-DPP 去冗余)
直接在每段里取相关性最高的 帧,常常选出时间相邻、内容几乎相同的帧,造成证据冗余。VisualRouter 在每段内构造一个「质量-相似度」核矩阵,用行列式点过程(k-DPP)同时兼顾相关性和多样性:令质量分 ( 放大高相关帧的权重)、相似度 ,核矩阵为:
选出使子矩阵行列式最大的 帧子集——两帧越相似,对应行列越接近线性相关,行列式就越小,因此高判别力的做法自然会压低冗余帧的得分。由于精确子集搜索代价太高,实际用贪心边际增益近似:每步选使 增量最大的帧,直到选够 帧为止,这正是「为什么用 DPP 而不是直接取 Top-k」的关键——DPP 的行列式结构天生偏好覆盖广、不重叠的组合。
小结
一句话:VisualRouter = 用 LVLM 自身给查询做全局/局部门控 + 全局分支拼相关性与均匀覆盖 + 局部分支拼事件切分、按相关性配额、k-DPP 段内去冗余,全程免训练、即插即用地给任意 LVLM 提升长视频理解。
实验与关键数据
实验在 Video-MME、LongVideoBench、MLVU 上接入五种 LVLM 骨干,固定参数只换采样策略。VisualRouter 全面优于均匀采样,也优于 Top-K、BOLT、AKS、WFS-SB 等训练无关基线。
关键数据
影响与局限
VisualRouter 把「帧预算怎么分配」从单一目标(相关性或覆盖度或多样性)优化,转成「先判断证据分布、再选策略」的两阶段设计,填补了训练无关采样方法「一刀切无视查询类型」的空白。相比 Top-K、AKS、BOLT、WFS-SB,它在 15 个骨干×基准组合里持续取得最优或接近最优结果,为后续工作提供了「按证据分布路由」的可复用范式。
局限与不足
论文本身也有几点局限:其一,查询门控依赖 LVLM 自身对「视觉锚点」的判断,门控错误会直接决定后续走哪条采样分支,而论文未报告门控准确率或门控出错时的降级表现;其二,事件切分依赖 BLIP2 语义漂移与 DINOv2 视觉变化的加权融合和峰值检测,融合权重 及峰值检测阈值是经验设定,对不同视频风格(如剪辑密集的短视频广告 vs 长镜头纪录片)的鲁棒性未做系统评估;其三,BLIP2-ITM、DINOv2 逐帧打分与逐段 k-DPP 行列式最大化带来额外的预处理计算开销,论文没有报告相对于均匀采样的推理延迟或算力代价对比;其四,评测只覆盖了 Video-MME、LongVideoBench、MLVU 三个问答式基准,未验证在需要精确时间定位(如时序定位、密集字幕)任务上的效果。