Interactive Character Control with Auto-Regressive Motion Diffusion Models
Simon Fraser University; Shanghai Artificial Intelligence Laboratory
问题背景
实时角色控制是交互式体验(视频游戏、虚拟现实、仿真)的核心组件,要求角色能够根据随时间变化的用户输入即时生成高质量、多样化的动作。近年来扩散模型(diffusion model)在图像合成上的成功被迁移到动作合成领域,取得了不错的动作质量与多样性。
但已有的动作扩散模型大多是时空模型(space-time model):它们用单次扩散过程一次性生成整段固定长度的动作序列。这种设计带来两个根本性限制:
- 无法实时响应:整段序列被一起去噪,难以在生成过程中插入随时变化的控制信号。
- 采样代价高:常用 1000 步去噪,单帧生成时间过长,无法满足实时交互需求。
同时,传统的自回归模型(CNN/LSTM/MLP 逐帧预测,以及基于 VAE 的 MVAE、HuMoR 等)虽然天然适合实时逐帧生成,但存在长时程漂移(drift)、收敛到平均姿态、以及 VAE 生成质量偏低、多样性不足的问题。
本文的目标是把扩散模型的强表达能力与自回归模型的实时性结合起来,得到一个既能实时逐帧生成、又能支撑多种下游控制任务的基础动作模型。
核心方法
作者提出 A-MDM(Auto-Regressive Motion Diffusion Model),把动作扩散模型重构为自回归形式:以上一帧状态为条件,逐帧生成下一帧,从而支持任意长度、实时的动作合成。整个框架包含两部分:一个基础的自回归动作扩散模型,以及一个基于强化学习的高层任务控制器。
关键设计思路:
- 逐帧自回归 + 少步去噪:不再一次生成整段序列,而是每次只预测单帧。由于单帧的维度远小于整段序列,作者发现只需 10–50 步去噪即可生成高质量动作(相比传统的 1000 步大幅提速),使模型能在普通硬件上实时运行。
- 轻量 MLP 架构:不使用昂贵的 Transformer,而是用 10 层全连接层(每层 1024 隐藏单元、SiLU 激活 + LayerNorm)构成的简单 MLP。扩散模型本身提供了足够的表达能力,使简单结构也能生成多样、高保真的动作。
- 一次训练、多种复用:训练好的 A-MDM 可作为基础模型,配合不同控制策略完成新任务,且大部分策略无需额外训练或微调。
技术细节
动作表示
给定初始状态 \(x_0\),A-MDM 以自回归方式生成任意长度 \(F\) 的动作序列 \(X = \{x_1, x_2, ..., x_F\}\)。每帧状态 \(x_f\) 的特征包括:根节点平面线速度 \((dx, dy)\)、绕竖直轴的角速度 \(dr\)、关节位置 \(jp \in \mathbb{R}^{j\times3}\)、关节速度 \(jv \in \mathbb{R}^{j\times3}\),以及 6D 表示的关节朝向 \(jo \in \mathbb{R}^{j\times6}\)。根节点特征记录在角色的局部坐标系下。
扩散训练(基于 DDPM)
前向加噪过程按马尔可夫链逐步向真实状态 \(x_f\) 注入高斯噪声,单步为:
\[q(x_f^t \mid x_f^{t-1}) = \mathcal{N}\left(x_f^t; \sqrt{1-\beta_t}\, x_f^{t-1},\ \beta_t I\right)\]
整个前向过程为:
\[q(x_f^{1:T} \mid x_f^0) = \prod_{t=1}^{T} q(x_f^t \mid x_f^{t-1})\]
去噪网络 \(p_\theta\) 以上一帧状态 \(x_{f-1}\)、加噪后的目标状态 \(x_f^t\)、以及时间步嵌入 \(e_t\) 为输入,预测所加的噪声向量,训练目标是噪声的 MSE 损失:
\[L^{simple}_t(x) = \mathbb{E}_{t\sim[1:T],\, x_f^0,\, \epsilon_f^t}\left\| \epsilon_f^t - p_\theta\left(x_{f-1},\, x_f^t,\, e_t\right) \right\|^2\]
推理时从高斯噪声出发,逐步去噪重建 \(\hat{x}_f\),再作为下一帧的条件继续自回归生成。
计划采样(Scheduled Sampling)抑制漂移
自回归生成容易因误差累积产生漂移,导致长时程动作崩坏。作者引入 student forcing:用模型自己预测的过去帧 \(\hat{x}_{f-1}\)(而非真值)作为条件来预测后续帧,连续展开 \(N_r\) 步,让模型学会补偿自身预测误差。实验证明这对 A-MDM 稳定生成长动作至关重要。
四种动作合成/控制策略
- 随机采样(Random Sampling):无约束采样,从固定初始状态生成多样的多模态动作(走、跑、跳等)。
- 任务导向采样(Task-Oriented Sampling):用 beam search 生成若干候选轨迹,用用户定义的评分函数(如到目标点的 2D 欧氏距离)排序,选最优轨迹的第一帧。无需训练即可完成目标到达等任务,但存在”短视”问题(如绕圈),且难以精细控制。
-
条件修复(Conditional Inpainting):用户指定部分特征 \(\tilde{x}_f\) 和二值掩码 \(m_f\),每步去噪后用用户值直接替换对应特征:
\[\hat{x}_f^t = (1 - m_f) \odot x_f^t + m_f \odot \tilde{x}_f^t\]
由此支持空间修复(指定关节/根轨迹,生成协调全身动作)和时间修复/关键帧插值(keyframe in-betweening)。对于关键帧插值,作者用目标关键帧在不同去噪步初始化去噪过程:越靠近关键帧,起始去噪步 \(t_0 = (1 - \frac{f}{N}) t_{max}\) 越晚(去噪步数越少),从而强制后段帧贴近目标,而前段帧有更多自由生成自然过渡。
-
分层控制(Hierarchical Control):用强化学习训练高层控制器来”引导”基础 A-MDM 的去噪过程。由于扩散模型不像 VAE 那样有可直接采样的潜空间,作者让高层控制器针对不同去噪步预测一组残差向量 \(a_f = \{a_f^T, ..., a_f^1\}\),对每个去噪步的输出施加扰动:
\[\bar{x}_{f+1}^t = \hat{x}_{f+1}^t + w_t\, a_f^t\]
其中 \(w_t\) 是随去噪步递减的退火权重(后期步的大扰动会引入伪影,因此需要衰减)。高层策略用 PPO 训练,优化任务回报:
\[J_{RL}(\pi) = \mathbb{E}_{\tau\sim p(\tau|\pi)}\left[\sum_{f=0}^{\infty} \gamma^f\, r(s_f, a_f)\right]\]
三个下游任务
- 目标到达(Target Reaching):角色移动到用户指定位置,髋关节进入目标 15cm 内视为完成,奖励结合距离与前进进度。
- 摇杆控制(Joystick Control):用户指定速度与朝向,奖励为方向项与速度项的乘积组合,速度采样区间 0.6–7.2 m/s。
- 路径跟随(Path Following):角色按顺序经过用户定义的多个路点,训练时程序化随机生成路径。
实验结果
实验设置:PyTorch 实现,分层控制器基于 OpenAI Gym,硬件为 NVIDIA RTX 4090 + Intel i9-13900K。在三个数据集上评估:100STYLE(400 万帧、100 种风格)、AMASS(大规模、统一 SMPL 表示)、LaFAN1(40 万帧、高动态动作)。所有动作统一到 30 Hz。评估指标包括 APD(多样性)、ADE/FDE(与真值分布相似度)、Bone Length Error(骨长偏差,衡量形变)、脚滑(FS)、脚部穿插(Pen.Freq/Pen.Dist)、关节加速度等。
与自回归基线对比:在 AMASS、100STYLE、LaFAN1 三个数据集上,A-MDM 在多样性(APD)、保真度(ADE/FDE)、骨长误差、脚部穿插等指标上全面优于 MVAE 和 HuMoR。例如在 AMASS 上,A-MDM 的 APD 达 61.08(MVAE 40.97、HuMoR 44.95),ADE 降至 10.40(MVAE 24.42、HuMoR 17.96),脚部穿插频率从约 1.8–1.9% 降到 0.4%。在”动作续写(Motion Continuation)”泛化实验中同样领先,说明其能生成数据集之外的新动作。
去噪步数与推理时间:在 100STYLE 上,40 步去噪在减少伪影与保持多样性之间达到最佳权衡(单帧约 0.021 s),因此后续实验采用 40 步。步数太少易导致模式坍塌(只生成站立、走路等简单动作),步数增加则多样性提升但收益递减、速度下降。大数据集通常需要更多步数。
任务导向采样对比:相比 HuMoR,A-MDM 生成的目标到达轨迹更直接、步数更少(HuMoR 倾向于绕圈徘徊),这归功于 A-MDM 采样的动作更多样、给角色更多灵活选择。但任务导向采样本身”短视”,不一定得到最优行为。
分层控制对比:训练高层控制器时,A-MDM 在新任务上的学习曲线回报持续高于其它自回归基线。且 A-MDM 的分层控制器能保留基础模型的多样性,同一初始状态和目标可产生多种不同动作;而 Ling et al. 的方法选择确定性潜码,牺牲了多样性。
分层控制 vs 修复:修复严格贴合用户轨迹,若目标轨迹不自然会导致全身动作不自然;分层控制则可在必要时偏离目标轨迹,产生更自然的动作(代价是不精确跟随)。
与时空扩散模型对比:在 HumanML3D 无条件生成评测中,A-MDM 是自回归模型中表现最好的(FID 1.74,优于 MVAE 11.24、HuMoR 8.24),但仍不及时空模型 MDM(0.92)、GMD(0.57)。作者认为这源于 A-MDM 用了更少的去噪步和更简单的 MLP 结构以换取实时性;而 A-MDM 的优势在于能从短片段训练出任意长度动作,时空模型则受最大长度限制、长动作易漂移。
与非生成模型对比:相比 Neural State Machine(NSM),A-MDM 在脚滑、脚部穿插上更优,且能生成更多样、伪影更少的动作,尤其在”行走→急转”等过渡处质量差异明显。
贡献与局限
主要贡献:
- 提出 A-MDM,一个自回归形式的动作扩散模型,更适合实时交互式角色控制,且比以往基于 VAE 的自回归模型(MVAE、HuMoR)生成更多样的动作。
- 提出一套控制方法(任务导向采样、空间/时间修复、关键帧插值),使预训练的 A-MDM 无需额外训练即可完成多种新任务。
- 提出针对扩散模型的分层强化学习控制方法:通过对去噪过程注入退火残差扰动来引导生成,可为新下游任务训练高层策略,同时保留动作多样性。
局限与未来工作:
- 训练用于长时程动作的自回归扩散模型仍具挑战性,A-MDM 在极端情况下偶尔出现不稳定或失败。
- 当用户指定的控制信号不自然时,容易产生脚滑与抖动伪影。
- 当前聚焦单帧自回归模型;未来可探索多帧(滑动窗口)模型以提升时间连贯性、应对更复杂任务。
- 可集成动作扩散模型的加速技术进一步提升实时性能。