AAMDM: Accelerated Auto-regressive Motion Diffusion Model

论文信息: CVPR 2024, Tianyu Li et al., Georgia Tech/UBC/SFU

Link: CVF Open Access


一、核心问题

1.1 研究背景

在视频游戏和虚拟现实等娱乐应用中,交互式动作合成对于创造沉浸式体验至关重要。然而,生成既高质量又具有上下文响应能力的动画仍然是一个巨大挑战。

游戏工业的传统方法

  • Motion Matching:通过在大数据集中搜索最合适的动画片段
  • 优点:高质量、响应式
  • 缺点:计算成本高、内存占用大、扩展性差

学习型神经网络的局限

  • 优点:内存占用小、运行时性能好
  • 缺点:训练不稳定、动作质量妥协、难以生成多样化动作

扩散模型的困境

  • 优点:可以生成多样化高质量动作、内存需求低
  • 缺点:反向扩散过程昂贵,推理速度慢,无法用于实时应用

1.2 核心问题

如何构建一个动作合成框架,能够同时实现

  1. 高质量 - 生成自然、真实的角色动作
  2. 多样性 - 能够生成多模态的动作变化
  3. 高效率 - 交互式帧率(实时运行)

1.3 现有方法及其局限性

方法代表工作质量多样性效率局限性
Motion Matching[Kolsi et al. 2018]内存需求大、搜索成本高
VAE[Ling et al. 2020]模式坍塌、多样性差
标准扩散[Tevet et al. 2022]推理速度慢(多次去噪)
快速扩散[Shi et al. 2023]样本质量下降

1.4 本文方法

论文提出了 AAMDM (Accelerated Auto-regressive Motion Diffusion Model) 框架:

核心思想

  1. 低维嵌入空间操作 - 在学到的紧凑 latent space 中建模,而非完整姿态空间
  2. Generation Module - 使用 Denoising Diffusion GANs (DD-GANs) 快速生成初始草稿
  3. Polishing Module - 使用自回归扩散模型 (ADM) 进行质量优化,仅需 2 步额外去噪

关键创新

  • 结合 DD-GANs 的速度优势和 ADM 的质量优势
  • 在低维嵌入空间操作,降低训练复杂度和推理成本
  • 仅需 5 步去噪即可生成高质量动作(标准扩散需要 100+ 步)

二、核心贡献

  1. AAMDM 框架

    • 首个在交互式帧率下生成长序列动作的扩散模型
    • 结合 Denoising Diffusion GANs 和 Auto-regressive Diffusion Models
    • 在紧凑嵌入空间中操作
  2. 全面对比分析

    • 在多个指标上超越基线方法(LMM、MotionVAE、AMDM)
    • 运动质量、多样性、运行时效率全面领先
  3. 多模态动作合成演示

    • 展示新颖的高质量多模态动作
    • 实现之前方法无法达成的效果(如用户控制根节点轨迹 + 多样化手臂动作)

三、大致方法

3.1 框架概述

┌─────────────────────────────────────────────────────────────────┐
│                      AAMDM Architecture                          │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  输入:用户命令(轨迹、方向等)                                    │
│                              ↓                                  │
│  ┌─────────────────────────────────────────────────────────┐   │
│  │  Autoencoder (编码器/解码器)                              │   │
│  │  - Encoder: 完整姿态 y → 低维嵌入 xz                      │   │
│  │  - Decoder: 低维嵌入 xz → 完整姿态 y                      │   │
│  └─────────────────────────────────────────────────────────┘   │
│                              ↓                                  │
│  ┌─────────────────────────────────────────────────────────┐   │
│  │  Generation Module (DD-GANs)                             │   │
│  │  - 从噪声生成初始动作草稿                                 │   │
│  │  - 仅需 3 步反向扩散                                       │   │
│  └─────────────────────────────────────────────────────────┘   │
│                              ↓                                  │
│  ┌─────────────────────────────────────────────────────────┐   │
│  │  Polishing Module (ADM)                                  │   │
│  │  - 优化 Generation Module 的输出                           │   │
│  │  - 仅需 2 步自回归去噪                                     │   │
│  └─────────────────────────────────────────────────────────┘   │
│                              ↓                                  │
│  输出:低维嵌入 xz → Decoder → 完整姿态 y                        │
│                                                                 │
│  总去噪步数:T_GAN + T_ADM = 3 + 2 = 5 步                        │
│  (标准扩散需要 100+ 步)                                          │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

3.2 核心组件

(1) 低维嵌入空间构建

问题:在完整姿态空间(338 维)建模复杂度高、违反运动学约束

解决方案:学习紧凑嵌入向量 \(x_z \in \mathcal{X}_Z\)

自编码器结构

  • Encoder: \(E_{AE}(y) \to z\)

    • 输入:完整姿态 \(y \in \mathbb{R}^{338}\)
    • 输出:潜在向量 \(z \in \mathbb{R}^{52}\)
  • Decoder: \(D_{AE}(x_z) \to \hat{y}\)

    • 输入:嵌入向量 \(x_z = [x; z] \in \mathbb{R}^{64}\)
    • 输出:重建姿态 \(\hat{y}\)

