跳转至

EgoExo-WM: Unlocking Exo Video for Ego World Models

论文阅读笔记 — 用于后续讨论的概览


1. 基础信息

  • 题目: EgoExo-WM: Unlocking Exo Video for Ego World Models
  • 作者: Danny Tran, Roberto Martín-Martín†, Kristen Grauman† (UT Austin,†表示 equal advising)
  • arXiv 编号: 2605.15477(2026-05 提交,目标会场 NeurIPS 2026 preprint track)
  • 项目主页: https://vision.cs.utexas.edu/projects/EgoExo-WM/
  • 关键词: egocentric world model, exocentric-to-egocentric, 3D human motion, SMPL action space, video diffusion, MPC planning, DINOv3 latent prediction

EgoExo-WM 总览 Figure 1:框架总览 — exo 视频(a)→ 经 3D human motion 桥接的 ego 视频(b)→ 用于规划(c)

2. 文章介绍

2.1 解决的领域和问题

属于 egocentric world model 子领域。具体问题是:第一人称视频的世界模型受限于 egocentric 训练数据稀缺,并且 ego 视角下身体(尤其手部)经常自遮挡,导致难以同时获得高质量观察与精确动作标注。论文要回答的是:如何把海量的 exocentric (第三人称) 视频转化为 egocentric 世界模型的训练资源?

2.2 Motivation

人类的观察学习能力是核心 motivation:看别人揉面、画画、缝纫,就能在脑中预想自己第一人称下的同样动作。论文借此类比 — 互联网上的 exocentric 视频(HowTo100M、CrossTask、100 Days of Hands 等)规模远大于 egocentric 数据集(Ego4D、Nymeria 等),且 exo 视角能完整观察 body pose,恰好补足了 ego 视角下身体不可见、动作难标注的两个 bottleneck。如果能把 exo 转译成 "ego 观察 + 全身动作" 配对样本,就能解锁规模化训练。

2.3 之前工作的问题

类别 代表工作 缺陷
Ego WM (pose-conditioned) PEVA, EgoControl, PlayerOne 完全依赖稀缺的 ego 数据 + motion capture pairing;评估仅在训练分布内进行
Ego WM (no explicit action) DreamDojo (latent action), UniSim (text-conditioned) 动作表征不可解释或粒度太粗,无法支持精细 embodied control
Exo-to-ego 视角转换 Exo2Ego (xu2025), 4Diff, EgoX 主要做场景对齐,人体信息只依赖 ego 手部先验,缺少 full-body 运动学约束 → 会出现手左右互换、手部幻觉、动作不符等问题
Pose-aware video gen 但不用于 WM 各类 SMPL/MANO 引导生成方法 没有把 pose 作为统一接口同时用于「视角转换 + 世界模型动作空间」

2.4 论文解决方案(一句话)

以 3D human pose 作为统一接口,先用增强版 EgoX-Body 把 in-the-wild exo 视频"翻译"成 ego 视频 + 全身动作序列,再用这种合成数据连同真实 ego 数据一起训练一个 DINOv3-latent 空间内、SMPL 22-关节动作条件的 ego 世界模型,并以 MPC 风格做 goal-conditioned 规划。

2.5 与前序工作的关系

  • EgoX (kang2025egox):本文的视角转换 backbone 即 EgoX。EgoX-Body 是它的增强版本 — 在 exo 端 overlay SMPL 骨架、在 ego 端 overlay 手部骨架,并去掉了 GGA 模块以提速。
  • PEVA (bai2025whole):直接 SOTA baseline,pixel-space diffusion + Xsens 23 关节;EgoExo-WM 改为 DINOv3 latent + 22 关节 SMPL,并继承了 PEVA 的 Nymeria 预处理流程。
  • EgoControl (pallotta2025egocontrol):另一个 SOTA baseline,作者自己重新实现因为代码未公开。
  • UniEgoMotion (patel2025uniegomotion):既是 planning 的 baseline,也是 EgoExo-WM 在 MPC 阶段使用的 action proposal model(采样候选动作序列)。
  • SAM-Body4D / ViPE / HaMeR:现成的人体 pose 估计与 4D 场景重建模块,直接复用。
  • 数据:Nymeria (ego, ~200h) + HowTo100M / CrossTask / 100 Days of Hands (exo, 共 10h 子集) → 评估在 HOMAGE、LEMMA、Ego-Exo4D 三个 held-out 数据集。

3. 方法介绍

3.1 形式化

