Controllable Complex Human Motion Video Generation via Text-to-Skeleton Cascades¶
日期: 2026-03-09
arXiv: 2603.08028
代码: 无(有 Project Page)
领域: 图像生成
关键词: human motion video, text-to-skeleton, pose-conditioned generation, DINO-ALF, autoregressive
一句话总结¶
提出两阶段级联框架生成复杂人体动作视频:第一阶段用自回归 Transformer 从文本生成 2D 骨架序列,第二阶段用 DINO-ALF(多层自适应融合)外观编码器驱动 pose-conditioned 视频扩散模型,在翻跟头、武术等复杂动作上显著优于现有方法。
研究背景与动机¶
-
领域现状: 文本到视频(T2V/TI2V)扩散模型在常规动作上效果不错,但对翻跟头、侧空翻、武术等复杂非重复动作仍然困难——产生不合理肢体轨迹、身体形状时间不一致、外观漂移。
-
现有痛点: (a) 纯文本条件时间上模糊——"做一个后空翻"无法指定逐帧关节轨迹;(b) Pose-conditioned 方法虽有效但需要用户提供完整骨架序列,对复杂动作来说获取成本极高;(c) 现有方法用 CLIP 编码参考图像,但 CLIP 是全局语义表示,缺少细粒度空间细节,在大变形/自遮挡下外观保持差。
-
核心矛盾: 文本控制不够精确 vs 精确的 pose 控制难以获取;CLIP 全局表示 vs 需要局部外观保持。
-
切入角度: 将问题解耦为运动规划(文本→骨架)和外观合成(骨架+参考图→视频),用自回归模型自动生成骨架,用 DINO 多层特征替代 CLIP 保持外观。
方法详解¶
整体框架¶
文本描述 → Stage 1: 自回归 Transformer 生成 2D 骨架序列(逐关节、逐帧token预测)→ Stage 2: 骨架序列 + 参考图像 → DINO-ALF 外观编码 + Pose encoder → DiT 视频扩散模型 → 输出视频。
关键设计¶
-
自回归 Text-to-Skeleton 模型:
- 做什么:从文本描述生成 \(T\) 帧 \(J\) 个关节的 2D 骨架坐标序列
- 核心思路:将连续坐标离散化为 \(K\) 个 bin 的 token,按 frame-major, joint-minor 顺序串行化为 1D token 流 \(\mathbf{z} = [s(x_{1,1}), s(y_{1,1}), \ldots]\),用 CLIP 文本编码器产生的 embedding 作为前缀,decoder-only Transformer 做 next-token 预测
- 设计动机:自回归分解天然建模了复杂动作中的长程时间依赖和关节间协调性——每个关节的位置取决于之前所有帧和所有关节的配置
-
DINO-ALF(Adaptive Layer Fusion)外观编码器:
- 做什么:从参考图像提取空间局部化的多层外观特征,注入视频扩散模型
- 核心思路:提取 DINOv3 所有 12 层的 patch token,用可学习的层权重 \(\alpha^{(\ell)}\)(softmax 归一化)自适应融合 \(\mathbf{a} = \sum_\ell \alpha^{(\ell)} \text{proj}(\mathbf{p}^{(\ell)})\),每层投影到统一维度再线性组合
- 设计动机:DINO 浅层捕捉纹理细节,深层捕捉视角不变的语义,自适应融合让模型在大变形下同时利用局部纹理和全局语义
-
Spatiotemporal Motion Encoder:
- 做什么:将渲染的骨架图像序列编码为时空对齐的 motion token
- 核心思路:3D CNN 对渲染的 pose 图像序列做时空编码,输出与 latent 空间对齐的 context token
- 设计动机:比直接用坐标更适合与 DiT 架构融合,保持空间对齐
-
合成数据集:
- 用 Blender 构建 2000 个复杂人体动作视频(翻跟头、体操等),完全控制外观/动作/环境
- 填补了现有 benchmark 缺少杂技类动作的空白,同时避免版权和隐私问题
训练策略¶
- Stage 1 用 teacher forcing + next-token cross-entropy 训练
- Stage 2 冻结 Wan2.1 DiT 主干,只训练 DINO-ALF cross-attention + LoRA adapters + motion encoder
- 训练时对 GT 骨架施加 stochastic augmentation(关节抖动/dropout/时间偏移)模拟预测误差,增强鲁棒性
实验关键数据¶
主实验 — Text-to-Skeleton (Motion-X Fitness)¶
| 方法 | FID ↓ | R-Precision Top-1 ↑ | Diversity ↑ |
|---|---|---|---|
| MDM | 42.3 | 0.312 | 5.81 |
| HumanDreamer | 38.7 | 0.345 | 6.12 |
| Ours | 31.5 | 0.401 | 6.58 |
主实验 — Pose-to-Video (VBench Metrics)¶
| 方法 | Temporal Consistency ↑ | Motion Smoothness ↑ | Subject Preservation ↑ |
|---|---|---|---|
| MagicAnimate | 0.891 | 0.923 | 0.847 |
| Animate-Anyone2 | 0.912 | 0.941 | 0.873 |
| Ours (DINO-ALF) | 0.937 | 0.958 | 0.912 |
消融实验¶
| 配置 | Subject Preservation | Motion Smoothness |
|---|---|---|
| Full (DINO-ALF) | 0.912 | 0.958 |
| CLIP 替代 DINO-ALF | 0.865 | 0.943 |
| 单层 DINO(最后层) | 0.889 | 0.951 |
| w/o skeleton augmentation | 0.903 | 0.946 |
关键发现¶
- DINO-ALF 相比 CLIP 在 Subject Preservation 上提升显著(+4.7%),验证了细粒度局部特征的重要性
- 多层融合比单层好(+2.3%),浅层纹理细节不可缺少
- 骨架 augmentation 有效缓解了两阶段误差传播
- 在复杂动作(翻跟头、武术)上的优势比简单舞蹈更加明显
亮点与洞察¶
- 两阶段解耦设计: 运动规划和外观合成分开处理,每个阶段可独立优化和替换,实用性强
- DINO-ALF 的多层自适应融合: 简洁优雅——可学习的层权重让模型自动决定不同层级特征的重要性,比复杂的 ReferenceNet 更轻量
- 合成数据填补空白: 用 Blender 程序化生成杂技动作视频,避开了真实数据难以收集复杂动作的困境
- 骨架 augmentation 缓解级联误差: 训练时模拟第一阶段的各类错误,让第二阶段更鲁棒
局限性 / 可改进方向¶
- 骨架只有 2D,缺少深度信息,对视角变化大的场景可能不够
- 第一阶段骨架质量直接影响最终视频——误差级联仍是瓶颈
- 合成数据集仅 2000 个视频,多样性有限
- 目前仅支持单人场景,多人交互未涉及
相关工作与启发¶
- vs HumanDreamer: 同为 text→skeleton→video 级联,但本文的自回归分解更自然地建模长程依赖
- vs MagicAnimate/Champ: 这些方法用 ReferenceNet 或 SMPL 做外观保持,重但精确;DINO-ALF 更轻量
- vs CLIP-based conditioning: CLIP 全局语义好但局部细节差,DINO patch 特征在大变形下优势明显
评分¶
- 新颖性: ⭐⭐⭐⭐ 两阶段级联框架合理,DINO-ALF 是实用创新
- 实验充分度: ⭐⭐⭐⭐ 合成数据集+Motion-X+VBench,多维度评估
- 写作质量: ⭐⭐⭐⭐ 问题分析清晰,方法详尽
- 价值: ⭐⭐⭐⭐ 复杂动作视频生成的实用方案