训练损失: $$\mathcal{L}{D,E} = w{val}^{D,E}\mathcal{L}{val}^{D,E} + w{vel}^{D,E}\mathcal{L}{vel}^{D,E} + w{reg}^{D,E}\mathcal{L}_{reg}^{D,E}$$

其中:

  • 位置损失:\(\mathcal{L}_{val}^{D,E} = ||\hat{y} \ominus y|| + ||F(\hat{y}) \ominus F(y)||\)
  • 速度损失:\(\mathcal{L}_{vel}^{D,E} = ||\frac{F(\hat{y}_0) \ominus F(\hat{y}_1)}{\delta n} - \frac{F(y_0) \ominus F(y_1)}{\delta n}||\)
  • 正则化:\(\mathcal{L}_{reg}^{D,E} = ||z||_2^2\)

\(F\) 是正向运动学函数,\(\ominus\) 计算两姿态差异

(2) 自回归扩散模型 (ADM) - Polishing Module

为什么用扩散模型

  • 角色动画本质是多模态的(同一姿态可有多种后续姿态)
  • 传统 MSE 损失的网络只能学习一对一映射,无法捕捉多模态

前向扩散: $$q(xz_n^t | xz_n^{t-1}) = \mathcal{N}(\sqrt{\alpha_t} xz_n^{t-1}, (1-\alpha_t)I)$$

反向扩散: $$\hat{xz}n^0 = G{ADM}(xz_n^t, xz_{n-1}, t)$$

  • 输入:带噪声的嵌入 \(xz_n^t\)、前一帧嵌入 \(xz_{n-1}\)、时间步 \(t\)
  • 输出:干净的嵌入预测 \(\hat{xz}_n^0\)

训练损失(h 帧序列): $$\mathcal{L}{ADM} = w{val}^{ADM}||\hat{xz}{1:h}^0 - xz{1:h}|| + w_{vel}^{ADM}||\frac{\hat{xz}{1:h}^0 - \hat{xz}{0:h-1}^0}{h \cdot \delta n} - \frac{xz_{1:h} - xz_{0:h-1}}{h \cdot \delta n}||$$

(3) Denoising Diffusion GANs (DD-GANs) - Generation Module

问题:标准扩散假设去噪是高斯分布,需要多步去噪

解决方案:用多模态分布参数化反向扩散

反向扩散生成器: $$\hat{xz}n^0 = G{GAN}(xz_n^T, xz_{n-1}, r_t, t)$$

  • 额外输入:潜在变量 \(r_t \sim \mathcal{N}(0, I)\)
  • 将反向扩散参数化为条件 GAN

判别器训练: $$\mathcal{L}_{DGAN} = -\mathbb{E}q[\log(D{GAN})] - \mathbb{E}p[\log(1 - D{GAN})]$$

生成器训练: $$\mathcal{L}_{GGAN} = -\mathbb{E}p[\log(D{GAN})]$$

(4) 组合 ADM + DD-GANs

关键洞察

  • 扩散早期:从噪声生成样本(需要多模态能力)
  • 扩散晚期:对预测做小幅调整(需要精确性)

两阶段生成

Generation Module (DD-GANs):
输入:随机噪声 xz_n^T ~ N(0, I)
过程:T_GAN = 3 步反向扩散
输出:初始草稿 xz_n^{T_ADM}

Polishing Module (ADM):
输入:初始草稿 xz_n^{T_ADM}
过程:T_ADM = 2 步自回归去噪
输出:最终嵌入 xz_n^0

总步数:T_AA = T_GAN + T_ADM = 5 步

优势

  • DD-GANs 提供快速草稿生成(单步)
  • ADM 提供质量优化(自回归精修)
  • 两者结合实现速度 + 质量的平衡

(5) 用户命令引导

引导扩散公式: $$\hat{xz}_{n}^{0,*} = \hat{xz}n^0 - \epsilon \alpha_t \nabla{xz_n^t} \mathcal{J}(\hat{xz}_n^0, \bar{x}_n)$$

  • \(\bar{x}_n\): 用户查询(如目标轨迹)
  • \(\mathcal{J}\): 目标函数,测量生成特征与用户查询的距离
  • \(\epsilon\): 步长参数
  • \(\alpha_t\): 扩散噪声参数

四、训练细节

4.1 数据集

LaFAN1 Dataset:

  • 包含多样化角色动作
  • 用于主要评估和对比

4.2 模型配置

组件维度/参数
完整姿态 \(y\)338 维
潜在向量 \(z\)52 维
工程特征 \(x\)12 维(未来轨迹 + 朝向)
嵌入向量 \(x_z\)64 维
Generation 步数 \(T_{GAN}\)3 步
Polishing 步数 \(T_{ADM}\)2 步
总步数 \(T_{AA}\)5 步

4.3 训练策略

  • Generation Module 和 Polishing Module 分开训练
  • 使用引导扩散方法进行用户控制
  • 在低维嵌入空间训练,降低复杂度

五、实验与结论

5.1 定量对比