\(\mathbf{x}_t\) 为时刻 \(t\) 的 ego 观察,\(\mathbf{a}_t \in \mathbb{R}^{69}\) 为从 \(t\)\(t+1\) 的 3D 人体动作。动作空间由两部分组成:

  • root translation 的变化(3 维)
  • 22 个 body joint 的相对旋转,用 Euler 角参数化(22 × 3 = 66 维)

视觉端用冻结的 DINOv3-L\(\mathbf{x}_t\) 编码成 patch token 序列 \(\mathbf{z}_t = E(\mathbf{x}_t)\)(14×14 grid,1024-dim 每个 token)。

世界模型 \(f_\theta\) 接收 \(H=3\) 帧历史 latent + 下一时刻的动作,预测下一 latent:

\[\hat{\mathbf{z}}_{t+1} = f_\theta(\mathbf{z}_{t-H+1:t}, \mathbf{a}_t)\]

3.2 World Model 训练目标

WM Training Figure 2:World Model 训练 — exo 视频抽取 3D human motion 作为动作,转换后的 ego 视频作为观察,autoregressive 训练带 teacher forcing;wrist keypoint predictor 给出辅助监督

主 loss 是 latent 空间 L2: $\(\mathcal{L}_{\text{latent}} = \|\hat{\mathbf{z}}_{t+1} - \mathbf{z}_{t+1}\|_2^2\)$

辅助 loss 是 wrist position consistency:用一个冻结的 6-layer Transformer head(256-dim, 16 heads)从预测 latent 解码出一张 224×224 的手腕热力图,对比 ViTPose 提取的伪标签(双手 isotropic Gaussian, σ=3px,max-fuse): $\(\mathcal{L}_{\text{wrist}} = \|\hat{\mathbf{V}}_{t+1} - \mathbf{V}_{t+1}\|_2^2\)$

总 loss \(\mathcal{L} = \mathcal{L}_{\text{latent}} + \lambda \mathcal{L}_{\text{wrist}}\)\(\lambda = 1\)

这套表示让真实 ego 数据(Nymeria,motion capture 提供动作)和转换后的 exo 数据(pose 估计提供动作)共享同一格式,可以混训。

3.3 EgoX-Body:Exo→Ego 视角转换

EgoX-Body inference overview Figure 3:EgoX-Body 推理流程 — 从 exo 视频抽取 body pose + 3D scene 点云;同时构造两路 latent(干净 exo + noise / body-overlay exo + ego hand prior)送进 video diffusion 生成 ego 视频

输入 in-the-wild exo 视频,输出对齐的 ego 视频 + 3D 人体动作序列。两个 kinematic prior 同时作用:

  1. Exo 端 body skeleton overlay:用 SAM-Body4D 估计全身 pose,把 SMPL-X 骨架画在 exo 条件帧上(提供 canonical 行为表示,与背景视角解耦)。
  2. Ego 端 hand kinematics overlay:把 3D 手位置投影到一个 head-anchored pinhole 虚拟相机视图上 — 相机中心是双眼关节中点向前推 0.1m,basis 由 eye-to-eye、center-to-NECK 方向构造。左手画红色,右手画蓝色,16 关节 + 15 骨连接。

训练时手部 kinematics 用 HaMeR 提取的 GT pose 来 instantiate;推理时直接从 exo body pose 投影获得(无需 ego ground truth)。

视频生成 backbone 是 video diffusion model(继承自 EgoX,含 ViPE 4D 重建 + Wan video prior + GPT-4o VLM 条件)。输入两路 latent,channel-wise concat + mask 后送入 diffusion: - 干净 exo latent + noise - body-overlay exo latent + ego hand prior latent

实用修改:去掉 EgoX 的 Geometry Guided Attention (GGA);分辨率 448→384;加 250 个 H2o 数据集样本(人正对镜头);NVIDIA GH200 上单条 49 帧推理 17.5 分钟 → 3.25 分钟。

3.4 MPC-style Planning

给定当前 ego 观察 + 视觉 goal 图像 \(z_g = E(\mathbf{x}_g)\)

  1. UniEgoMotion 采样 \(N=4\) 条候选动作序列 \(\{a^{(i)}_{t:t+H}\}\),horizon \(H=8\) 帧。
  2. 每条候选用 \(f_\theta\) autoregressive rollout 出 latent 轨迹。
  3. 用最终 latent 与目标 latent 的 L2 距离打分:\(\mathcal{C}^{(i)} = \|z^{(i)}_{t+H} - z_g\|_2^2\)
  4. 选最小 cost 的候选作为执行动作。

3.5 Implementation Details

