跳转至

PhysMoDPO: Physically-Plausible Humanoid Motion with Preference Optimization

会议: CVPR 2025
arXiv: 2603.13228
代码: https://mael-zys.github.io/PhysMoDPO/
领域: LLM对齐 / 人体运动生成
关键词: 运动生成, DPO, 物理合理性, 人形机器人, 全身控制器

一句话总结

提出 PhysMoDPO,将 Direct Preference Optimization 应用于文本驱动的人体运动生成,通过将全身控制器(WBC)集成到训练 pipeline 中计算基于物理的奖励来构造偏好数据,使生成运动同时满足物理约束和文本指令,并在 Unitree G1 机器人上实现零样本部署。

研究背景与动机

  1. 领域现状:文本驱动的人体运动生成主要由扩散模型推动,但生成的运动在物理仿真中部署时常出现不合理现象(脚部滑动、质心失衡等)。
  2. 现有痛点:(1) 运动学空间训练的模型无法保证动力学可行性 (2) 手工设计的物理约束(如脚滑惩罚)难以覆盖复杂物理动态 (3) 通过 WBC 执行时,控制器可能大幅修改运动以满足约束,导致偏离原始意图。
  3. 核心矛盾:生成质量(运动学指标)与物理可行性(动力学约束)之间的 mismatch。
  4. 本文要解决什么? 使扩散运动生成器产生既满足物理约束又忠实于文本指令的运动。
  5. 切入角度:将 WBC 集成到训练 pipeline,直接用物理仿真结果作为偏好信号来微调生成器。
  6. 核心idea一句话:WBC 仿真结果作为偏好数据源 + 物理奖励与任务奖励联合 + DPO 微调运动生成器。

方法详解

整体框架

给定条件信号 \(C\)(文本 \(C_t\) 或文本+空间控制 \((C_t, C_s)\)),扩散生成器 \(G_\theta\) 从噪声采样 \(K\) 个候选运动 \(X_k = G_\theta(\epsilon_k, C)\)。每个候选经过固定的 WBC(DeepMimic 跟踪策略)\(\mathcal{T}\) 投影到物理可行空间:\(X'_k = \mathcal{T}(X_k)\)。对 \(X'_k\) 计算物理奖励 + 任务奖励,选择最优/最差对构造偏好对 \((X_{win}, X_{lose})\),最后用 DPO 损失微调 \(G_\theta\)。整个流程可迭代:更新生成器后重新采样构造新偏好对。

