PhysMoDPO: Physically-Plausible Humanoid Motion with Preference Optimization
Authors: Yangsong Zhang, Anujith Muraleedharan, Rikhat Akizhanov, Abdul Ahad Butt, Gül Varol, Pascal Fua, Fabio Pizzati, Ivan Laptev
Organizations: Mohamed Bin Zayed University of Artificial Intelligence (MBZUAI) · LIGM, École des Ponts, IP Paris, Univ Gustave Eiffel, CNRS · École polytechnique fédérale de Lausanne (EPFL)
Recent progress in text-conditioned human motion generation has been largely driven by diffusion models trained on large-scale human motion data. Building on this progress, recent methods attempt to transfer such models for character animation and real robot control by applying a Whole-Body Controller (WBC) that converts diffusion-generated motions into executable trajectories. While WBC trajectories become compliant with physics, they may expose substantial deviations from original motion. To address this issue, we here propose PhysMoDPO, a Direct Preference Optimization framework. Unlike prior work that relies on hand-crafted physics-aware heuristics such as foot-sliding penalties, we integrate WBC into our training pipeline and optimize diffusion model such that the output of WBC becomes compliant both with physics and original text instructions. To train PhysMoDPO we deploy physics-based and task-specific rewards and use them to assign preference to synthesized trajectories. Our extensive experiments on text-to-motion and spatial control tasks demonstrate consistent improvements of PhysMoDPO in both physical realism and task-related metrics on simulated robots. Moreover, we demonstrate that PhysMoDPO results in significant improvements when applied to zero-shot motion transfer in simulation and for real-world deployment on a G1 humanoid robot.
Figures & tables
Figure 1: PhysMoDPO generates motions that follow textual instructions while respecting physical constraints. Compared to prior methods, our approach produces motions that remain stable and physically realistic when deployed on the Unitree G1 robot.
Category
Method
Approach
Applied at
No test-time opt.
No Extra trainable module
Dynamics-aware reward
Constraints / Projection
Li et al. [ 20 ]
Optimization
Train/Infer
✗
✓
–
Rempe et al. [ 38 ]
Optimization
Train/Infer
✗
✓
–
PhysPT [ 57 ]
Projection
Train
✓
✗
–
Zhang et al. [ 56 ]
Projection
Infer
✗
✓
–
PhysDiff [ 54 ]
Projection
Sampling
✓
✓
–
Rewards / Finetune
ReinDiffuse [ 7 ]
Finetuning
Finetune
✓
✓
✗
Table 1: Comparison with previous work. We compare alternative ways of incorporating physics constraints into human motion generation. In contrast to other methods, PhysMoDPO make use of dynamics-aware reward and does not require test-time optimization nor additional trainable modules.
Figure 2: Overview of PhysMoDPO. Given a conditioning signal (text and optional joint controls), we sample multiple motions X from a pretrained generator. A fixed physics-based tracking policy then projects each sample into a simulated trajectory X′ . We compute physics rewards and task rewards on X′ , construct preference pairs, and finetune the generator with DPO. This generation–finetuning procedure can be iterated.
Method
MM-Dist ↓
R@1 ↑
R@2 ↑
R@3 ↑
FID ↓
Jerk ↓
Real after simulation
16.02
0.6682
0.8326
0.8952
34.07
35.87
MaskedMimic [ 42 ]
19.73
0.4134
0.5568
0.6305
73.79
66.08
MotionStreamer [ 50 ]
17.17
0.5829
0.7510
0.8310
49.14
46.75
SFT
17.23
0.5779
0.7651
0.8355
49.22
48.30
PhysMoDPO
16.95
0.5853
0.7726
0.8517
48.29
43.60
Table 2: Evaluation of text-driven human motion generation with SMPL robot simulation on HumanML3D [ 6 ] dataset. We evaluate MaskedMimic [ 42 ] , MotionStreamer [ 50 ] and PhysMoDPO with text-conditioned generation setting as in MotionStreamer [ 50 ] . The best results are in bold, and the second best results are underlined.
HumanML3D
OMOMO
Method
Err. ↓
MM-Dist ↓
R@3 ↑
FID ↓
Jerk ↓
Err. ↓
MM-Dist ↓
R@3 ↑
FID ↓
Jerk ↓
Real after simulation
0.0536
3.150
0.7607
0.98
62.96
0.0485
6.679
0.1576
0.59
65.49
MaskedMimic [ 42 ]
0.2493
5.149
0.4932
3.99
106.49
0.2140
6.639
0.1081
5.99
119.52
Original
OmniControl [ 52 ]
0.1998
4.238
0.6123
5.82
115.12
0.3989
7.267
0.1315
20.59
161.95
SFT
0.1536
3.580
0.6875
2.63
92.56
0.2866
7.218
0.1419
13.28
130.69
PhysMoDPO
0.1298
3.333
0.7168
0.93
62.31
0.1900
6.947
0.1536
3.86
101.88
Table 3: Evaluation of spatial-text human motion controllability with SMPL character control. Left: HumanML3D [ 6 ] . Right: OMOMO [ 15 ] . We evaluate MaskedMimic [ 42 ] , OmniControl [ 52 ] under two training settings and PhysMoDPO with cross-control setting as in OmniControl [ 52 ] . The best results are in bold, and the second best results are underlined.
Figure 3: Visual comparison with SMPL simulation. On top, we compare MaskedMimic [ 42 ] , MotionStreamer [ 50 ] and PhysMoDPO on text-to-motion generation task on HumanML3D [ 6 ] dataset. At the bottom, we show visual results of spatial-text control task on HumanML3D [ 6 ] (left) and OMOMO [ 15 ] (right) dataset. Red balls are the input spatial control signals and red boxes highlight the samples which do not follow the control or lose balance.
Method
M2T ↑
R@1 ↑
R@2 ↑
R@3 ↑
FID ↓
Jerk ↓
Real after simulation
0.8282
0.5731
0.7583
0.8475
0.1201
87.76
MaskedMimic [ 42 ]
0.7156
0.3258
0.4762
0.5761
0.3673
83.58
MotionStreamer [ 50 ]
0.7904
0.4673
0.6620
0.7558
0.3033
95.08
SFT
0.7869
0.4586
0.6444
0.7430
0.3124
97.99
PhysMoDPO
0.7919
0.4707
0.6596
0.7640
0.3029
90.14
Table 4: Evaluation of text-driven human motion generation with G1 robot on HumanML3D [ 6 ] dataset. We evaluate MaskedMimic [ 42 ] , MotionStreamer [ 50 ] and PhysMoDPO with text-conditioned generation setting as in MotionStreamer [ 50 ] . The best results are in bold, and the second best results are underlined.
HumanML3D
OMOMO
Method
Err. ↓
M2T ↑
R@3 ↑
FID ↓
Jerk ↓
Err. ↓
M2T ↑
R@3 ↑
FID ↓
Jerk ↓
Real after simulation
0.1894
0.7810
0.7241
0.1287
160
0.1730
0.4985
0.1111
0.1099
184
MaskedMimic [ 42 ]
0.3388
0.6470
0.3958
0.4626
162
0.3157
0.4635
0.0970
0.4324
198
Original
OmniControl [ 52 ]
0.5954
0.7025
0.5504
0.3655
315
0.5951
0.4773
0.1301
0.5007
459
SFT
0.4606
0.7335
0.6108
0.3047
250
0.4857
0.4836
0.1304
0.4571
369
PhysMoDPO
0.2918
0.7414
0.6335
0.3090
142
0.3499
0.5011
0.1291
0.3816
239
Table 5: Evaluation of human motion controllability with G1 robot. Left: HumanML3D [ 6 ] . Right: OMOMO [ 15 ] . We evaluate MaskedMimic [ 42 ] , OmniControl [ 52 ] and PhysMoDPO with cross-control setting as in OmniControl [ 52 ] . The best results are in bold, and the second best results are underlined.
Figure 4: Visual results on Unitree G1 robot. Our deployed motion model enables the robot to move in a physically-realistic way while following input text instructions.
Figure 5: User study. Comparison of real-robot motion sequences generated by PhysMoDPO, MaskedMimic [ 42 ] and OmniControl [ 52 ] . PhysMoDPO outperform both competitors in terms of text adherence, motion smoothness and overall stability.
Table 6: Ablation studies. We train OmniControl [ 52 ] and study the impact of the number of iterative training round and different rewards on HumanML3D [ 6 ] dataset. The best results are in bold.
Appendix figures & tables6 assets
Supplementary material from the paper’s appendix.
Appendix
Method
Spatial controllability
Text consistency
FID ↓
Jerk ↓
Err. ↓
Traj err 0.5 ↓
Traj err 0.2 ↓
M2T ↑
R@3 ↑
Real after simulation
0.2406
0.2734
0.8105
0.5915
0.3916
0.7976
203.6
MaskedMimic [ 42 ]
0.5173
0.5752
0.9629
0.5459
0.2227
1.132
191.4
OmniControl [ 52 ]
0.5121
0.7129
0.9639
0.5693
0.2803
1.038
279.3
SFT
0.3504
0.6113
0.9443
0.5846
0.3574
0.9523
231.4
PhysMoDPO
0.2497
0.4951
0.9141
0.5830
0.3643
0.8820
172.7
Appendix
Table 7: Evaluation of zero-shot human motion controllability with H1 robot on HumanML3D [ 6 ] dataset. We apply the models trained with SMPL simulation and then perform zero-shot evaluation for Unitree H1 robot. The best results are in bold, and the second best results are underlined.
Figure 6: Visual comparison with H1 robot. We transfer the motion generated by MaskedMimic [ 42 ] , OmniControl [ 52 ] and PhysMoDPO to H1 robot and then run Hover [ 11 ] to track the movement (blue points). See also the website.
Control
Data rep
Spatial controllability
Text consistency
FID ↓
Jerk ↓
Err. ↓
Traj err 0.5 ↓
Traj err 0.2 ↓
MM-Dist ↓
R@3 ↑
Pelvis
HML3D
0.0724
0.1055
0.2920
3.0137
0.7900
0.3619
33.30
SMPL
0.0352
0.0420
0.1855
3.0255
0.7822
0.2107
34.38
Left hand
HML3D
0.1320
0.2197
0.6504
2.9725
0.8037
0.3053
30.92
SMPL
0.0662
0.1094
0.4756
3.0054
0.7842
0.1881
33.37
Right hand
HML3D
0.1317
0.2188
0.6572
2.9093
0.7939
0.2523
31.60
Appendix
Table 8: Ablation of data representation. We compare OmniControl [ 52 ] model trained on different data representations. Numbers are calculated without applying tracking policy. The best results are in bold.
Table 9: Ablation studies. We train OmniControl [ 52 ] and study the impact of the data scale and preference pair selection strategies on HumanML3D [ 6 ] dataset. The best results are in bold.
λSFT
β
Spatial controllability
Text consistency
FID ↓
Jerk ↓
Err. ↓
Traj err 0.5 ↓
Traj err 0.2 ↓
MM-Dist ↓
R@3 ↑
0
20
0.2348
0.5918
0.9023
4.21
0.6133
5.28
116.77
1
20
0.1771
0.5469
0.8887
4.00
0.6387
4.31
103.64
2
20
0.1421
0.4238
0.8418
3.36
0.7246
1.17
72.13
5
20
0.1440
0.4463
0.8496
3.40
0.7139
1.82
81.11
10
20
0.1476
0.4629
0.8662
3.49
0.7041
2.29
88.07
Appendix
Table 10: Ablation study on hyperparameters. Here λSFT is the weight of SFT loss on win sample, β is the temperature parameter from Diffusion-DPO [ 46 ] . The best results are in bold, and the second best results are underlined.
Figure 7: User study design. We show the text input with 2 videos generated by PhysMoDPO and one baseline method. The participant is asked to evaluate the videos according to text-motion similarity, smoothness and stability.