跳转至

SimMotionEdit: Text-Based Human Motion Editing with Motion Similarity Prediction

会议: CVPR 2025
arXiv: 2503.18211
代码: https://github.com/lzhyu/SimMotionEdit
领域: 人体理解
关键词: 动作编辑, 扩散模型, 辅助任务, 运动相似度, Transformer

一句话总结

提出 SimMotionEdit,引入运动相似度预测作为辅助任务,配合 Condition Transformer + Diffusion Transformer 双模块架构,在 MotionFix 数据集上实现文本驱动 3D 人体动作编辑的 SOTA 性能。

研究背景与动机

  1. 领域现状:文本驱动的 3D 人体动作合成已取得显著进展(MDM、MotionDiffuse 等),但从已有动作出发进行精细化编辑(而非从零生成)仍是前沿挑战。
  2. 现有痛点:现有方法(如 MotionCLR 的注意力操控、MotionFix 的 TMED)在编辑对齐性上不足——生成的动作与文本指令或源动作之间存在语义错位。无训练方法受限于预训练模型能力,有训练方法(如 TMED)则缺乏对"哪些帧需要编辑"的显式建模。
  3. 核心矛盾:动作编辑需要同时满足两个约束——与源动作保持一致(不该改的不改)+ 与文本指令对齐(该改的改对),但模型缺乏"定位编辑区域"的能力。
  4. 本文目标:让模型先学会"预测源动作和编辑动作之间的相似度曲线",再利用这个能力指导实际编辑。
  5. 切入角度:类比动画师的工作流程——先识别需要修改的关键帧,再进行编辑。运动相似度曲线恰好编码了"哪些帧发生了变化"的信息。
  6. 核心 idea:多任务学习,辅助任务(运动相似度预测)的特征增强主任务(动作编辑)的条件表示。

方法详解

整体框架

输入为源动作序列 \(X\) 和文本编辑指令 \(L\),输出为编辑后的动作序列 \(M\)。模型包含两个模块:Condition Transformer 处理源动作和文本特征,通过辅助任务增强特征交互;Diffusion Transformer 接收增强特征和噪声编辑动作,通过 DDPM 去噪生成编辑结果。两个任务联合训练,总损失 \(\mathcal{L} = \mathcal{L}_{aux} + \mathcal{L}_e\)

关键设计

  1. 运动相似度预测辅助任务

    • 功能:让模型学会从源动作和文本指令预测"哪些帧需要编辑、变化程度如何"
    • 核心思路:构建可预测的相似度曲线——对每帧 \(i\),在编辑动作的滑窗 \(|i-j| \leq W\) 中找最小距离作为原始相似度 \(S_i^{Rr}\),融合关节旋转和位置两种度量 \(S_i^R = w_1 S_i^{Rr} + w_2 S_i^{Rl}\),然后 min-max 归一化到 \([0,1]\)。用 MotionSNR(信噪比)过滤噪声样本,最终将归一化相似度量化为 \(K\) 个离散类别,用交叉熵损失 \(\mathcal{L}_{aux} = -\frac{1}{F}\sum_{i=0}^{F-1}\log p_{i, \mathfrak{s}_i}\) 训练。
    • 设计动机:(a) 滑窗匹配避免帧偏移导致的虚假差异;(b) 归一化使不同编辑幅度的样本可比较;(c) 量化为分类任务比回归更鲁棒,允许模型泛化到更广泛的编辑场景
  2. Condition Transformer

    • 功能:混合源动作特征和文本特征,生成增强的条件表示
    • 核心思路:标准 Transformer encoder 架构,输入为源动作 token 序列和 CLIP 文本特征。通过辅助损失函数的引导,Transformer 学会在特征空间中融入"哪些帧会变化"的信息。输出分为增强的源动作特征和增强的文本特征,分别送入 Diffusion Transformer。
    • 设计动机:将辅助任务的输入与扩散过程解耦——编辑动作的噪声变化不应影响相似度预测的学习
  3. Diffusion Transformer

    • 功能:基于增强条件生成编辑动作
    • 核心思路:输入为增强源动作特征与噪声编辑动作的拼接序列,增强文本特征通过 AdaLN-Zero 层注入(类似 DiT),同时注入扩散时间步 \(t\)。预测目标是原始编辑动作信号 \(M_0\),编辑损失为 \(\mathcal{L}_e = \mathbb{E}[\|M_0 - \mathcal{E}(M_t, t, L, X)\|_2^2]\)。采用 DDPM 框架训练和推理。
    • 设计动机:让 Diffusion Transformer 专注于利用增强后的条件信息做去噪生成,各模块各司其职

