跳转至

MotionChain: Conversational Motion Controllers via Multimodal Prompts

会议: ECCV 2024
arXiv: 2404.01700
代码: GitHub
领域: 人体运动生成 / 多模态语言模型
关键词: motion generation, conversational control, VQ-VAE, multi-turn, vision-motion-language

一句话总结

提出MotionChain——首个多轮对话式人体运动控制器,通过VQ-VAE运动tokenizer将3D运动编码为离散token,与文本和视觉token统一在语言模型词表中,实现基于多模态多轮对话的连续运动生成,在运动推理任务上Bleu@1达37.92、时序运动组合MPJPE降至276.05mm。

研究背景与动机

领域现状:文本到运动生成(MDM、MLD、T2M-GPT、MotionGPT)取得显著进展,但所有方法都将任务视为单轮条件生成,缺乏上下文理解和多轮连续生成能力。

现有痛点:(1) 现有方法无法理解对话上下文——如先生成"走路",再基于上一步结果执行"然后坐下";(2) 运动-文本数据集稀缺,远少于图像-语言数据对;(3) 多轮运动生成需要保证动作间的时序连续性(如两段动作的衔接自然流畅);(4) 缺乏统一框架同时支持文本、图像和运动多种模态输入。

核心矛盾:实现类似ChatGPT的多轮对话式运动控制需要:(a) 统一多模态表示、(b) 上下文记忆、(c) 动作连续性,现有方法均未解决。

本文要解决什么? 构建一个能理解多轮对话指令、接受文本/图像/运动多种输入、生成连续长程人体运动的统一模型。

切入角度:将运动token化并与语言token统一,利用预训练语言模型的多轮对话能力实现对话式运动生成。

核心idea一句话:VQ-VAE将运动编码为离散token后与文本token合并到统一词表,利用Flan-T5语言模型的指令跟随和多轮对话能力生成运动或文本回答。

方法详解

整体框架

多模态输入(文本/图像/运动)→ 各自tokenizer编码为token → 统一词表送入Flan-T5语言模型 → 自回归预测输出token → 运动token经VQ-VAE解码为3D运动 / 文本token直接输出。多轮对话中每轮输出作为下一轮上下文。

关键设计

  1. 运动Tokenizer(VQ-VAE)

    • 运动编码器 \(\mathcal{E}_M\):1D卷积沿时间维度下采样(\(l=4\)),编码运动序列 \(m^{1:M}\) 为潜在向量 \(\hat{z}^{1:L}\)
    • 量化:\(z_i = \arg\min_{z_k \in Z} \|\hat{z}_i - z_k\|_2\),codebook \(Z \in \mathbb{R}^{512 \times 1024}\)
    • 运动解码器 \(\mathcal{D}_M\):将token序列解码回原始运动空间
    • 关键创新——Token拼接组合:多轮运动生成时,将前轮运动token \(z_p^{1:L_p}\) 与当前轮token \(z_c^{1:L_c}\) 拼接后联合解码,由解码器保证动作衔接连续性
    • 设计动机:在token层面而非运动层面拼接,让解码器的卷积操作自然建模过渡区域
  2. 视觉Tokenizer

    • 冻结CLIP ViT-L/14视觉编码器提取图像特征
    • 可训练线性层将视觉特征投影到语言模型词嵌入空间
    • 视频输入:每帧编码+时间嵌入+Perceiver模块聚合为固定长度token
    • 设计动机:轻量级线性投影已足够理解人体姿态(实验验证优于Q-former和Perceiver)
  3. 多模态对话数据构建

    • 基于HumanML3D文本-运动数据集 + ChatGPT生成运动推理数据
    • 用TMR文本-运动检索模型将运动按相似度分类 → ChatGPT生成运动编辑指令
    • 将单轮任务随机组合为多轮对话(最多10轮),格式:USER: \(X_s^i\) ASSISTANT: \(X_a^i\)
    • 设计动机:利用LLM能力高效构建多轮对话数据,弥补现有数据集缺乏对话形式的不足

损失函数 / 训练策略