World Model 训练: - 架构:CDiT-L/2 (24 层,hidden 1024,16 head,MLP ratio 4) - 输入:DINOv3 ViT-L/16 patch tokens,14×14 grid (196 tokens) - 历史窗口:\(H=3\) 帧 - 优化器:AdamW,lr=8e-5,\(\beta=(0.9, 0.95)\),grad clip 10 - Batch:每卡 64 × 8 张 A40 GPU = global batch 512 - 训练 100K iterations,bfloat16 mixed precision,torch.compile

EgoX-Body 训练:4× GH200 × 20K iterations。单样本生成 49 帧 / 3.25 分钟。

数据: - Ego:Nymeria 200h(PEVA 预处理)→ 完整方法中只用 190h - Exo(共 ~10h,转换后):HowTo100M (5h, Food & Entertainment) + CrossTask (1h) + 100 Days of Hands (4h) - Exo 视频过滤:自动场景切分 + ViTPose 检测单人 + ORB 运动剔除大幅 camera motion + GPT-4o-mini VLM 二筛(overlay <20%,必须有 visible human action) - 生成视频后处理:384×384 → center-crop 85% → 224×224,16Hz → 下采到 8Hz,留 25 帧 - 生成质量过滤(保留约 80%):black_fraction < 0.30, white_fraction < 0.20, blur_median > 50, motion_median < 32.5

评估:2-second 开环 rollout,8 帧 @ 4Hz。所有 baseline 强制相同 200h 训练预算 + 224×224 分辨率。

4. 结果对比

4.1 Open-loop World Model 评估 — 4 个 held-out 数据集

DINOv3-L latent L2 距离(越低越好)+ Wrist PCK@20(越高越好)。

Model HOMAGE L2(2s) HOMAGE PCK(2s) LEMMA L2(2s) LEMMA PCK(2s) Bike L2(2s) Bike PCK(2s) Cooking L2(2s) Cooking PCK(2s)
PEVA-L 0.115 0.326 0.115 0.439 0.108 0.340 0.105 0.210
PEVA-XL 0.112 0.308 0.110 0.324 0.106 0.319 0.105 0.210
PEVA-XXL 0.109 0.321 0.109 0.363 0.103 0.255 0.102 0.197
EgoControl* 0.099 0.352 0.091 0.343 0.085 0.414 0.090 0.223
Ego-WM (own, ego only) 0.069 0.313 0.068 0.433 0.050 0.468 0.063 0.460
Naive EgoExo-WM (raw exo) 0.065 0.347 0.064 0.439 0.048 0.382 0.062 0.368
EgoExo-WM (full) 0.057 0.404 0.058 0.515 0.049 0.489 0.062 0.460

观察: - 相对 PEVA 的提升幅度巨大,HOMAGE/LEMMA 上 L2 几乎减半 — 但很大一部分来自 CDiT 架构 + DINOv3 latent 表征 本身(看 Ego-WM 已经远超 PEVA)。 - 真正的 exo 贡献只在 Ego-WM → EgoExo-WM 这一行才看得清楚:HOMAGE/LEMMA 上 L2 下降 ~15%,PCK 显著上升;Bike/Cooking 上 L2 几乎打平,仅 PCK 提升。 - Naive EgoExo-WM(直接用 raw exo 视频,不转换)在 Bike/Cooking 上的 L2 和完整方法持平甚至更低 — 说明在这两个领域 exo-to-ego 转换的额外价值并不明显。

4.2 MPC Planning 评估 — Whole-body / Wrist MPJPE

Model HOMAGE MPJPE HOMAGE Wrist LEMMA MPJPE LEMMA Wrist Bike MPJPE Bike Wrist Cooking MPJPE Cooking Wrist
UniEgoMotion (no WM) 0.404±0.035 0.471±0.038 0.444±0.016 0.493±0.016 0.292±0.044 0.367±0.039 0.533±0.011 0.580±0.011
UniEgoMotion + Ego-WM 0.383±0.010 0.447±0.014 0.414±0.012 0.455±0.010 0.267±0.007 0.341±0.005 0.519±0.015 0.568±0.023
UniEgoMotion + EgoExo-WM 0.362±0.012 0.421±0.012 0.396±0.008 0.438±0.006 0.245±0.016 0.320±0.013 0.498±0.018 0.549±0.016

完整方法在 4 个数据集上的 MPJPE 都最低。提升幅度相对适中:相对 Ego-WM 改善 4-8%。

4.3 关键消融

最直接的消融是 Ego-WM vs Naive EgoExo-WM vs EgoExo-WM 三行: - Ego-WM vs Naive EgoExo-WM:单纯加 raw exo 数据本身就能改善 HOMAGE/LEMMA 的 L2(说明视觉多样性确实有价值),但牺牲了 Bike/Cooking 的 wrist PCK。 - Naive vs Full EgoExo-WM:转换步骤主要带来 PCK 的提升(HOMAGE 0.347→0.404, Bike 0.382→0.489, Cooking 0.368→0.460)— 这与论文设计相符:EgoX-Body 的 hand prior 直接对手部对齐有帮助,再加上 wrist consistency loss。

