跳转至

DuoMo: Dual Motion Diffusion for World-Space Human Reconstruction

会议: CVPR 2026 arXiv: 2603.03265 代码: 项目页 领域: 3D视觉 关键词: 人体运动重建, 扩散模型, 世界坐标系, 相机空间, 网格顶点

一句话总结

提出 DuoMo,将世界空间人体运动重建分解为两个独立的扩散模型:camera-space 模型从视频提取泛化性强的相机坐标运动估计,world-space 模型将 lifting 后的噪声提案精炼为全局一致的世界坐标运动。直接生成 mesh 顶点运动而非 SMPL 参数,在 EMDB 上 W-MPJPE 降低 16%,RICH 上降低 30%。

研究背景与动机

从单目视频中重建世界坐标系下的人体运动是理解人类行为、实现 embodied AI 和人机交互的基础。近年来该领域的焦点已从孤立的 pose 序列分析转向恢复一致世界坐标系中的运动。然而,现有方法面临一个根本性的 trade-off

  1. 直接预测方法(WHAM, GVHMR, GENMO):端到端模型学习视频到世界空间运动的映射。它们能学到较强的全局先验,但受限于实验室采集数据的运动多样性,在复杂野外场景中泛化能力差。

  2. Lifting 方法(TRAM, PromptHMR+后处理):先在相机坐标估计人体pose,再利用估计的相机参数"提升"到世界坐标。相机坐标估计泛化性好(利用丰富的2D监督),但运动先验本质上是局部的,无法保证全局物理合理性(如脚滑、漂移)。

核心矛盾:泛化性(来自相机空间)与全局一致性(需要世界空间先验)难以在单一模型中兼得。

本文切入角度:不强迫一个端到端模型同时解决 2D-to-3D lifting 和全局一致性,而是将问题分解为两阶段生成过程。核心 insight 有二: - 连接方式:用已知的几何变换(相机位姿)显式地将相机空间输出提升到世界坐标,而非让模型隐式学习这种几何关系 - 世界坐标定义:不使用固定的规范坐标系(需要与地面平面对齐,容易出错),而是将每段视频的世界坐标定义为其第一帧相机位姿,模型在这些多样的坐标系中去噪

方法详解

整体框架

DuoMo 的两阶段流程:

  1. Camera-space Model \(\mathcal{D}_{\text{cam}}\):从视频提取特征,生成相机坐标下的人体运动 \(\mathbf{C}\)
  2. 显式 Lifting:利用估计的相机位姿 \(\mathbf{g}_t\)\(\mathbf{C}\) 提升到世界坐标,得到噪声提案 \(\hat{\mathbf{X}}_t^1 = \mathbf{g}_t(\mathbf{X}_t^t)\)
  3. World-space Model \(\mathcal{D}_{\text{world}}\):以噪声提案为条件,生成干净、全局一致的世界空间运动 \(\mathbf{W}\)

关键设计

  1. 运动表示——直接生成 mesh 顶点:不依赖 SMPL 参数模型,直接生成 595 个 mesh 顶点(LOD6 稀疏 mesh)的 3D 坐标。相机空间中每帧分解为 root-centered mesh \(\mathbf{P}_t\) 和根节点位置 \(\mathbf{r}_t\)。世界空间中,由于根节点位置 \(\mathbf{r}_t^1\) 随时间增长无界,改为生成速度 \(\mathbf{v}_t^1 = \mathbf{r}_t^1 - \mathbf{r}_{t-1}^1\),通过积分恢复位置。这种通用表示意味着方法可推广到其他物体类别。

  2. Camera-space 扩散模型

  3. 输入特征:对每帧提取两种特征——(a) 密集关键点检测后转为射线方向 \(\gamma(\mathbf{K}_t^{-1} \cdot \mathbf{L}_t)\)(隐式编码相机内参),经 MLP 得到 \(\mathbf{f}_t^{\text{kpt}}\);(b) 图像编码器提取 \(\mathbf{f}_t^{\text{img}}\),两者相加
  4. 架构:标准 DiT + RoPE 相对位置编码 + 窗口注意力(支持长视频推理,无需分段)
  5. Height conditioning:可选地输入身体高度信息解决单目重建的尺度歧义,通过 MLP 编码高度并加到扩散时间步 embedding 上。实验表明 height conditioning 可提升 MPJPE 约 10%

  6. World-space 扩散模型

  7. 以 lifting 后的噪声运动 \(\hat{\mathbf{X}}_t^1\) 为条件(MLP 编码),生成干净的世界空间运动
  8. Masked modeling:训练时随机将部分帧的条件替换为可学习的 mask token,模拟人物不可见的情况,使模型能在遮挡期间生成合理运动
  9. Per-video 坐标系:世界坐标以每段视频的第一帧相机为原点,不需对齐到固定的规范空间。这大大简化了野外视频处理

  10. Guided Sampling(测试时引导)

  11. 2D 重投影引导\(\mathcal{L}_{\text{repro}} = \sum_t \|\mathbf{L}_t - \mathbf{K}_t \cdot \mathbf{g}_t^{-1}(\mathbf{X}_t^1)\|\),将世界空间运动重投影回原始视频,纠正速度积分带来的漂移
  12. 位移引导:在长时遮挡段,确保积分速度的总位移与人物消失/出现位置匹配

