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) 手工设计的物理约束(如脚滑惩罚)难以覆盖复杂物理动态 (3) 通过 WBC 执行时,控制器可能大幅修改运动以满足约束,导致偏离原始意图。
- 核心矛盾:生成质量(运动学指标)与物理可行性(动力学约束)之间的 mismatch。
- 本文要解决什么? 使扩散运动生成器产生既满足物理约束又忠实于文本指令的运动。
- 切入角度:将 WBC 集成到训练 pipeline,直接用物理仿真结果作为偏好信号来微调生成器。
- 核心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\)。整个流程可迭代:更新生成器后重新采样构造新偏好对。
关键设计¶
- 运动学空间 vs 物理可行空间的形式化(Section 3.1):
- 做什么:将运动学空间 \(\mathcal{X}_{kin}\) 和物理可行空间 \(\mathcal{X}_{phys} \subset \mathcal{X}_{kin}\) 明确分开,定义跟踪失真 \(\Delta(X) = \|X' - X\|_2^2\)
- 核心思路:运动学上合理的运动(\(X \in \mathcal{X}_{kin}\))不一定物理可行(\(X \in \mathcal{X}_{phys}\))。\(\Delta(X)\) 小说明运动接近物理可行,WBC 只需微调;\(\Delta(X)\) 大说明运动物理不合理,WBC 必须大幅修改
-
设计动机:将评估目标从运动学空间转移到部署空间——不评估生成器的直接输出 \(X\),而评估 WBC 执行后的 \(X' = \mathcal{T}(X)\),这直接解决了"运动学指标好但部署效果差"的核心矛盾
-
基于物理的后训练流程(Section 3.2):
- 做什么:对每个条件 \(C\) 采样 \(K\) 个候选,经 WBC 仿真后评分,构造偏好对做 DPO
- 核心思路:训练损失 \(\mathcal{L} = \mathcal{L}_{DPO}(X_{win}, X_{lose}) + \lambda_{SFT}\mathcal{L}_{SFT}(X_{win})\),其中 \(\lambda_{SFT}\) 平衡偏好学习和生成质量保持。注意:奖励在 \(X'\) 上计算,但偏好对定义在 \(X\) 上(尊重 DPO 要求数据来自模型自身采样)
-
设计动机:因为 \(\mathcal{T}\)(物理仿真器)不可微,所以不能直接反传梯度,用 DPO 的偏好学习绕过不可微问题。加 SFT 项防止纯偏好优化导致生成质量漂移
-
四类奖励信号(Section 3.3):
- 跟踪奖励 \(\mathcal{R}_{track}(X', X) = -\|X' - X\|_2^2\):直接最小化 WBC 修正幅度
- 脚滑奖励 \(\mathcal{R}_{slide}(X') = -\frac{1}{N}\sum_i \mathbf{1}[h_{feet} < h_0]\mathbf{1}[v_{feet}^{xy} > v_0]\):惩罚脚接触地面但水平滑动
- 文本对齐奖励 \(\mathcal{R}_{M2T}(X', C_t) = \cos(TMR_{text}(C_t), TMR_{mot}(X'))\):用 TMR 编码器计算文本-运动余弦相似度(在 \(X'\) 上计算!)
- 空间控制奖励 \(\mathcal{R}_{control}(X', C_s) = -\frac{\|W \odot (X' - C_s)\|_2^2}{\|W\|_1}\):空间约束满足度(仅在有 \(C_s\) 时启用)
- 偏好构造使用支配规则:\(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的组合高度创新
- 实验充分度: ⭐⭐⭐⭐⭐ 仿真+真实机器人+消融,非常充分
- 写作质量: ⭐⭐⭐⭐⭐ 动机清晰,方法详尽
- 价值: ⭐⭐⭐⭐⭐ 对运动生成和机器人控制有重大价值