输入视频
Loading…
下方为整集预览。到 Step 06 点选时间轴或表格行,可只播该段并同步看标注。
无法加载数据文件。请在本报告目录启动静态服务器后打开(例如
python3 serve_report.py --port 8765;需支持 HTTP Range 才能跳播视频片段),不要直接用受限的 file://。
第一视角(egocentric)人类视频通常由头戴相机拍摄,记录人在真实环境中完成日常操作的过程,例如在厨房切菜、在工位装配零件或在商店整理货架。相机随头部运动,双手及其操作对象构成画面的主体;场景、光照、遮挡以及操作中的失败与重试均自然发生,而非来自预设的实验室环境。近年来,EgoVerse8、EgoDex7 和 EgoLive9 等公开数据集已将此类视频扩展到千小时量级。
这类数据对机器人学习的潜在价值首先来自操作语义的可迁移性。尽管人手与机器人末端执行器的形态不同,物体状态、操作目标以及「根据观测选择动作」的高层语义仍有相通之处。因此,人类操作视频可用于视觉—语言—动作(VLA)模型的预训练,再通过真机数据将动作空间适配到具体机器人本体1。与遥操作采集的机器人数据相比,真实人类视频还具有两项优势:其一,覆盖的场景、物体和技能更为丰富,有助于提升策略在未见环境中的泛化能力;其二,采集不依赖机器人硬件和遥操作员,更容易在多个真实环境中并行扩展。
原始第一视角视频本身可以用于视频生成和世界模型训练;结合手部重建得到的腕部轨迹,还可以提供弱动作监督。这里称为「弱监督」,是因为腕部轨迹只能近似描述手部运动,并不包含机器人控制指令、接触力或执行器状态,也未必能直接映射到具体机器人本体。然而,这些信号通常不显式说明当前正在执行哪项操作,以及该操作何时完成。这类时间对齐的高层语义正是许多机器人策略所需要的监督。VLA 训练样本通常由「观测、语言指令、动作」组成,其中语言指令必须与相应的时间区间对齐。π0.5 等层级模型还会先预测高层子任务指令,再以此为条件生成低层动作1;训练这一高层模块需要时间对齐的子任务标签。分段边界同样具有独立价值:它界定一次完整操作的起止,可作为成功判定、奖励建模、技能检索以及预训练数据筛选与配比的基本单位。因此,将长视频转化为可用监督,需要同时回答两个问题:每项操作何时开始、何时结束,以及该时间段内完成了什么操作。本文将这两个问题分别称为子任务分段与语义标注。
自动完成这两项任务并不容易。第一视角画面随头部运动,手部经常遮挡操作对象;相邻动作之间缺少清晰停顿,细粒度操作又可能连续发生。人工逐段标注难以扩展至千小时规模,因此需要可审计、可复现且成本可控的自动标注流程。
以下结论仅适用于本文的实验设置:评测集为 WGO-Bench 的第一视角人类子集 HomER,共 25 个视频、470 个人工标注片段;生成侧使用开放权重的 Qwen 视觉语言模型,其中 Qwen3.6-27B 负责分段,Qwen3.5-397B 负责生成和筛选候选描述;Gemini-3.5-Flash 仅作为离线语义评判模型。三类指标的定义见 §1。数据范围或模型版本发生变化时,本文观察到的相对关系未必保持不变。
要比较不同的标注方案,需要一个公开、可复现、并且和我们的任务同构的基准——它必须同时考核「切得对不对」和「写得对不对」。本文用的是 WGO-Bench1。
WGO-Bench(What's Going On Benchmark)由 Macrodata 随其公开博客一同发布2,把「长视频 → 动作级片段 + 一句话描述」定义成一个可以打分的公开任务。它包含约 100 个 episode,每个 episode 提供人工标注的子任务时间边界,以及每段对应的一句短描述。 其中 HomER 是它的第一视角人类操作子集:画面随头动晃、手常挡住物体、动作连续且细,通常比第三人称桌面视频更难。 本报告的所有分数固定在 HomER 的 25 个视频 / 470 个参考片段上。
完整公式与直觉见 附录 A。正文只记定义与玩具例。
下面用一个人造的小例子,把 Segment F1 完整走一遍。
参考片段(gold):G0[0,3]、G1[3,6]、G2[6,10];模型预测(pred):P0[0.5,2.8]、P1[2.8,5.5]、P2[5.5,8]、P3[8,9.5]。
在我们之前,已经有几条把长视频变成子任务标注的公开路线。它们各自解决了问题的一部分,也各自留下了空白;这些空白决定了本文选择往哪些方向尝试。
VITRA5 把单目第一视角视频处理成三维手部与相机运动、原子动作片段和语言指令,它的切段依据是手部运动信号——取腕部速度的局部极小值当作动作边界。另一类更简单的做法直接按固定时长切。我们把这两类统称为 rule-based 分段。 它们共同的问题是过分割:一个动作内部的停顿、重新抓握、手腕微调都会产生速度低谷,于是「把胡萝卜放进碗里」被切成五六段。EgoANT 最早的一版分段也尝试过这条路线(HaWoR 腕速 + 低谷切段 + 相邻合并),本文把它保留为对照基线:在 HomER 上它切出 810 段,而参考只有 470 段,Segment F1 只有 0.0953。后面的 contact-sheet 方案正是为了替换掉这一版。
Macrodata · Annotating Robot Video Subtasks2 是目前最系统的公开工作:它把「长视频 → 动作级片段 + 短语义描述」定义成可打分的公开问题,发布了 WGO-Bench 与三类分数(分段、固定边界标注、端到端都有报告),给出了 contact sheet 一类的视觉输入设计和用 GEPA 搜索得到的分段 prompt,并在多个闭源与开源模型上做了对照。 它留下的空白与我们直接相关:各种 trick 的收益主要是在强模型(Gemini)上测出来的,报告没有回答预算有限、只能用开源模型时应该加哪些 trick——而这恰恰是我们要标几千小时视频时的真实约束。本文可以看作在这个约束下对它的一次补充。
Scale Labs 的 The Path to Large Scale Dense Video Captioning4 讨论的是在已经切分好的 clip 上写稠密描述,以及拼贴、时间戳、稳定抽帧这些具体工程做法。它对我们的视觉输入设计有直接启发,但它的设定默认边界已经给定,不涉及「从原始长视频里预测边界」这一步——而分段恰恰是后面会看到的端到端瓶颈。
EgoANT 是面向第一视角人类操作视频的自动标注流程:先将长视频划分为动作级片段,再为每个片段生成简洁的操作描述。在 HomER 的 25 个视频、470 个参考片段上,最佳分段配置的 Segment F1 为 0.2031;在固定参考边界上,语义标注的 Label Acc 为 55.7%;仅以视频为输入的最佳端到端配置取得 Semantic E2E F1 0.1542。这些结果表明,完全基于开放权重视觉语言模型构建可复现的第一视角子任务标注流程是可行的。
EgoANT 是我们面向第一视角人类操作视频的自动标注系统。本文涉及它的两条管线:
三个模型的分工是:Qwen3.6-27B 负责分段,也可以顺带生成一部分标注候选;Qwen3.5-397B 负责生成候选描述并从中选出定稿;Gemini-3.5-Flash 只在离线评测时充当语义评判,不参与生成标签,也不参与选择候选。早期用 Qwen 做评判的结果只作为评判敏感性检查,不计入主分数。
| 角色 | 模型 | 在本文中的作用 |
|---|---|---|
| 分段模型 | Qwen3.6-27B | 预测片段的时间边界 |
| 描述生成模型 | Qwen3.6-27B / Qwen3.5-397B | 为每个片段生成候选描述 |
| 候选选择器(selector) | Qwen3.5-397B | 从多条候选描述中选出定稿 |
| 语义评判模型(judge) | Gemini-3.5-Flash | 离线计算 Label Acc 与 Semantic E2E F1 |
completed_events_duration_prior_v1):只切已经完成的操作事件,片段长度偏好 2–10 秒,靠近、微调、收回这类动作不单独成段。后文反复出现 contact sheet、temporal collage、邻段 sheet、proxy overlay、手部裁剪这几个词,它们的差别只有看图才说得清。下面是同一段视频、同一个动作(homer_4 第 22.9–26.8 秒,「拉开床头柜抽屉」)分别渲染成五种输入的样子,参数与管线一致。
以上五张按管线参数重新渲染,用于说明差别本身。在固定边界的标注实验里,除 contact sheet 只用于分段外,其余四种都低于 raw;数字见 §6.2。
我们不把整段 MP4 作为视觉输入直接提交给模型,而是每隔 0.5 秒抽一帧,缩到约 224×144, 每张 sheet 20 格(5×4),格子上画黄色时间戳。 一张 sheet 大约覆盖 10 秒;一集长视频会拆成多张 sheet。
读图:contact sheet 用来找边界;raw 是固定边界标注的最朴素输入;proxy overlay 是在原帧上叠加光流/启发式提示,不是真手部重建; temporal collage 与 neighbor sheet 引入前后文;基于 HaWoR 重建腕轨迹的裁剪依赖估计腕部轨迹。Gemini 重评显示,增加视觉上下文并未提高 HomER 上的固定边界标注准确率。
对齐 Macrodata 博客的 Boundary comparison 交互:上方播视频,下方多轨时间轴;播放头随时间移动,点击色块可跳到该段。
Instruction: …
模型常能叫出粗事件,却漏掉更细的子任务边界。同集 homer_4(与下方样例走读一致)对照:人工 gold、整集粗分、contact sheet 粗分。悬停色块可看完整标注。
下列走读为 selector 路径(宽屏 1080p、擦桌子动作清楚);批量标注时可在同一边界下改用单路 raw 以省成本。任务:用布擦桌面 / 柜面。折叠内 Prompt 为英文原文。
Loading…
下方为整集预览。到 Step 06 点选时间轴或表格行,可只播该段并同步看标注。
参数与上一节相同。模型后续只看这些带时间戳的拼图,而不是原始 MP4 字节流。
下方为首张 sheet 示例(同参数)。
把该集尽量多的 sheet 一次送给分段模型,并在请求文本里贴上切段规则清单 (GEPA 搜索得到的英文规则:只标完成事件、偏好约 2–10 秒等——见下方折叠全文)。 这样能消灭「分片接缝假切点」,但容易切太少(欠分割)。
Loading…
在粗边界附近开一个短时间窗,用同一版式的 sheet 再切一次。 窗口不外扩:只使用粗边界内部的视觉上下文(技术名 pad=0); 盖住完整动作:窗内看得见的完成事件都要切到,避免不完整微动作片段(技术名 full-cover)。 (整步技术名:S2 · pad=0 · full-cover)
Loading…
固定分段边界后,对每一段用多条路径各写一句: raw=默认读帧; ffmpeg=换解码抽帧路径; seed=带先验/种子标签的变体; rawprior=带 prior 的 raw。 下表是本集一段真实候选:意见不一致时,selector 才有价值。
| 来源 | 候选标签 |
|---|
Loading…
用 Qwen3.5-397B 从候选里挑一句最像「完成操作」的短指令。
Loading…
Loading…
这里只走 selector 预测轨(点色块或表格行 → 右侧播该段、左侧看标注)。 与 gold / 整集粗分 / contact sheet 的多轨边界对照见上方 §3.5,不再重复画 gold 时间轴。
| # | 时间 (s) | 子任务 | Selector |
|---|
Loading…
两种 WGO 路径共用同一套 S2 分段(Seg F1=0.2031),仅标注调用不同。API 次数来自报告产物计数,输入 token 根据图片数量与分辨率估算,输出 token 则按任务类型设置区间。Qwen3.6-27B 按输入 $0.422/M、输出 $2.532/M 计价;Qwen3.5-397B-A17B 按输入 $0.1644/M、输出 $0.9864/M 计价。流程未使用网页搜索,因此不计 $0.000548/次的搜索费。美元结果不含离线 Gemini judge,也不能与 Macrodata 的 Gemini batch 账单视为同条件价格比较。细节见附录 G。
| 来源 | 口径 | 数字 |
|---|---|---|
| Macrodata 公开 | E2E seeded relabel(batch) | ~$2.64 / 视频小时;segmentation-only batch ~$0.43/h |
| Macrodata 公开 | contact sheet vs 逐帧输入 | 约 12× 更便宜(文中有 token/价格示意) |
| EgoANT(本页 WGO) | raw / selector 工程估计 + 产物 API 次数 | raw 约 $0.84–$1.59/h;selector 约 $2.11–$3.80/h |
| EgoANT 腕速基线 | 同一 HomER 子集上的内部工程估计 | 仅保留聚合调用量级;不公开内部机器、路径或服务状态 |
| 项 | 单路 raw(E2E 0.1414) | 候选+selector(E2E 0.1542) |
|---|
按时间线叙述;主表与图跟在后面。实验细节(做法卡、pad 消融)默认折叠。
表头:P(Precision)= match / pred(预测段里配对成功的比例); R(Recall)= match / gold(gold 段被找回的比例); match / pred / gold= 配对成功数 / 预测段数 / gold 段数(本子集 gold 恒为 470)。 「模型」列若写规则后处理,表示在已有预测上做脚本合并,不再调用 LLM。
| 条件 | F1 | P / R | match/pred/gold | 模型或方法 | 结果一句话 |
|---|
窗口外扩秒数(旧称 pad)的消融未进入主决策路径;细节见折叠区。
| 条件 | F1 | P / R | match/pred/gold | 模型或方法 | 结果一句话 |
|---|
固定参考边界后,Gemini judge 全量重评显示:raw 27B 最高,为 55.7%; temporal collage 27B 为 52.8%,proxy overlay 27B 为 50.6%,HaWoR-reconstructed wrist-guided crop 397B 为 50.9%,raw 397B 为 50.2%。 397B 上,overlay 48.5%、temporal collage 45.1%、neighbor / proxy hand-collage 约 39–40%。 结论很朴素:在 HomER 这个子集上,复杂视觉输入常常污染当前动作描述;先固定 judge,再讨论输入设计。
| 条件 | Acc | n_match/n | 模型 | Δ vs raw | 备注 |
|---|
分段锁在 0.2031 后,只改标注路径(时间 match 数不变,变的是语义 match)。 27B 自标为 0.1234;27B raw 重标虽然在固定参考边界 Label Acc 上最高,但在预测边界上 E2E 只有 0.1285; 397B raw 重标到 0.1414;ffmpeg raw和397B-prior neighbor都到 0.1491; candidate selector从多路候选中选择最终标签,取得最高观察值 0.1542。
| 条件 | Seg F1 | E2E F1 | pred/gold | 备注 |
|---|
| 阶段 | 推荐 | 当前不推荐 |
|---|---|---|
| 分段 | Qwen3.6-27B + 切段规则清单 + 局部精修(窗口不外扩、盖住完整动作) | 分片 max3;基于规则的相邻片段合并 |
| 标注(省钱) | 固定参考边界诊断:27B raw(Label Acc 55.7%);预测边界 E2E 低成本配置:397B raw(0.1414) | proxy overlay / 邻段 / 整帧 collage / proxy hand-crop 默认启用 |
| 高准确率配置 | 同上边界 + 多候选 + 397B selector(Gemini E2E 0.1542) | 分段小模型自标当终稿 |
| 对照 | HomER-only vs Macrodata HomER≈0.227 | 用全量 0.306 headline 直接对比 |