Interactive Character Control with Auto-Regressive Motion Diffusion Models (A-MDM)
论文信息: ACM TOG 2024 (SIGGRAPH), Yi Shi et al., Shanghai AI Lab / Simon Fraser University / NVIDIA
一、核心问题
1.1 研究背景
实时角色控制是交互式体验(游戏、VR、物理仿真)的核心组件。扩散模型在动作合成中的应用越来越广泛,但现有方法存在局限:
现有扩散模型的局限:
- 离线生成:大多数是 space-time 模型,同时生成整个序列
- 固定长度:需要预先指定序列长度
- 无法实时控制:不支持时变控制信号
- 计算成本高:通常需要 1000 步去噪
1.2 核心问题
如何构建一个实时动作合成框架,能够:
- 支持时变控制输入
- 逐帧生成连续动作
- 在适度计算资源下实时运行
- 适应各种下游任务
1.3 本文方法
论文提出了 A-MDM (Auto-regressive Motion Diffusion Model) 框架:
核心思想:
- 自重新设计扩散模型 - 从 space-time 改为 auto-regressive
- 轻量级设计 - 仅需 50 步去噪(vs 1000 步)
- 简单架构 - 使用 MLP 即可
- 控制套件 - task-oriented sampling, in-painting, hierarchical RL
二、核心贡献
-
A-MDM 模型
- 自回归扩散模型,适合实时交互
- 比 VAE-based 模型更多样化
- 仅需 50 步去噪
-
控制方法套件
- Task-oriented sampling
- Motion in-painting
- Keyframe in-betweening
- Hierarchical reinforcement learning
-
无需微调适配新任务
- 预训练模型可直接用于下游任务
- 无需额外训练或 fine-tuning
三、方法详解
3.1 自回归扩散公式
传统 Space-Time 模型: $$p(x_{1:T}) = \text{一次性生成所有帧}$$
A-MDM 自回归公式: $$p(x_{1:T}) = \prod_{t=1}^{T} p(x_t | x_{1:t-1})$$
每帧生成:
- 输入:前一帧姿态 \(x_{t-1}\)
- 输出:当前帧 \(x_t\)
- 去噪步数:50 步(vs 1000 步)
3.2 网络架构
┌─────────────────────────────────────────────────────────┐
│ A-MDM Architecture │
├─────────────────────────────────────────────────────────┤
│ │
│ 输入:前一帧姿态 + 控制信号 │
│ ↓ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ MLP Backbone (简单但有效) │ │
│ │ - 3 层 MLP │ │
│ │ - 条件输入:控制信号、时间步 │ │
│ └─────────────────────────────────────────────────┘ │
│ ↓ │
│ 输出:当前帧姿态 │
│ │
└─────────────────────────────────────────────────────────┘
设计选择:
- 简单 MLP: 无需复杂 Transformer
- 轻量级: 适合实时运行
- 条件扩散: 支持多种控制信号
3.3 控制技术套件
(1) Task-Oriented Sampling
思想:在采样过程中引导生成符合任务目标
方法:
- 在去噪过程中添加引导项
- 类似 classifier guidance
(2) Motion In-Painting
任务:填充动作序列中的缺失部分
方法:
- 固定已知帧
- 对未知帧进行扩散采样
- 迭代优化边界
(3) Keyframe In-Betweening
任务:生成两个关键帧之间的过渡动作
方法:
- 条件扩散,边界条件固定
- 自回归生成中间帧
(4) Hierarchical Reinforcement Learning
框架:
高层策略 (Policy)
↓ (latent code / control signal)
A-MDM (动作生成器)
↓ (动作序列)
底层控制器 (执行)
训练:
- A-MDM 固定(预训练)
- 只训练高层策略
- 减少训练成本
四、训练细节
4.1 数据集
AMASS: 大规模动作捕捉数据集
- 包含多样化动作
- 用于预训练基础模型
4.2 训练配置
| 参数 | 值 |
|---|---|
| 去噪步数 | 50 |
| 网络架构 | 3 层 MLP |
| 隐藏层维度 | 512 |
| 批大小 | 根据 GPU 调整 |
4.3 加速技巧
-
减少去噪步数
- 从 1000 步降至 50 步
- 质量 - 速度权衡
-
简单架构
- MLP vs Transformer
- 更快推理
-
自回归生成
- 每帧独立生成
- 支持在线控制
五、实验与结论
5.1 评估任务
- Joystick Control:摇杆控制角色移动
- Target Reaching:到达指定目标
- Trajectory Tracking:跟踪轨迹
- In-painting:动作补全
- In-betweening:关键帧过渡
5.2 对比基线
- MVAE [Ling et al. 2020]
- Humor [Rempe et al. 2021]
- MDM [Tevet et al. 2023]
5.3 评估指标
| 指标 | 含义 |
|---|---|
| FID | 动作质量 |
| Diversity | 多样性 |
| FC | 脚部滑动 |
| Inference Time | 推理时间 |
5.4 主要结果
- 质量:FID 优于或等于 SOTA
- 多样性:超越 VAE-based 方法
- 速度:实时运行(50 步去噪)
- 可控性:支持多种下游任务
六、局限性
-
自回归误差累积
- 长序列可能 drift
- 需要误差校正机制
-
50 步去噪仍较慢
- 对于超低延迟应用
- 可进一步加速
-
MLP 表达能力
- 对于复杂动作可能不足
- 可在需要时升级架构
七、启发
7.1 方法学启发
-
自回归扩散的价值
- 支持实时交互
- 比 space-time 更灵活
-
轻量级设计
- 简单 MLP 也能有效
- 不必追求复杂架构
-
预训练 + 控制范式
- 基础模型固定
- 通过控制适配任务
- 减少训练成本
7.2 与相关工作对比
| 方法 | 架构 | 去噪步数 | 实时 | 控制 |
|---|---|---|---|---|
| A-MDM | MLP | 50 | ✓ | 多种 |
| MDM | Transformer | 1000 | ✗ | 文本 |
| MVAE | VAE | 1 | ✓ | 有限 |
| AAMDM | DD-GAN+ADM | 5 | ✓ | 轨迹 |
八、关键公式
自回归公式: $$p(x_{1:T}) = \prod_{t=1}^{T} p(x_t | x_{1:t-1})$$
去噪过程: $$x_t = \text{Denoiser}(x_{t-1}, \epsilon, T)$$
引导采样: $$\tilde{\epsilon} = \epsilon - \alpha \nabla \mathcal{L}_{task}$$
笔记说明:A-MDM 是 SIGGRAPH 2024 工作,核心是将扩散模型重新设计为自回归形式,实现实时角色控制。与 AAMDM 相比,A-MDM 强调控制套件和下游任务适配能力。