MotionLCM: Real-time Controllable Motion Generation via Latent Consistency Model¶
会议: ECCV 2024
arXiv: 2404.19759
领域: 图像生成
一句话总结¶
提出 MotionLCM,首次将一致性蒸馏引入人体运动生成领域,在运动潜在空间中实现单步/少步推理的实时运动生成(~30ms/序列),并通过 Motion ControlNet 实现潜在空间中的实时可控运动生成。
研究背景与动机¶
- 扩散模型的效率瓶颈:现有运动扩散模型(MDM ~24s,MLD ~0.2s)推理速度慢,无法满足实时应用需求
- 时空控制的高延迟:OmniControl 等可控运动生成方法推理时间约 81s/序列,距离实时应用差距巨大
- 潜在空间控制的困难:在潜在扩散模型中,潜在表示缺乏显式运动语义,无法直接操作控制信号
- 一致性模型的机遇:一致性模型(CM)通过学习 PF-ODE 轨迹上的一致性函数,实现高效的单步/少步生成,与加速运动生成的目标完美契合
- 核心问题:如何在保证生成质量和控制能力的前提下,将运动生成加速到实时级别?
方法详解¶
整体框架¶
分两阶段训练: 1. 运动潜在一致性蒸馏:从预训练的 MLD(运动潜在扩散模型)蒸馏一致性模型,实现 1-4 步推理 2. 潜在空间运动控制:在 MotionLCM 的潜在空间引入 Motion ControlNet,并利用 VAE 解码器提供运动空间的显式控制监督
关键设计¶
运动潜在一致性蒸馏: - 以 MLD 为教师模型,在运动潜在空间学习一致性函数 \(\textbf{f}_\Theta : (\mathbf{z}_t, t, w, \mathbf{c}) \mapsto \mathbf{z}_0\) - 采用 k-step 跳跃一致性蒸馏(LCM 方案),而非逐步一致性,大幅减少收敛时间 - 将 classifier-free guidance(CFG)集成到蒸馏中,\(w\) 在训练时从 \([5, 15]\) 均匀采样 - 使用 DDIM 求解器(跳跃间隔 \(k=20\))+ Huber 损失作为距离度量
Motion ControlNet: - 以 MotionLCM 的可训练副本初始化,每层附加零初始化线性层 - 控制任务定义:给定前 \(\tau\) 帧初始姿态(6 个关键关节的全局 3D 位置)和文本描述,生成后续运动 - Trajectory Encoder:堆叠 Transformer 层编码轨迹信号,[CLS] token 的输出特征加到噪声潜在上
运动空间显式监督(核心创新): - 仅在潜在空间做重建损失不足以提供详细的控制约束 - 利用冻结的 VAE 解码器将预测潜在 \(\hat{\mathbf{z}}_0\) 解码到运动空间,计算控制关节位置误差 - 得益于 MotionLCM 的单步推理能力,这一解码过程相比 MLD 更高效
损失函数¶
第一阶段 — 一致性蒸馏损失:
第二阶段 — 控制训练的总损失:
其中 \(\mathcal{L}_{recon}\) 为潜在空间重建损失,\(\mathcal{L}_{control}\) 为运动空间的控制关节位置误差,\(\lambda=1.0\)。
实验关键数据¶
主实验¶
文本到运动生成对比(HumanML3D):
| 方法 | AITS(s)↓ | R-Precision Top3↑ | FID↓ | MM Dist↓ | Diversity→ | MModality↑ |
|---|---|---|---|---|---|---|
| MDM | 24.74 | 0.611 | 0.544 | 5.566 | 9.559 | 2.799 |
| MotionDiffuse | 14.74 | 0.782 | 0.630 | 3.113 | 9.410 | 1.553 |
| MLD | 0.217 | 0.772 | 0.473 | 3.196 | 9.724 | 2.413 |
| MLD* (复现) | 0.225 | 0.796 | 0.450 | 3.052 | 9.634 | 2.267 |
| MotionLCM (1步) | 0.030 | 0.803 | 0.467 | 3.022 | 9.631 | 2.172 |
| MotionLCM (2步) | 0.035 | 0.805 | 0.368 | 2.986 | 9.640 | 2.187 |
| MotionLCM (4步) | 0.043 | 0.798 | 0.304 | 3.012 | 9.607 | 2.259 |
可控运动生成对比:
| 方法 | AITS(s)↓ | FID↓ | R-Precision Top3↑ | Traj. err.↓ | Loc. err.↓ | Avg. err.↓ |
|---|---|---|---|---|---|---|
| OmniControl | 81.00 | 2.328 | 0.557 | 0.3362 | 0.0322 | 0.0977 |
| MLD (LC&MC) | 0.552 | 0.555 | 0.754 | 0.2722 | 0.0215 | 0.1265 |
| MotionLCM 1步 (LC&MC) | 0.042 | 0.419 | 0.756 | 0.1988 | 0.0147 | 0.1127 |
| MotionLCM 2步 (LC&MC) | 0.047 | 0.397 | 0.759 | 0.1960 | 0.0143 | 0.1092 |
消融实验¶
训练 guidance scale 范围和 EMA 率的影响:
| 设置 | R-Precision Top1↑ | FID↓ | MM Dist↓ | Diversity→ |
|---|---|---|---|---|
| \(w \in [5,15]\) (默认) | 0.502 | 0.467 | 3.022 | 9.631 |
| \(w \in [2,18]\) | 0.497 | — | — | — |
| Huber 损失 (默认) | 0.502 | 0.467 | — | — |
| L2 损失 | — | 0.592 | — | — |
关键发现¶
- 速度:MotionLCM 单步推理仅需 ~30ms,比 OmniControl 快 1929 倍,比 MLD 快 13 倍
- 质量不降反升:单步推理即超越 MLD 50 步 DDIM 在 R-Precision 上的表现,4 步推理达到最佳 FID(0.304)
- 控制能力:MotionLCM 生成的潜在表示比 MLD 更适合训练 Motion ControlNet,在相同设置下控制精度显著更高
- 运动空间监督的关键性:加入运动空间的显式控制损失后,Traj. err. 从 0.2986 降至 0.1988(降低 33%)
亮点与洞察¶
- 首次将一致性蒸馏引入运动生成:证明了在运动潜在空间中 LCM 方案的可行性和有效性
- 实时可控生成:MotionLCM + ControlNet 实现了自回归式实时运动生成(用上一段运动的末尾帧作为下一段的初始控制信号)
- 潜在-运动双空间监督:利用 VAE 解码器将潜在空间预测解码到运动空间做显式控制监督,巧妙解决了潜在空间缺乏运动语义的问题
- 效率与质量的帕累托最优:在推理时间-质量的散点图上,MotionLCM 最接近原点,实现了两者的最优平衡
局限性¶
- 依赖预训练的 MLD 模型质量,蒸馏的上界受教师模型限制
- 控制任务目前仅定义为初始姿态控制(前 25% 帧),尚未探索更灵活的时空控制模式
- 单步推理时 FID 略逊于 4 步推理,说明极端加速仍有微小质量损失
评分¶
⭐⭐⭐⭐⭐ (5/5) — 将运动生成推进到实时级别,一致性蒸馏+ControlNet 的双阶段设计简洁高效,运动空间显式监督解决了潜在空间控制的核心难题,对实际应用意义重大
相关论文¶
- [ECCV 2024] Learning Semantic Latent Directions for Accurate and Controllable Human Motion Prediction
- [ECCV 2024] Local Action-Guided Motion Diffusion Model for Text-to-Motion Generation
- [ECCV 2024] LivePhoto: Real Image Animation with Text-guided Motion Control
- [ECCV 2024] SMooDi: Stylized Motion Diffusion Model
- [ECCV 2024] Realistic Human Motion Generation with Cross-Diffusion Models