注:论文没有做 wrist consistency loss 单独的消融、\(H\) 上下文长度的消融、\(N\) candidate 数量的消融、\(\lambda\) 权重的消融。

5. 引申问题 / 讨论

5.1 做得好的地方

EgoX vs EgoX-Body qualitative comparison Figure 4:EgoX vs EgoX-Body 定性对比 — 加了 body / hand kinematic prior 之后,左右手归属、手部姿态、与对象接触位置都明显更稳定

  1. 3D human pose 作为统一接口:同一份 SMPL pose 同时承担「exo→ego 转换的条件」+「世界模型的动作输入」两个角色,省去了 latent action / IDM 的训练负担,也避开 text action 的语义模糊性。这是论文最巧妙的设计。
  2. EgoX-Body 中"双端 overlay"的对称设计:exo 端 body skeleton + ego 端 hand skeleton 分别针对各自视角的弱点(背景纠缠 / 手部遮挡),互不重复,且推理时手部 overlay 可由 body pose 直接投影获得,无 ego GT 依赖。
  3. DINOv3 latent space 训练:相比 PEVA 在 pixel 空间做 diffusion,latent 空间避免了 low-level appearance 主导损失,让 wrist PCK 这类 fine-grained 信号有机会被学到,也让训练成本可控(仅 8× A40)。
  4. Held-out 数据集评估:HOMAGE、LEMMA、Ego-Exo4D 全部不在训练集中,与 PEVA/EgoControl 「只在 Nymeria 上评估」相比是更诚实的设计。
  5. Wrist consistency loss 用冻结 head 解耦:先在 EgoExo4D + Nymeria 上预训一个 wrist heatmap decoder 然后冻结,避免与主 latent loss 相互干扰,是个干净的实现。
  6. 统一训练预算的 fairness 约束:所有 baseline + 自己的 variants 都用 200h 数据,避免"加更多数据所以更好"的混淆 — 这让 Ego-WM vs Naive EgoExo-WM vs EgoExo-WM 三行可比。

5.2 做得不够好的地方 / 值得质疑的地方

  1. "Scalable"的口号 vs 实际只用 10 小时 exo 数据:abstract 与 intro 都用"unlock arbitrary in-the-wild videos"的语言,但实验只用 5+1+4=10h 转换数据。原因是 EgoX-Body 单条 49 帧推理 3.25 分钟(GH200),转换 10h(按 8Hz 计算 28.8 万帧,约 5,880 条 49 帧 clip)就需 ~320 GPU-hour — 在 GH200 上不算便宜。如果要真正 scale 到 HowTo100M 的全量,需要 ~3 个数量级的算力。这个 bottleneck 论文没有量化讨论
  2. 2 秒 horizon 太短:训练用 49 帧 @ 16Hz → 下采 25 帧 @ 8Hz;评估开环 rollout 仅 8 帧 @ 4Hz = 2s。对真正的 planning("load my laundry")远远不够,论文也明确把 long-horizon 列为 future work。但既然这是核心 motivation,2s 的结果就只能算 proof-of-concept。
  3. SMPL 22 关节 = 没有 articulated hands:planning 任务要"reach for a mug"、"pour cereal",但动作空间不建模手指。论文用一段文字(§4.2 末)辩护说"whole-body coordination still matters",但 dexterous manipulation 这条产品线被排除了。在 motivation 里讲 AR 教练教足球这种例子还行;要做 robot 实操就力不从心。
  4. Bike / Cooking 上 Naive ≈ Full 的暗示:见 §4.1 表 — 在 Ego-Exo4D 两个 split 上,Naive EgoExo-WM 的 L2 与 Full 持平甚至略低。这说明 exo-to-ego 转换的核心价值集中在 wrist alignment 与 in-home 任务上,对 outdoor/sport 收益小。论文把这归因于"biking not well represented in our converted data",但其实更像是 head-mounted camera 的运动模糊与剧烈视角变化使得 ego prediction 本来就难,pose 信息边际效用低。
  5. 评估指标都是"代理":World model 用 DINOv3 latent L2,planning 用 MPJPE。但论文真正的 selling point 是「视觉目标驱动 → 选出能达成目标的 motion」— 应该看 达成 goal 时的视觉 L2 / SSIM,而不只是动作 trajectory 的 MPJPE。当前的 MPJPE 指标只能说明"挑出的动作更接近 GT 动作",对 visual goal 完成度没有直接证据。
  6. N=4 候选太少:MPC 中只采样 4 条 candidate 然后选最优。这对体现"WM as evaluator"的能力非常受限 — 把 candidate 提升到 32/64/128 才是 MPC 的常态做法,结果可能完全不同。论文没解释为什么是 4。
  7. PEVA / EgoControl 的对照可能不公:(a) PEVA 用 7/15/15 帧 context,本方法用 3 帧;(b) PEVA 在 pixel space,本方法用 DINOv3 latent 作为评估空间 — PEVA 的输出需要再 encode 到 DINOv3 才能比;(c) EgoControl 是作者自己重实现的。L2(pixel-space encoded by DINOv3) vs L2(latent-space prediction directly) 的几何上就是有差异的,前者多一层 encode 误差。所以 PEVA L2≈0.11 vs Ego-WM L2≈0.07 这种 ~40% 的提升里,多少来自 latent space、多少来自架构、多少来自数据,没法拆开。
  8. Wrist consistency loss 没单独消融:论文反复强调它的作用,但没有"Full method w/o wrist loss"的实验。在 wrist PCK 这个指标上的提升究竟来自 loss 还是来自 EgoX-Body 的 hand overlay 不清楚。
  9. Synthetic data quality 的 distribution shift 风险:训练用 10h 合成 ego(含 EgoX-Body 的伪影),在真 ego 数据上评估。合成片段有"black/white degenerate frames"问题(已被 filter 80% 保留),但保留下的 20% 是否仍把 video diffusion 的特定偏差注入 WM?没有诊断实验。
  10. Closed-loop / 真实部署完全没碰:所有 planning 都是 open-loop rollout + 离线 MPC + 与 GT 动作比 MPJPE。没有"WM 选了动作 → 真在场景中执行 → 看真实下一帧是否接近 goal"的循环测试。这种 evaluation gap 在 world model 论文里相当常见,但仍然是核心 limitation。