对比基线

  • LMM (Learned Motion Matching)
  • MotionVAE
  • AMDM (Auto-regressive Motion Diffusion Model)

评估指标

  • 运动质量:姿态误差、速度误差
  • 多样性:多模态生成能力
  • 运行效率:推理时间

结果:AAMDM 在所有指标上均优于基线方法

5.2 消融实验

验证各组件贡献

  1. 低维嵌入空间:加速训练和推理
  2. DD-GANs Generation:提供快速草稿
  3. ADM Polishing:提升运动质量

5.3 人工多模态数据集分析

目的:验证模型捕捉多模态转换的能力

结果

  • AAMDM 能成功捕捉多模态转移模型
  • 比现有方法更适合复杂动作合成

5.4 演示效果

展示 novel motions

  • 用户控制根节点轨迹 + 多样化手臂动作
  • 之前方法无法实现的多模态合成

六、局限性

  1. 仍需要 5 步去噪

    • 虽然比标准扩散(100+ 步)快很多
    • 但对于某些超低延迟应用可能还不够
  2. 两模块分开训练

    • Generation 和 Polishing 独立训练
    • 可能不是全局最优
  3. 对训练数据依赖

    • 动作质量受限于训练数据集多样性
    • 数据集中没有的动作类型难以生成
  4. 引导强度调节

    • 需要手动调节引导参数 \(\epsilon\)
    • 过强可能导致不自然动作

七、启发

7.1 方法学启发

  1. 速度 - 质量权衡的设计哲学

    • 不追求单模块完美,而是组合多个模块的优势
    • DD-GANs(速度)+ ADM(质量)= AAMDM(平衡)
  2. 低维嵌入空间的价值

    • 降低建模复杂度
    • 提升训练和推理效率
    • 隐含学习运动学约束
  3. 自回归 + 扩散的结合

    • 自回归保证时序连贯性
    • 扩散保证多模态能力
    • 两者互补

7.2 工程实践启发

  1. 分阶段生成策略

    • 先生成草稿(快速、粗糙)
    • 再精修(慢速、精细)
    • 类似人类绘画的"先铺色再细化"
  2. 5 步去噪的实用价值

    • 在质量和速度间找到平衡点
    • 对于实时应用至关重要

7.3 与相关工作对比

方法去噪步数质量多样性速度
标准扩散100+
DDIM50
AAMDM5
LMM1

八、遗留问题

8.1 开放性问题

  1. 能否进一步减少去噪步数

    • 能否做到 1-2 步生成?
    • 一致性模型 (Consistency Models) 是否适用?
  2. 端到端训练可能性

    • Generation 和 Polishing 联合训练
    • 可能获得更好的全局最优
  3. 更长时序建模

    • 当前是自回归,长序列可能累积误差
    • 能否结合 Transformer 等长程建模?
  4. 与物理引擎结合

    • 加入物理约束引导
    • 生成物理合理的动作

8.2 未来方向

  1. 实时交互应用

    • 游戏角色控制
    • VR/AR虚拟人
  2. 多模态条件化

    • 文本 + 语音 + 动作联合生成
    • 更丰富的用户控制
  3. 大规模预训练

    • 类似ASE的预训练范式
    • 通用动作生成模型

九、关键公式总结

公式含义
\(\mathcal{L}{D,E} = w{val}\mathcal{L}{val} + w{vel}\mathcal{L}{vel} + w{reg}\mathcal{L}_{reg}\)自编码器训练损失
\(q(xz_n^txz_n^{t-1}) = \mathcal{N}(\sqrt{\alpha_t} xz_n^{t-1}, (1-\alpha_t)I)\)
\(\hat{xz}n^0 = G{GAN}(xz_n^T, xz_{n-1}, r_t, t)\)DD-GANs 生成
\(\hat{xz}_{n}^{0,*} = \hat{xz}_n^0 - \epsilon \alpha_t \nabla \mathcal{J}\)引导扩散
\(T_{AA} = T_{GAN} + T_{ADM} = 3 + 2 = 5\)总去噪步数

十、代码与资源

  • 项目主页: 待公开
  • 代码: 论文发表时开源
  • 视频: 项目主页提供演示

十一、与 Locomotion 控制的关系

AAMDM 是运动生成的通用框架,可应用于 locomotion 任务:

  1. 作为上层规划器

    • 生成角色移动轨迹
    • 作为底层控制器的输入
  2. 与物理控制器结合

    • 类似 CLOSD、PDP 的架构
    • AAMDM 生成动作 → PD 控制器执行
  3. 与扩散模型工作的对比

    • DiffuseLoco: 专注于 locomotion,离线 RL 蒸馏
    • UniPhys: 统一规划 + 控制
    • AAMDM: 通用动作生成,强调速度优化

笔记说明:本文是 CVPR 2024 关于快速动作扩散模型的工作,核心贡献是结合 DD-GANs 和 ADM 实现 5 步去噪的实时动作生成。理解本文有助于学习扩散模型在角色动作生成中的加速方法,与 DiffuseLoco、PDP 等工作形成对比和互补。