损失函数 / 训练策略

Camera-space 模型损失: $\(\mathcal{L}_{\text{Camera}} = \mathcal{L}_{\text{vertices}} + \mathcal{L}_{\text{position}} + \mathcal{L}_{\text{joints}}\)$

World-space 模型损失(camera-space 模型冻结后训练): $\(\mathcal{L}_{\text{World}} = \mathcal{L}_{\text{vertices}} + \mathcal{L}_{\text{velocity}} + \mathcal{L}_{\text{contact}}\)$

其中 \(\mathcal{L}_{\text{contact}}\)训练时接触损失(不同于以往的后处理脚锁定):仅在脚部接触地面的帧上施加世界空间脚部顶点的 L1 损失,从源头减少脚滑伪影。

两个模型均使用 AdamW 训练 100 万步,学习率 \(10^{-4}\),batch size 256,序列长度 \(T=120\)

实验关键数据

主实验

数据集 指标 DuoMo 之前SOTA 提升
EMDB W-MPJPE (mm)↓ 167.1 202.1 (GENMO) -16.3%
EMDB Foot Skating↓ 3.7 3.5 (GVHMR) 可比
EMDB Jitter↓ 8.7 16.7 (GVHMR) -47.9%
RICH W-MPJPE (mm)↓ 80.8 118.6 (GENMO) -31.9%
RICH Foot Skating↓ 3.1 3.0 (GVHMR) 可比
EMDB PA-MPJPE (mm)↓ 41.7 42.5 (GENMO) -1.9%

注:DuoMo (w/ height) 在 EMDB 上进一步降至 W-MPJPE 167.1, MPJPE 59.5。

消融实验

配置 WA-MPJPE W-MPJPE RTE Jitter FS 说明
World-model only (one stage) 153.5 445.1 6.7 9.1 4.8 精度差,单模型难兼顾
Cam-model + Lifting 67.0 180.2 1.3 32.6 9.2 精度好但运动质量差
DuoMo 66.0 167.1 1.1 8.7 3.7 两者互补

关键发现

  • Dual prior 的价值:单用 world-space 模型有强运动先验但精度差,单用 lifting 精度好但抖动和脚滑严重,DuoMo 兼得两者优势
  • Mesh vs SMPL 表示:World-Model-Mesh 比 World-Model-SMPL 在 W-MPJPE 上好 17.7mm(164.8 vs 182.5),直接生成顶点比参数回归更精确
  • 鲁棒性:在 Egobody 的遮挡场景中,DuoMo 的遮挡段 W-MPJPE-Occ 为 193.1,远优于 Cam+Lifting 的 688.1
  • 抗相机噪声:W-MPJPE 随相机噪声增大而降低的速度远慢于 Lifting baseline,world-space 模型起到"生成式正则器"作用
  • 速度:20s 视频(30FPS)在 H200 上总耗时约 36.5s(关键点2s+密集关键点3s+图像特征30s+扩散1.5s)

亮点与洞察

  • 分解思想非常优雅:不试图用一个全能模型解决所有问题,而是让每个模型做擅长的事——camera-space 模型负责泛化,world-space 模型负责全局一致性
  • Per-video 坐标系的设计简洁有效:避免了对齐到规范坐标系的麻烦,让模型能处理各种地形
  • Training-time contact loss 比 post-hoc foot-locking 更优雅
  • 绕过参数模型直接生成 mesh 顶点,开辟了更通用的运动建模路径

局限性 / 可改进方向

  • 图像特征提取耗时 30s(PromptHMR 编码器),是主要瓶颈
  • 世界空间模型输出根节点速度,长序列积分会累积误差(虽然有 guided sampling 缓解)
  • 需要相机内参和估计的相机位姿,对 in-the-wild 视频依赖相机估计质量
  • 当前仅支持单人场景,多人交互场景未讨论
  • world-space 模型训练数据(AMASS+BEDLAM)主要是平地运动,对楼梯/斜坡等复杂地形的覆盖有限

相关工作与启发

  • 与 GENMO 的区别:GENMO 用单个端到端条件生成模型,DuoMo 用两个解耦的生成模型
  • 与 SLAHMR 的区别:SLAHMR 用优化来后处理 lifting 结果,DuoMo 用生成模型来精炼
  • 启示:对于复杂的视觉估计任务,"分解为多阶段 + 注入已知几何变换"的策略比端到端更鲁棒
  • mesh 顶点表示的成功暗示:对于非人体物体(动物等),无需参数模型也能做运动重建

评分

  • 新颖性: ⭐⭐⭐⭐ 双扩散模型分解+per-video坐标系+mesh顶点生成,idea组合有新意
  • 实验充分度: ⭐⭐⭐⭐⭐ EMDB/RICH/Egobody多数据集、详细消融、鲁棒性分析
  • 写作质量: ⭐⭐⭐⭐⭐ 问题定义清晰,trade-off分析到位,方法叙述流畅
  • 价值: ⭐⭐⭐⭐⭐ 世界空间人体重建的显著突破,提升幅度大,方法通用性强