三阶段训练:(1) VQ-VAE训练(\(\mathcal{L}_r + \mathcal{L}_e + \mathcal{L}_c\),10K epochs,batch=256);(2) 运动-语言预训练(text-to-motion、motion-to-text、image-conditioned motion,500 epochs);(3) 指令微调(多轮对话数据,50 epochs)。自回归语言建模损失 \(\mathcal{L}_{LM} = -\sum_i \log p_\theta(x_a^i | X_v, X_{s,<i}, X_{a,<i})\)。8×V100 GPU,Flan-T5-base,AdamW lr=1e-4。

实验关键数据

主实验

运动推理任务(输入运动/文本,生成推理回答):

方法 参数 Bleu@1↑ Bleu@4↑ Rouge↑ Cider↑ BertScore↑
Flan-t5-base 250M 4.64 1.78 15.32 15.93 3.45
Flan-t5-xl 3B 8.54 4.01 24.89 15.03 18.34
Vicuna-1.5-7b 7B 19.27 7.39 25.75 5.44 19.05
Vicuna-1.5-13b 13B 17.20 6.53 24.18 7.77 18.00
MotionChain 280M 37.92 19.19 38.05 24.53 32.24

时序运动组合(BABEL数据集,两动作组合):

方法 Diversity↑ MPJPE↓ PA-MPJPE↓ ACCL↓
TEACH 27.11 979.21 933.32 23.02
MotionChain 43.25 276.05 53.72 7.11

消融实验

运动组合策略对比(HumanML3D):

方法 MPJPE↓ PA-MPJPE↓ ACCL↓ Diversity
Independent(独立解码) 350.79 102.97 11.40 6.47
Past-condition(末尾token条件) 232.46 46.15 6.18 6.01
Tokens-joint(拼接解码) 108.77 18.85 2.26 5.56

视觉tokenizer架构对比(BEDLAM,first-frame条件):

架构 MPJPE↓ PA-MPJPE↓
Q-former 195.49 86.56
Perceiver 185.61 99.21
Linear 144.37 76.48

关键发现

  • 仅280M参数的MotionChain在运动推理上全面碾压7B/13B纯文本LLM(Bleu@1: 37.92 vs 19.27)
  • tokens-joint组合策略MPJPE比独立解码降低69%(350.79→108.77),证明token拼接解码的有效性
  • 轻量级线性投影优于复杂的Q-former和Perceiver用于姿态理解
  • MPJPE从TEACH的979.21降至276.05(降低72%),同时多样性提升60%

亮点与洞察

  • 首个多轮对话式运动生成框架,填补运动控制交互范式的空白
  • VQ-VAE token拼接+联合解码实现动作衔接连续性的方法简洁高效
  • 280M参数超越13B LLM的运动推理能力,证明运动感知(而非纯语言能力)才是关键
  • 三阶段训练策略有效利用不同规模和模态的数据

局限性 / 可改进方向

  • 基于非确定性生成模型,与经典确定性运动控制器不同,可能影响精确控制场景
  • 仅支持关节级人体运动,不包括面部表情和手部动作
  • 缺乏人-物体/人-场景碰撞信号,限制交互场景的运动生成
  • 数据构建依赖ChatGPT和TMR,数据质量受限于这些工具的能力

相关工作与启发

  • vs MotionGPT:MotionGPT是单轮运动-语言模型,MotionChain扩展到多轮对话+视觉输入
  • vs TEACH:TEACH用过去条件变换器做动作组合,但MPJPE高(979 vs 276)且缺乏对话能力
  • vs LLaVA/Flamingo:视觉-语言多模态模型的运动域扩展,增加了运动tokenizer
  • 启发:将领域特定数据(运动)token化后融入LLM是一个通用的多模态融合范式

评分

  • 新颖性: ⭐⭐⭐⭐ 多轮对话式运动控制是新颖且有应用前景的方向
  • 实验充分度: ⭐⭐⭐⭐ 推理/组合/消融多维度评测,与LLM和专用方法均对比
  • 写作质量: ⭐⭐⭐⭐ 框架设计和训练策略阐述清晰
  • 价值: ⭐⭐⭐⭐ 首个多轮运动对话框架,对游戏角色控制/机器人具有潜在应用价值

相关论文