损失函数 / 训练策略

  • 总损失 \(\mathcal{L} = \mathcal{L}_{aux} + \mathcal{L}_e\),两项权重相等
  • DDPM 标准训练,\(T=1000\) 步,预测 \(M_0\)
  • 使用 MotionSNR 阈值过滤低质量训练样本(编辑幅度过小的样本被排除)

实验关键数据

主实验

方法 R@1 (Batch)↑ R@1 (Test)↑ AvgR (Test)↓ M-score↑
MDM 4.03 0.10 - -
MDM-BP 39.10 8.69 180.99 -
TMED (MotionFix) 62.90 14.51 56.63 -3.512
SimMotionEdit 70.62 25.49 23.49 -3.210
Ground Truth 100.0 64.36 1.74 -3.175

消融实验

配置 R@1 (Batch)↑ R@1 (Test)↑ 说明
Full model 70.62 25.49 完整模型
w/o 辅助任务 ~65 ~19 去掉相似度预测后检索指标显著下降
回归替代分类 ~67 ~21 连续回归相似度不如离散分类
w/o MotionSNR 过滤 ~68 ~22 低质量样本引入噪声

关键发现

  • 辅助任务的引入让 Generated-to-Target R@1 从 ~62.9 提升到 70.62(Batch 设置),从 14.51 到 25.49(全测试集),提升幅度显著
  • 量化为分类任务优于连续回归——回归过度拟合特定编辑幅度,分类允许更好的泛化
  • M-score 逼近 Ground Truth(-3.210 vs -3.175),说明编辑动作的真实感高
  • MotionSNR 过滤有效清除了文本与动作变化不匹配的噪声样本

亮点与洞察

  • "先定位再编辑"的思路非常直觉化且有效。类比于图像编辑中的 attention editing / region selection,在运动编辑中通过相似度预测实现帧级别的"注意力聚焦"
  • 量化而非回归的设计选择值得借鉴——编辑动作不是唯一的,不同幅度的编辑都合理,分类任务允许多模态性
  • 双 Transformer 解耦的架构设计清晰:Condition Transformer 做辅助任务 + 特征增强,Diffusion Transformer 做生成,互不干扰

局限与展望

  • 仅在 MotionFix 数据集上验证,数据集规模和多样性有限
  • 相似度定义依赖关节旋转和位置的欧式距离,缺乏语义级相似度度量
  • 不支持帧数变化的编辑(源动作和编辑动作帧数可能不同)
  • 超参数如滑窗大小 \(W\)、量化类别数 \(K\)、MotionSNR 阈值等需要手动调节

相关工作与启发

  • vs TMED (MotionFix): TMED 直接训练扩散模型做编辑,无显式建模"哪些帧需要改";本文通过辅助任务增强条件特征,R@1 提升 ~11%
  • vs MotionCLR: MotionCLR 通过注意力操控实现编辑但不支持自由文本输入;本文支持自由文本且有监督训练
  • vs MDM-BP: MDM-BP 基于 blueprint 做编辑,但检索指标远低于本文

评分

  • 新颖性: ⭐⭐⭐⭐ 辅助任务驱动条件增强的思路在运动编辑中首次提出,相似度曲线的构建也有创意
  • 实验充分度: ⭐⭐⭐⭐ 消融实验覆盖关键设计点,但仅一个小数据集
  • 写作质量: ⭐⭐⭐⭐ 方法动机推导自然,图示清晰
  • 价值: ⭐⭐⭐⭐ 在运动编辑领域取得 SOTA,辅助任务的思路可迁移

相关论文