• 正文
  • 相关推荐
申请入驻 产业图谱

视频理解,而不仅仅是VLM:利用SAM 3构建基于证据的视觉记忆

07/28 11:24
191
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

经过多年与视频分析相关的工作,我不断回到同一个令人不舒服的问题:当系统对视频给出精确答案时,它能展示这个答案的来源吗?

视觉语言模型(VLM)可以观看视频,并给你一个令人信服的描述。但当你问它“物体究竟何时越过边界”、“占据了一个区域多久”、或者“哪些帧支持这个答案”时,问题就出现了。

    描述是一项语言任务。测量是一项证据任务。 这种区分促使我构建了“扎根视觉智能”(Grounded Visual Intelligence):一个将视频转化为结构化、可查询证据的实验,然后再让语言模型解释任何东西。

我希望系统遵循一个简单的规则:

让感知模型来观察。让确定性工具进行测量。让 LLM 来规划和解释——并附上引用。

本文将这条规则转化为一个小型可操作系统,以 SAM 3 作为主要感知路径,Grounded DINO + SAM 2 作为可复现的基线。两条管道处理相同的十秒视频,并输出相同的模型无关证据图。

一、流利的回答还不算是经过衡量的答案

想象一下,你问一个视频助手:“白杯是什么时候从隔板的左侧移到了右侧的?”

多模态模型可能会回答“大约四秒”。这很有用,但也留下了几个工程问题未解:

在帧间遵循了哪些物体身份?

哪条空间规则定义了“左”和“右”?

估算的时间分辨率是多少?

其他组件能否在不重新运行 LLM 的情况下重现答案?

审查者可以直接查找支撑帧吗?

问题不仅限于错误的答案。一个答案可能大致正确,但由于证据、语义和不确定性被隐藏,操作上仍然薄弱。对于可衡量的视频问题,我想要不同的合同:如果系统能从跟踪的观测中计算时间戳,那么语言模型就不必从像素中估计时间戳。

二、架构:一层可移动的证据

管道有四项核心职责,清晰划分了感知、测量与语言的界限。

    1. 感知产生观察

感知层检测或提示对象,将其分割,并通过剪辑保持其身份。

主路径 (SAM 3):其“可提示概念分割”接受概念提示,并返回跨图像和视频的持久身份掩码。它结合了图像级检测与基于内存的视频跟踪器。

基线 (Grounded DINO + SAM 2):Grounded DINO 将文本提示转换为第一帧的开放集检测;SAM 2 利用其流式存储器架构将选定对象通过视频传播。

这两条是非常不同的模型栈,但系统的其他部分不应该在意

    2. 证据图对输出进行规范化

每个适配器都会将其本地张量和响应对象转换为可移植的场景文档。中央记录刻意保持小巧:

Scene  metadata: source, width, height, fps, duration  tracks[]    track_id    concept    observations[]      frame_index      timestamp_s      bounding_box      confidence      mask_uri  zones[]  provenance[]

掩码存储为行主要二进制 RLE 伪影(Artifacts)。模型权重、CUDA 张量和框架对象不跨越此边界。这意味着测试、分析工具和浏览器可以从录制的 JSON 和 RLE 文件中工作,而无需导入 PyTorch 或任何 SAM 实现

    3. 确定性工具回答可测量问题

场景内存暴露以下操作:

统计概念的实例;

在某个时间范围内检索一条轨道;

测量观察到的区域内的占用率;

识别一个区域的最后一个观测和另一个区域的第一个观测;

提交作为证据的确切音轨、帧数和时间范围。

答案是价值加上证据的引用——而不仅仅是一句合理的句子。

    4. LLM 负责编排和解释

LLM 将用户问题转化为工具调用,并将结果转化为可读的语言。但它不拥有计数、过渡规则或时间戳。这些仍是确定性且不可检视的。生成发生在测量之后,这改变了整个交互的可靠性。


三、受控场景:白杯子实验

我选择了一个刻意简单的合成场景:一个白色杯子从标记为 A 的区域移动到标记为 B 的区域,穿过狭窄的隔板,同时经过一本笔记本。这个场景几乎无聊——但这很有用,让你更容易仔细审视每个假设。

属性
持续时间 10 秒
采样率 4 fps
分辨率 560 × 316
总帧数 40
提示词 “white cup”
交互修正 None (Google Colab Tesla T4)

A 区和 B 区排除了分隔带周围的狭窄归一化带。区域成员使用轨道边界框的归一化中心。在 4 帧每秒时,本次运行中最细的过渡分辨率为 250 毫秒


四、系统能捍卫的答案

这两种感知路径都产生了:一条杯赛跑道、40 个观测、没有遗失的证据框架、无轨道间隙、相同的 A 到 B 边界。

    确定性答案是:

白杯在 3.75 秒到 4.00 秒之间从 A 区移到 B 区。它最后一次在 A 区(帧 15)被观测到,首次在 B 区(帧 16)被观测到。在 4fps 采样下,过渡被局部化为 250 毫秒窗口。

测量的入住率也完全一致:

测量项 Grounded SAM 2 SAM 3
A 区证据间隔 0.00 – 3.75 s 0.00 – 3.75 s
A 区停留 4.00 s 4.00 s
B 区证据间隔 4.00 – 9.75 s 4.00 – 9.75 s
B 区停留 6.00 s 6.00 s

 

