LensWalk: Agentic Video Understanding by Planning How You See in Videos¶
会议: CVPR 2026
arXiv: 2603.24558
代码: 无
领域: 视频理解
关键词: 视频智能体, 主动观测, 视觉语言模型, 长视频理解, 工具调用
一句话总结¶
提出LensWalk,一个让LLM推理器主动控制视频观测范围和采样密度的智能体框架,通过reason-plan-observe循环实现自适应视频理解,无需微调即可在长视频基准上带来5%以上的即插即用性能提升。
研究背景与动机¶
视频理解是计算机视觉的核心任务,但视频的密集时序性质给自动分析带来巨大挑战。现有视频理解方法面临一个根本矛盾:推理与感知之间存在断裂。
现有方法主要存在三类问题:(1) 单次前向方法将视频均匀采样为固定视觉上下文,容易遗漏关键事件或被冗余信息淹没;(2) 启发式关键帧选择方法虽更精细,但仍是一次性静态采样,无法随中间假设变化而调整;(3) 基于检索的智能体虽可动态获取信息,但操作的是预处理过的静态表征(如ASR转录、clip级caption),无法从源视频中按需生成新的观测。
核心矛盾:模型的推理过程应该驱动它"看什么"和"怎么看",但现有管线将观测和推理割裂——观测在推理之前一次性完成,或受限于固定的预处理工件。本文的切入角度是借鉴人类的视觉认知策略:人类通过有目的的信息搜寻来应对信息过载,不断在宏观扫视和精细聚焦之间切换,并在过程中持续反思和校验。核心idea:让LLM推理器自主决定观测的时间范围和采样密度,将视频理解转化为主动的推理-计划-观测循环。
方法详解¶
整体框架¶
LensWalk要解决的是"推理和观测割裂"这件事:传统管线先把视频采样成固定的视觉上下文,再让模型一次性推理,模型没有机会根据自己推到一半的假设回头去"重新看一眼"。LensWalk把它改造成一个多轮闭环——推理器(\(M_r\))看着当前问题和手上已有的证据,先想清楚"接下来该看视频的哪一段、看多细、想确认什么",把这个想法写成一个结构化的行动计划\(a_t\);计划交给 VLM 观察器(\(M_o\))真正去视频里取帧、看图、回话;观察器吐出的视觉证据再追加进历史,喂给下一轮推理。如此 reason → plan → observe 循环往复,直到推理器认为证据足够、给出最终答案。为了让这个长循环不至于在"时间定位"和"人物指代"上跑偏,系统还在历史之外挂了时间戳锚点和一张全局实体记忆表做支撑。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400, 'subGraphTitleMargin': {'top': 8, 'bottom': 16}}}}%%
flowchart TD
A["输入:视频 + 问题"] --> B["推理器 M_r<br/>基于历史证据推理"]
B --> C["推理调度的主动观测机制<br/>行动四元组 a_t(工具 / 子问题 / 时间范围 / 参数)"]
C --> D
subgraph D["多粒度观测工具套件(三选一)"]
direction TB
D1["Scan Search<br/>宽范围稀疏粗扫 ~180 帧"]
D2["Segment Focus<br/>单段高密度细读 ~32 帧"]
D3["Stitched Verify<br/>跨段拼接核验 ~128 帧"]
end
D --> E["观察器 M_o(VLM)<br/>取帧看图、回话"]
E --> F["证据锚定与实体记忆<br/>时间戳锚点 + 全局实体记忆表"]
F --> G["视觉证据追加进推理历史"]
G -->|证据不足| B
G -->|证据充足| H["输出最终答案"]
关键设计¶
1. 多粒度观测工具套件:让"怎么看"有三档不同的镜头
如果只给智能体一种采样方式,它要么在长视频里漏掉关键事件,要么在该看细节时分辨率不够。LensWalk 于是提供三种互补的观测工具,对应"发现—聚焦—验证"三种认知动作。Scan Search 在一段很宽的时间范围内并行抽稀疏切片(每次约 180 帧)做粗扫,用来快速定位线索大概在哪;Segment Focus 锁定单个时间段做高密度采样(约 32 帧),把那一小段的细粒度动作、文字、物体看清楚;Stitched Verify 则把几个不连续时间段的帧拼进同一批次(约 128 帧),让观察器能跨段对比、做因果核验(比如"前面出现的那个人是不是后面摔倒的那个")。三者各管一档粒度,组合起来覆盖了从全局搜索、局部细读到跨段整合的完整链条,而不是逼一种采样策略去同时满足相互冲突的需求。
⚠️ 三个工具的具体帧预算(180 / 32 / 128)以原文为准。
2. 推理调度的主动观测机制:把观测计划写成可追踪的结构化动作
光有工具还不够,关键是让推理器在每一步都能显式决定看哪里、怎么看,并且这个决定要能被后续步骤回溯。LensWalk 把每一轮的行动参数化成一个四元组
其中 \(o_t\) 是选哪个观测工具,\(q_t\) 是引导观察器的子问题,\(\mathcal{I}_t\) 是要观测的时间范围,\(\rho_{o_t}\) 是该工具特有的参数(如采样密度)。这等于把"推理状态 → 观测计划"做成了一次端到端映射:推理器想确认什么,就直接翻译成对视频的一次具体调度。更重要的是,这些带参数的计划会原样留在历史里,于是智能体能看见自己已经扫过哪些区间、哪些区间还没碰过,从而把后续的观测预算优先投到尚未探索的地方,而不是盲目重复。
3. 证据锚定与实体记忆:让长循环里的"时间"和"人物"不漂移
多轮推理最容易出两种错:一是答案说不清事件到底发生在第几秒,二是同一个人/物体在不同轮里被反复重新识别、甚至指代混乱。LensWalk 用两个机制兜底。时间戳锚点在观察器读帧时插入帧间时间标记,于是观察器的回话天然带着精确的时间引用,既让后续能据此再精确地回看那一段,也避免了"看到了但说不出在哪"。全局实体记忆表则独立挂在推理历史之外,专门记录各实体的属性和出现时间;这样跨轮时不必每次都从头辨认同一个对象,省掉重复识别的开销,也防止越来越长的历史上下文把实体指代搅乱。
一个完整示例:在一段长视频里回答"谁先离开了房间"¶
假设输入是一段几十分钟的会议录像,问题是"会议中第一个离开房间的人穿什么颜色的衣服"。LensWalk 大致会这样走一遍循环:
- 第 1 轮(粗扫定位):推理器判断"先得找到有人起身离场的时刻",发出 \(a_1\)=(Scan Search, "有人起身走向门口的片段在哪", 整段 0–40min, 稀疏密度)。观察器在约 180 帧上粗扫,回话"约 18–22min 间门口有人活动",并带回时间戳锚点。
- 第 2 轮(聚焦细读):推理器据此发出 \(a_2\)=(Segment Focus, "谁起身离开、穿什么颜色", 18–22min, 高密度)。观察器在约 32 帧上细看,回话"21:05 一名穿深蓝外套的男士走出房门",该实体被写入全局实体记忆表。
- 第 3 轮(跨段核验):为确认"第一个",推理器要排除更早是否有人离场,发出 \(a_3\)=(Stitched Verify, "0–18min 内是否还有人离开", 拼接 0–6 / 6–12 / 12–18min, 约 128 帧)。观察器跨段对比后确认更早没有离场事件。
- 收束:证据已闭环,推理器输出"深蓝色"。整个过程只对真正相关的区间做了高密度观测,峰值上下文远小于把全片均匀塞进模型。
可以看到,是推理器的中间假设在一步步驱动"看哪里、看多细",而记忆表和时间锚点保证了三轮之间指的是同一个人、同一个时刻。
损失函数 / 训练策略¶
LensWalk 是无需训练的即插即用框架,不微调任何模型,推理器同时兼任实体记忆表的更新器。运行时智能体最多调用 20 次工具、每轮一次;Scan Search / Segment Focus / Stitched Verify 单次调用的帧预算分别约为 180 / 32 / 128(⚠️ 具体数值以原文为准)。
实验关键数据¶
主实验¶
| 数据集 | 指标 | 本文(最佳配置) | 之前SOTA | 提升 |
|---|---|---|---|---|
| LVBench | Accuracy | 68.6% (o3自身) | 60.8% (MR.Video) | +7.8% |
| VideoMME Long | Accuracy(w/o sub) | 71.4% (o3自身) | 67.3% (DVD) | +4.1% |
| LongVideoBench | Accuracy | 70.6% (o3自身) | 68.6% (DVD) | +2.0% |
| MMVU (MC) | Accuracy | 80.9% (o3/GPT-4.1) | 78.9% (o3) | +2.0% |
| Video-MMMU | Overall | 78.33% (o3自身) | 75.44% (o3) | +2.89% |
| EgoSchema | Val | 77.2% (o3/Qwen2.5-VL-72B) | 76.6% (DVD) | +0.6% |
消融实验¶
| 配置 | 关键指标(VideoMME Long) | 说明 |
|---|---|---|
| 完整LensWalk (o3/GPT-4.1) | 70.0% | 基线 |
| 去掉Scan Search | 65.4% | 下降4.6%,定位线索最关键 |
| 去掉Stitched Verify | 66.8% | 下降3.2%,跨时间段整合重要 |
| 去掉Segment Focus | 68.1% | 下降1.9%,细粒度提取有贡献 |
| 无Timestamp Anchor | 69.4% | 下降0.6% |
| 无Subject Memory | 69.7% | 下降0.3% |
关键发现¶
- o3作为自我观测者(推理器和观察器为同一模型)时表现极好,LVBench上提升11.5%,VideoMME Long上提升6.7%,作为"免费午餐"
- 开源推理器Qwen3-235B-A22B对弱观察器(Qwen2.5-VL-7B提升4.3%)有效,但对强观察器(GPT-4.1仅+0.1%)帮助有限
- 智能体展现出六种行为模式:直接查询、渐进缩放、范围分割、策略反思、整合验证和静态重复
- 框架自适应分配观测预算:简单问题用少量帧快速解决,复杂问题投入更多观测轮次
亮点与洞察¶
- 将"如何观测"纳入推理循环的核心设计理念非常优雅,类比人类有目的的视觉搜索策略
- 无需微调的即插即用特性使其可以直接提升现有模型,工程价值很高
- 涌现出的多样化认知策略(渐进缩放、策略反思等)展示了智能体的自主推理能力
- Token消耗与单次前向方法相当,同时大幅降低了每轮峰值Token数,缓解了长上下文的内存压力
局限与展望¶
- 框架效果高度依赖推理器的认知能力——弱推理器可能生成无效的观测计划
- 仍存在少量"静态重复"行为(反复观测相同区域),虽然比例低但表明规划机制仍不完美
- 当前的观测工具仅适用于视觉模态,未利用音频、字幕等多模态信息
- 最大20次工具调用的限制在极端长视频场景下可能不够
相关工作与启发¶
- vs Deep Video Discovery: DVD通过预生成整个视频的caption来支持推理,消耗百万级Token;LensWalk按需观测,Token消耗近似单次前向方法,同时精度更高
- vs MR.Video: MR.Video依赖预处理的clip检索,观测粒度和范围固定不变;LensWalk可以动态调整观测的时间范围和采样密度
- vs VideoAgent: VideoAgent的工具仅操作预处理产物;LensWalk直接从源视频中调度新的观测
- 启发: "可扩展的视觉认知"理念——不仅要扩大模型规模,还要让模型学会主动观测
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 将视频理解重新定义为主动观测调度问题,理念创新且实现优雅
- 实验充分度: ⭐⭐⭐⭐⭐ 6个基准、多种模型组合、详细消融和行为分析
- 写作质量: ⭐⭐⭐⭐⭐ 叙事流畅,原理阐述清晰,实验分析深入
- 价值: ⭐⭐⭐⭐⭐ 即插即用框架,可直接提升现有强模型,实用性极高