OmniSTVG — 按句子把视频里所有相关物体都框出来
是什么
OmniSTVG(Spatio-Temporal Omni-Object Video Grounding)是 2025 年提出的时空全对象视频定位任务:给你一段未剪辑视频和一句自由文本(如「四名女子在海滩上与鲸鱼互动」),系统要在时间轴上标出事件起止,并在每一帧上为句子里提到的每一个目标画出边界框,形成一条条「时空管」(spatio-temporal tube)。
日常类比:经典 STVG 像保安只盯一个人——「穿红衣服的男人在哪」。OmniSTVG 像活动导播要同时跟拍句子里所有演员:四名女子、鲸鱼、可能还有互动对象,每个人/物都要在正确时间段里被框住。论文配套发布 BOSTVG 基准(10,018 段视频、1,020 万帧、287 类物体)和基线模型 OmniTube(Transformer 编码器-解码器 + 多对象 query)。
与 vidstg-2020 等「单目标 STVG」不同,OmniSTVG 不要求查询只含一个名词;与只做时间定位的 qvhighlights-2021 不同,它还要在像素平面上画框。概念上作者把它比作视频版的「Segment Anything」——但触发条件是文本里提到的对象,而不是随便点哪里。
为什么重要
不理解 OmniSTVG,下面这些事容易误判:
- 为什么 VidSTG、HCSTVG 高分不等于「懂多人物场景」——它们每条查询只定位一个目标;真实监控、体育、机器人场景里一句描述常含多个实体及其互动对象
- 为什么 2025 年需要新 benchmark 而不是把 DVD-ST 当终点——DVD-ST 只定位查询中的部分目标且偏同类多实例;BOSTVG 要求句中全部提及对象(含不同类别)都有时空管标注
- 为什么把单目标 STVG 模型「循环跑 N 次」不可行——每多一个对象就多一次前向,算力线性涨且无法建模对象间共现关系;OmniTube 用每帧多 query 一次出齐
- 为什么 spacevllm-2025 等空间 Video LLM 路线仍要回头看 STVG 数据集——LLM 擅长答「有什么」,但产品要「框在哪、从几秒到几秒」仍需 BOSTVG 这类带 tube 标注的硬指标(m_tIoU、m_vIoU、vIoU@R)
核心要点
-
OmniSTVG = 全对象 + 时空管。每条样本 = 视频 + 自由文本 + 1–10 个目标(平均 2.4 个),每个目标一条 tube(时间段内每帧一个框)。类比:不是只圈「主角」,而是把剧本里列出的角色在同一幕戏里全部标出来。
-
BOSTVG 规模与质量。10,018 段 YouTube 视频(CC 许可)、287 类(来自 ImageNet、V3Det 等)、平均长约 1,014 帧;训练 8,106 / 测试 1,912。标注经「标注队 → 三位专家验收 → 返工」多轮,独立复检 100 段 tube IoU 约 0.90。
-
OmniTube 架构。ResNet-101(外观)+ VidSwin(运动)+ RoBERTa(文本)→ 自注意力融合;空间解码器每帧 N_q 个 object query(用文本引导的 Top-M 视觉特征初始化),预测框 + 词位置索引;时间解码器共享起止时间戳;Tubelet 匹配用匈牙利算法跨帧连框,再按文本词过滤假阳性。
-
评测要同时看时间与体积 IoU。m_tIoU 量时间区间对齐;m_vIoU 量所有目标的时空管体积重叠(多对象时不能只看一条 tube);vIoU@0.3/0.5 是召回式阈值指标。测试集还按目标数拆成 Low(1–3)、Medium(4–6)、High(7+)子集,对象越多越难。
实践案例
案例 1:BOSTVG 标注长什么样
{ "video_id": "bostvg_00421", "query": "Four women interact with whales on the beach", "temporal_segment": [12.5, 48.0], "targets": [ { "phrase": "four women", "tube": [ {"frame": 25, "bbox": [120, 80, 240, 360]}, {"frame": 26, "bbox": [118, 82, 238, 358]} ] }, { "phrase": "whales", "tube": [ {"frame": 30, "bbox": [400, 200, 620, 340]} ] } ]}temporal_segment:整句描述对应的共享时间窗(OmniSTVG 里同一句的所有目标共用起止)- 每个
targets[i]:句中一个语义对象及其跨帧框序列(tube) - 与 vidstg-2020 单 tube 标注相比,这里
targets是数组且元素可跨类别
案例 2:用官方仓库训练 OmniTube
git clone https://github.com/JellyYao3000/OmniSTVGcd OmniSTVG
# 下载 BOSTVG 标注与预提取特征(见 data/README)# 2D: ResNet-101;3D: VidSwin;文本: RoBERTa;部分权重来自 MDETR 预训练
python train.py \ --config configs/omnitube_bostvg.yaml \ --train_split bostvg_tra \ --fps 2 \ --short_side 320
python eval.py \ --split bostvg_tst \ --checkpoint checkpoints/omnitube_best.pth论文在 BOSTVG 全测试集上 OmniTube 约 35.83% m_tIoU、9.47% m_vIoU、6.17% vIoU@0.3;改编的 TubeDETR / STCAT / CG-STVG 在同一数据上 m_vIoU 仅 7–8% 档,说明多对象专用设计必要。复现时注意 FPS=2 抽帧与训练增广(随机缩放裁剪)须与论文一致。
案例 3:读分难度子集结果(论文 Table 3 思路)
子集 目标数/视频 OmniTube m_vIoU 改编 TubeDETR m_vIoU────────────────────────────────────────────────────────────────────BOSTVG_Tst-Low 1–3 10.11% 7.99%BOSTVG_Tst-Med 4–6 7.24% 5.81%BOSTVG_Tst-High 7–10 4.42% 3.91%BOSTVG_Tst-Full 1–10 9.47% 7.52%
读法:对象越多,空间-时间管对齐越难;vIoU@0.5 在全集仅 ~0.89%,说明「多对象 + 细框」远比单目标 VidSTG 苛刻,仍有很大提升空间踩过的坑
-
把 OmniSTVG 当成「多实例同类检测」:DVD-ST 等同质多框场景与 BOSTVG「句中不同类别对象都要定位」不同;直接搬 DVD-ST 协议会漏评互动对象。
-
用单目标 STVG 模型不改编就评测:TubeDETR 等默认只出一条 tube;论文里改编版仍比 OmniTube 低约 2 个 m_vIoU 点,说明输出头与匹配策略必须按多 query 重设计。
-
忽略「全对象共享时间段」:同一句查询里女子与鲸鱼共用
[start, end];若给每个目标单独预测时间窗,与 BOSTVG 标注协议不一致,m_tIoU 会系统性偏低。 -
只看 m_tIoU 不看 m_vIoU:时间对齐对了但框飘到背景,m_vIoU 仍接近 0;OmniSTVG 产品要同时优化「哪几秒」和「哪几个框」。
适用 vs 不适用场景
适用:
- 研究或部署「一句描述 → 多目标时空跟踪」:监控里同时跟嫌疑人与车辆、体育里跟球员与球
- 需要比 vidstg-2020 更贴近真实多实体查询的新 benchmark 对比
- 验证 Transformer STVG 路线(TubeDETR、CG-STVG)能否扩展到 all-object 设定
- 为 spacevllm-2025 等空间 Video LLM 提供「框 + 时间」硬标签训练或评测补充
不适用:
- 只关心「第几秒发生什么」、不需要像素框(用 qvhighlights-2021、univtg-2023 更省事)
- 开放域视频对话、不强调定位精度(用 Video LLM QA benchmark 更合适)
- 查询中无明确可数对象的长篇叙事(BOSTVG 不收录「零目标」视频,偏实体可见场景)
- 算力极紧的边缘部署(OmniTube 需 ResNet-101 + VidSwin + 多帧 Transformer,远高于单目标两阶段 STVG)
历史小故事(可跳过)
- 2017–2020:STPR、VID-Sentence、vidstg-2020 确立「文本 → 单目标时空管」范式,VidSTG 从 VidOR 关系检测扩展出 79 类、约 99k 查询
- 2021–2024:HCSTVG 系列聚焦人物;CG-STVG、TubeDETR 等把 DETR 引进单目标 STVG;同期 moment retrieval 在 qvhighlights-2021 爆发
- 2024:DVD-ST 并发工作支持部分多目标,但数据未公开且偏同类;OmniSTVG 论文明确区分「all-object in query」
- 2025-03:arXiv 2503.10500 发布 OmniSTVG + BOSTVG + OmniTube;OpenReview 归类 datasets and benchmarks
- 社区:项目页 jellyyao3000.github.io/OmniSTVG;代码 JellyYao3000/OmniSTVG;287 类层次表见补充材料
学到什么
- 单目标 STVG 是特例,不是终点——真实查询常含多个名词与互动对象;新任务 OmniSTVG 把「句中提到的都要框」写进问题定义
- Benchmark 设计塑造能力上限——BOSTVG 的 1–10 目标分布、287 类、多轮质检,逼模型做集合预测 + 跨帧关联,而不是重复跑单目标模型
- 文本引导 query 初始化有效——OmniTube 用 Top-M 文本相似视觉特征生成空间/时间 query,比固定 learnable query 在 m_vIoU 上高约 4 点(相对去掉 query generation 的 baseline)
- 多对象让指标「看起来很低」——全集 vIoU@0.5 不足 1% 不代表任务无用,而是 all-object tube 对齐难度远高于 VidSTG 单管
- 与 Video LLM 互补——spacevllm-2025 等偏语义空间推理;OmniSTVG 提供可机检的 tube 标注,适合「检测器 + LLM」分工里的检测一侧
延伸阅读
- 论文 PDF:arXiv 2503.10500
- 项目主页:OmniSTVG Project Page
- 官方代码:JellyYao3000/OmniSTVG
- 前置任务:vidstg-2020 —— 经典单目标 STVG 与 VidSTG 数据集,OmniSTVG 的直接扩展前作
- 空间 Video LLM:spacevllm-2025 —— 空间维度视频理解;与 OmniSTVG 的像素级 grounding 形成上下游
- qvhighlights-2021 —— 仅时间轴 grounding(moment + highlight),无逐帧框,对比「要框还是要秒」
- vid-llm-survey-2023 —— 综述 STVG 与 Video LLM 交界;OmniSTVG 代表 2025 多对象 STVG 新方向
关联
- vidstg-2020 —— 直接前作:定义单目标时空管;OmniSTVG 把「1 个目标」推广为「句中全部目标」
- spacevllm-2025 —— 空间视频理解 LLM 路线;OmniSTVG 提供 tube 级硬标注,可作其 grounding 监督或评测
- qvhighlights-2021 —— 查询驱动时间定位(无框);OmniSTVG 多了一步空间 tube,任务更难也更贴近「指给谁看」
- univtg-2023 —— 统一 moment / highlight / 摘要的 VTG 框架;时间侧互补,但不预测多对象框
- hawkeye-2024 —— LLM 递归缩窗做时间 grounding;与 OmniTube 的检测器路线形成「文本输出 vs 框输出」对照
- clip —— 多模态对齐思想与 MDETR 预训练来源;OmniTube 文本-视觉 query 生成同源
- video-understanding —— 专题枢纽;STVG 子路线在 VidSTG 之后读 OmniSTVG
反向链接
- clip —— CLIP — Contrastive Language-Image Pre-training
- hawkeye-2024 —— HawkEye — 用递归缩窗把文本查询钉在长视频时间轴上
- qvhighlights-2021 —— QVHighlights — 用自然语言查询在视频里找精彩瞬间
- spacevllm-2025 —— SpaceVLLM — 一个 MLLM 同时做时序定位、图像指代与时空管定位
- univtg-2023 —— UniVTG — 把视频时刻定位、高光检测、摘要合成一套框架
- vid-llm-survey-2023 —— Vid-LLM Survey — 用大语言模型理解视频的全景地图
- vidstg-2020 —— VidSTG — 用自然语言在长视频里框出「谁在何时何地」