五、两条模型路径的一致性有多大?

找到同一个杯子是意料之中的部分。更有趣的是:这两条管道是否产生了足够相似的空间证据以支持相同的测量?我逐帧匹配它们的单杯轨迹,并比较了二进制遮罩、包围盒和遮罩重心。

在全部 40 帧中,结果惊人地一致:

一致度量指标 结果
平均掩蔽 IoU 0.9694
中位掩蔽 IoU 0.9692
最小掩蔽 IoU (在 3.75s 处) 0.9487
最大掩蔽 IoU 0.9829
平均边界框 IoU 0.9648
平均重心距离 0.447 px
最大重心距离 1.068 px

掩膜重叠最低发生在最后一个 A 区观测点(杯子靠近分隔线和笔记本时)。即便如此,两个系统在概念、身份、区域和过渡证据上也达成了一致。

⚠️ 重要限制:一致性不等于准确。该片段没有手工注释的真实地面掩码。两个系统可能一致,但同样错误。比较支持一个更狭窄的结论:对于该受控场景,任一感知堆栈在实质上都会产生相同的下游证据和确定性答案。


六、信心是整体模式的一部分——而非普遍数字

这两条流程还揭示了为什么模型元数据必须保留其语义。

在 Grounded SAM 2 中,传播观测的置信度是初始 Grounding DINO 种子分数。

在 SAM 3 中,重复值是文本提示的配乐。

两者都不应以 40 个独立校准的帧置信度形式呈现,且不应直接比较。因此,证据探索者对它们进行了不同的标签:seed_score(种子评分)和 track_score(轨道评分)。泛名字段(如 confidence)只有在其来源和含义随之传播时才有用。


七、操作观察,不是速度排行榜

这两次运行都记录了在 Colab T4 上的相位时序和存储:

指标 Grounded SAM 2 SAM 3
总耗时 37.30 秒 19.57 秒
GPU 最高分配内存 3.28 GiB 1.81 GiB
进程 RSS 3.88 GiB 5.23 GiB

很容易就停下来,宣称“SAM 3 更快更轻”。但数据尚未完全支持这一结论:依赖边界不同,模型加载路径不同,且这些都是单次运行。此外,进程 RSS 的移动方向是相反的(SAM 3 的常驻内存反而更高)。

Grounded SAM 2 笔记本还报告其可选编译扩展无法导入,因此跳过了可选的后处理。核心传播正常完成,我把警告记录了下来。当可重复性包含那些尴尬的设置细节时,它更有用。


八、使答案变得可查验

最后一个界面是一个静态证据浏览器。它不进行托管 GPU 推理,也不向 LLM 发送请求。它加载经过验证的视频、两个归一化的场景轨道及其 80 个 RLE 掩码。

探险者让读者可以:

寻找引用的边界框架;

擦洗证据时间线;

在 SAM 3 与 Grounded SAM 2 之间切换;

切换遮罩、方框和区域;

检查覆盖范围、空档、得分、时机和记忆来源。

SAM 3 是默认视图,因为它提供了最简洁的主概念提示路径。Grounded SAM 2 依然作为无限制的基线存在。


九、实验证明了什么——以及它不能证明什么

对我来说,最有用的结果是架构。它表明,两种不同的视频感知堆叠可以简化为一个稳定的证据契约。一旦契约存在,时间和空间问题就变成了对轨道的确定性操作,而不是对像素的开放式猜测。

该实验尚未证明系统总体上能减少 VLM 误差。它不评估:

直接 VLM 基线

拥挤场景、多个同类实例

长时间遮挡、重新识别、摄像机运动

真实操作画面(缺少真实掩码和过渡注释)

未来的测试应包括:构建带注释的多场景评估集、增加遮挡与再入、区分身份/掩膜/时间抽样的不确定性、通过深度和 3D 几何扩展图、测量端到端的答案质量与成本。


十、更大的理念

视频基础模型在检测、分割和跟踪概念方面变得更为出色。这使得上层架构的重要性变得更高,而非减少。

应用仍需保存:观测到了什么、何时观测到、如何测量、以及哪些工件支持该主张。否则,即使是强大的感知模型,也会成为文本生成器的另一个不透明输入。

我现在偏好的设计原则很简单:

“如果视觉事实可以被测量,不要让语言模型去发明它。给模型一个工具,保留证据,让答案变得可寻。”

这就是“听起来正确的视频系统”和“能展示其工作的视频系统”的区别。


    可重复性说明

完整的仓库包含与模型无关的 Python 包、适配器、测试、两个 Colab 笔记本、受控源剪辑、验证结果文档、静态浏览器以及绘图的源代码。精确来源、预备输入、检查点和模型修订摘要均记录在运行工件和项目结果文档中。

参考文献

Carion 等,SAM 3:任何有概念的片段,2025/2026。

Ravi 等,SAM 2:图像和视频中的任意片段,2024。

Liu 等,Grounded DINO:将 DINO 与开放型物体检测的基础预训练结合,2023/2024。

Ren 等,Grounded SAM:为多样化视觉任务组装开放世界模型,2024。

Hugging Face Transformers,SAM3 视频文档。

相关推荐