关键设计

  1. 运动学空间 vs 物理可行空间的形式化(Section 3.1):
  2. 做什么:将运动学空间 \(\mathcal{X}_{kin}\) 和物理可行空间 \(\mathcal{X}_{phys} \subset \mathcal{X}_{kin}\) 明确分开,定义跟踪失真 \(\Delta(X) = \|X' - X\|_2^2\)
  3. 核心思路:运动学上合理的运动(\(X \in \mathcal{X}_{kin}\))不一定物理可行(\(X \in \mathcal{X}_{phys}\))。\(\Delta(X)\) 小说明运动接近物理可行,WBC 只需微调;\(\Delta(X)\) 大说明运动物理不合理,WBC 必须大幅修改
  4. 设计动机:将评估目标从运动学空间转移到部署空间——不评估生成器的直接输出 \(X\),而评估 WBC 执行后的 \(X' = \mathcal{T}(X)\),这直接解决了"运动学指标好但部署效果差"的核心矛盾

  5. 基于物理的后训练流程(Section 3.2):

  6. 做什么:对每个条件 \(C\) 采样 \(K\) 个候选,经 WBC 仿真后评分,构造偏好对做 DPO
  7. 核心思路:训练损失 \(\mathcal{L} = \mathcal{L}_{DPO}(X_{win}, X_{lose}) + \lambda_{SFT}\mathcal{L}_{SFT}(X_{win})\),其中 \(\lambda_{SFT}\) 平衡偏好学习和生成质量保持。注意:奖励在 \(X'\) 上计算,但偏好对定义在 \(X\)(尊重 DPO 要求数据来自模型自身采样)
  8. 设计动机:因为 \(\mathcal{T}\)(物理仿真器)不可微,所以不能直接反传梯度,用 DPO 的偏好学习绕过不可微问题。加 SFT 项防止纯偏好优化导致生成质量漂移

  9. 四类奖励信号(Section 3.3):

  10. 跟踪奖励 \(\mathcal{R}_{track}(X', X) = -\|X' - X\|_2^2\):直接最小化 WBC 修正幅度
  11. 脚滑奖励 \(\mathcal{R}_{slide}(X') = -\frac{1}{N}\sum_i \mathbf{1}[h_{feet} < h_0]\mathbf{1}[v_{feet}^{xy} > v_0]\):惩罚脚接触地面但水平滑动
  12. 文本对齐奖励 \(\mathcal{R}_{M2T}(X', C_t) = \cos(TMR_{text}(C_t), TMR_{mot}(X'))\):用 TMR 编码器计算文本-运动余弦相似度(在 \(X'\) 上计算!)
  13. 空间控制奖励 \(\mathcal{R}_{control}(X', C_s) = -\frac{\|W \odot (X' - C_s)\|_2^2}{\|W\|_1}\):空间约束满足度(仅在有 \(C_s\) 时启用)
  14. 偏好构造使用支配规则\(X_k\) 优于 \(X_l\) 当且仅当所有奖励项都更好,避免引入敏感的奖励权重

损失函数 / 训练策略

  • 总损失:\(\mathcal{L} = \mathcal{L}_{DPO}(X_{win}, X_{lose}) + \lambda_{SFT}\mathcal{L}_{SFT}(X_{win})\)
  • \(\mathcal{L}_{SFT}\) 使用 Two-Forward 目标(仅在 win 样本上)
  • 迭代式 DPO:每轮更新后用新模型重新采样,刷新偏好数据
  • 仅更新扩散头,用 AdamW 优化
  • 每个训练 prompt 生成 12 个候选(\(K=12\)

实验关键数据

主实验:Text-to-Motion (HumanML3D, SMPL 仿真后评估)

方法 MM-Dist↓ R@1↑ R@3↑ FID↓ Jerk↓
Real after sim 16.02 0.668 0.895 34.07 35.87
MaskedMimic 19.73 0.413 0.631 73.79 66.08
MotionStreamer 17.17 0.583 0.831 49.14 46.75
SFT (only win) 17.23 0.578 0.836 49.22 48.30
PhysMoDPO 16.95 0.585 0.852 48.29 43.60

消融/分析:G1 机器人零样本部署

方法 M2T↑ R@3↑ FID↓ Jerk↓
Real after sim 0.828 0.848 0.120 87.76
MaskedMimic 0.716 0.576 0.367 83.58
MotionStreamer 0.790 0.756 0.303 95.08
PhysMoDPO 0.792 0.764 0.303 90.14

关键发现

  • SFT baseline 几乎无效:仅在 win 样本上做 SFT 改进微弱甚至在某些指标上下降,证明 DPO 的对比学习信号比纯正样本 SFT 更有效
  • MaskedMimic 虽然物理安全但文本一致性很差(R@1 仅 0.413 vs PhysMoDPO 0.585),说明端到端的物理控制策略也无法取代扩散生成器+后训练
  • G1 机器人零样本转移成功:PhysMoDPO 微调后的模型可以直接(无额外精炼)部署到 Unitree G1,Jerk 从 95.08 降到 90.14,文本一致性强于所有基线
  • OOD 泛化(OMOMO):未见过的人物交互数据上,PhysMoDPO 仍大幅降低 Err、FID、Jerk,说明物理偏好学习具有跨分布迁移能力
  • 支配规则偏好构造优于加权求和:避免了奖励权重调参

亮点与洞察

  • 将 LLM 对齐中的 DPO 迁移到运动生成是巧妙的跨领域应用。关键洞察是:物理仿真器扮演了类似"人类标注者"的角色——自动判断运动的物理合理性,避免了手工设计奖励函数的局限。
  • WBC 作为自动偏好标注器的思路极其优雅——不需要人类标注偏好,仿真器本身就是最好的物理合理性裁判。这使得偏好数据的获取几乎零成本(计算成本外)。
  • 评估 mismatch 的直接解决——将评估目标从 \(\mathcal{X}_{kin}\) 转移到 \(\mathcal{X}_{phys}\),在 WBC 执行后才计算所有指标(包括文本对齐),确保"优化的就是最终要部署的"。
  • 支配规则(Pareto dominance)替代加权求和来聚合多维奖励——避免了敏感的超参调节,简洁且鲁棒。缺点是可用偏好对可能不足,但实验中 \(K=12\) 个候选足够。
  • 迭代式 DPO 刷新偏好数据——每轮更新后重新采样,避免了 offline DPO 中偏好数据与当前模型分布不匹配的问题。

局限性 / 可改进方向

  • WBC 仿真的计算成本较高——每个训练 prompt 要采样 12 个候选并分别仿真,增加训练时间数倍
  • 目前仅在 Unitree G1 上验证零样本部署,是否适用于其他机器人形态(双足/四足/人形但不同尺寸)待验证
  • 扩散模型的生成多样性可能因 DPO 微调而收缩(DPO 的 mode collapse 风险)
  • 支配规则偏好构造虽然避免了权重调参,但可能导致可用偏好对数量不足——当 \(K\) 个候选中无法找到每个奖励都更好的pair时
  • Idea → 见 ideas/llm_alignment/20260320_sim_as_reward_for_any_generation.md:PhysMoDPO 的核心思路——"用不可微的仿真/验证器作为偏好信号源"——可以推广到其他生成任务(如代码生成用编译器+测试作为奖励,3D生成用物理引擎作为奖励)

相关工作与启发

  • vs ReinDiffuse/HY-Motion: 它们用手工定义的 floating/sliding 奖励 + PPO/GRPO 做 RL,PhysMoDPO 用 WBC 仿真器作为奖励源 + DPO。核心区别是奖励信号的来源——手工 heuristics 难以覆盖质心异常等复杂物理动态,WBC 仿真则全面覆盖
  • vs PhysPT/Zhang et al.: 测试时优化/投影方法,PhysMoDPO 在训练时就解决问题,测试时零额外开销。且投影方法可能改变输出分布损害任务性能
  • vs Morph: 用物理模型精炼数据再训练生成器,但嘈杂运动可能反过来损害物理模型。PhysMoDPO 的 WBC 是只读的(冻结参数),不受生成器质量影响
  • 与 SceneAssistant 有共通思想:都是用不可微的外部系统(渲染引擎/物理仿真器)作为反馈信号源来改进生成器

评分

  • 新颖性: ⭐⭐⭐⭐⭐ WBC+DPO的组合高度创新
  • 实验充分度: ⭐⭐⭐⭐⭐ 仿真+真实机器人+消融,非常充分
  • 写作质量: ⭐⭐⭐⭐⭐ 动机清晰,方法详尽
  • 价值: ⭐⭐⭐⭐⭐ 对运动生成和机器人控制有重大价值