5.3 值得继续探讨的方向

  • 替换 exo-to-ego 转换为 cross-view 条件直接学:能不能跳过 EgoX-Body 这一步(3.25 min/clip 太贵),让 WM 直接接收 (exo frame, ego pose) 作为条件 token?类比 cross-view co-training 的做法。
  • 加入 articulated hand action 空间:SMPL → SMPL-X(已经在 EgoX-Body 里用了!)+ MANO 手指,但 WM 仍然只用 22 关节。把动作空间扩到 51 关节左右是否能提升 cooking、bike 上的 manipulation 精度?
  • Long-horizon rollout 与 compounding error:8 步以上 rollout 时误差如何累积?是否需要类似 dreamer 的 hidden state recurrence、或在 latent 上加 stochastic regularization?
  • 更大 N 的 candidate sampling:N=4 → 64/128,看 WM 作为 evaluator 的 scaling curve。
  • Visual-goal-reaching 直接评估:用同一份 visual goal,让 WM 挑出动作并真实播放 → 与 goal 帧比较视觉相似度,建立 end-to-end 评估。
  • 数据规模 ablation:固定 architecture,把 converted exo 从 0h → 10h → 50h → 200h,画 scaling curve。论文的 "scalable" 主张需要这个曲线来兑现。
  • EgoX-Body 单独发布:作为一个独立的 exo→ego 转换工具,它有不错的应用价值(视频编辑、AR 体验创作)。论文已经在 supp 提到 release guidelines。
  • 与 latent action models 的对比:DreamDojo 的 latent action 与本文 explicit SMPL action 各自的 strength — 是否可以混合:粗 navigation 用 SMPL,精细 manipulation 用 latent?

参考资源

  • 论文 PDF:paper.pdf
  • LaTeX 源码:GitHub: docs/2605.15477/source/
  • 关键相关工作:
  • PEVA (bai2025whole) — diffusion-based pixel ego WM baseline
  • EgoControl (pallotta2025egocontrol) — diffusion ego WM baseline (作者重实现)
  • EgoX (kang2025egox) — exo-to-ego conversion 的 base 框架
  • UniEgoMotion (patel2025uniegomotion) — 既是 motion baseline 也是 action proposal
  • DINOv3 (simeoni2025dinov3) — 视觉 encoder
  • SAM-Body4D (gao2025sam, yang2026sam) — 3D body pose 估计
  • Nymeria (ma2024nymeria) — 主训练数据
  • HowTo100M / CrossTask / 100 Days of Hands — exo 数据来源
  • DreamDojo (gao2026dreamdojo) — latent action ego WM 的另一条路线