UMO: Unified In-Context Learning Unlocks Motion Foundation Model Priors
Organizations: Brown University · Massachusetts Institute of Technology · Max-Planck Institute for Intelligent Systems · Meta Reality Lab · University of Hong Kong
Abstract
Large-scale foundation models (LFMs) have recently made impressive progress in text-to-motion generation by learning strong generative priors from massive 3D human motion datasets and paired text descriptions. However, how to effectively and efficiently leverage such single-purpose motion LFMs, i.e., text-to-motion synthesis, in more diverse cross-modal and in-context motion generation downstream tasks remains largely unclear. Prior work typically adapts pretrained generative priors to individual downstream tasks in a task-specific manner. In contrast, our goal is to unlock such priors to support a broad spectrum of downstream motion generation tasks within a single unified framework. To bridge this gap, we present UMO, a simple yet general unified formulation that casts diverse downstream tasks into compositions of atomic per-frame operations, enabling in-context adaptation to unlock the generative priors of pretrained DiT-based motion LFMs. Specifically, UMO introduces three learnable frame-level meta-operation embeddings to specify per-frame intent and employs lightweight temporal fusion to inject in-context cues into the pretrained backbone, with negligible runtime overhead compared to the base model. With this design, UMO finetunes the pretrained model, originally limited to text-to-motion generation, to support diverse previously unsupported tasks, including temporal inpainting, text-guided motion editing, text-serialized geometric constraints, and multi-identity reaction generation. Experiments demonstrate that UMO consistently outperforms task-specific and training-free baselines across a wide range of benchmarks, despite using a single unified model. Code and model will be publicly available. Project Page: https://oliver-cong02.github.io/UMO.github.io/
Figures & tables
| Category | Template | Example |
| Description | <motion description> | A man kicks something with his left leg. |
| Editing Instruction | <editing instruction> | Speed up your motion. |
| Parameterized Trajectory | {type:<curve_type>, params:attribute1:value1, attribute2:value2, …} | {type:cubic_bézier, params:{start:[0.0,0.0], end:[5.22,3.77], P0:[0.0,0.0], P1:[-0.23,3.95], P2:[5.44,-0.17], P3:[5.22,3.77]}} |
| Spatial Constraint | A person walks from ( , ) to ( , ). Avoiding N obstacles at ( , , ), …, where is the safety radius in meters. | A person walks from (0.00, 0.00) to (3.96, 6.19). Avoiding 3 obstacles at (2.47, 3.04, 0.44), (2.78, 3.82, 0.45), (2.97, 4.68, 0.39), where is the safety radius in meters. |
| Task | Configuration ( top / bottom) | ||||||||
| Text-to-Motion / Trajectory Following / Obstacle Avoidance | |||||||||
| Instruction-Based Editing / Reaction / Stylization / Trajectory Following / Obstacle Avoidance | |||||||||
| Prediction | |||||||||
| Backcasting | |||||||||
| Architectures | [P] -MPJPE | FID | R@1 | R@2 | R@3 | P (M) | F (G) | L (s) |
| ControlNet | 5.19 | 6.520 | 0.688 | 0.835 | 0.889 | 234.2 | 85.12 | 0.49 |
| AdaLN | 11.1 | 8.860 | 0.746 | 0.875 | 0.922 | 4.400 | 1.660 | 0.02 |
| Sequential Concat | 2.04 | 11.77 | 0.680 | 0.831 | 0.887 | 0.207 | 198.6 | 0.89 |
| Temporal Fusion | 0.95 | 0.476 | 0.692 | 0.842 | 0.896 | 0.207 | 0.140 | 0.01 |
| Methods | FID | R@1 | R@2 | R@3 | MM-D |
| MDM [ 54 ] | 23.454 | 0.523 | 0.692 | 0.764 | 17.42 |
| T2M-GPT [ 74 ] | 12.475 | 0.606 | 0.774 | 0.838 | 16.81 |
| MoMask [ 17 ] | 12.232 | 0.621 | 0.784 | 0.846 | 16.14 |
| MotionStreamer [ 61 ] | 11.790 | 0.631 | 0.802 | 0.859 | 16.08 |
| HY-Motion [ 58 ] | 61.035 | 0.667 | 0.818 | 0.876 | 17.53 |
| UMO-Expert | 17.04 | 0.763 | 0.889 | 0.931 | 15.49 |
| Methods | MPJPE | [P] -MPJPE | FID | R@1 | R@2 | R@3 | MM-D |
| Prediction | |||||||
| HY-Motion | 13.8 | 0.02 | 18.23 | 0.344 | 0.515 | 0.619 | 4.829 |
| CondMDI [ 7 ] | 11.2 | 0.38 | 1.592 | 0.146 | 0.244 | 0.314 | 6.619 |
| MotionLab [ 19 ] | 12.3 | 0.81 | 2.844 | 0.179 | 0.283 | 0.374 | 6.170 |
| UMO-Expert | 10.3 | 0.58 | 0.087 | 0.536 | 0.734 | 0.832 | 2.836 |
| UMO-Unified | 10.2 | 0.54 | 0.056 | 0.553 | 0.744 | 0.834 | 2.823 |
| Methods | Generated-to-Target (Batch) | Generated-to-Target (Full) | ||||||
| R@1 | R@2 | R@3 | AvgR | R@1 | R@2 | R@3 | AvgR | |
| Ground Truth | 100.0 | 100.0 | 100.0 | 1.00 | 64.36 | 88.75 | 95.56 | 1.74 |
| Baselines | ||||||||
| MDM | 4.03 | 7.56 | 10.48 | 15.55 | 0.10 | 0.10 | 0.10 | – |
| MDM-BP | 39.10 | 50.09 | 54.84 | 6.46 | 8.69 | 14.71 | 18.36 | 180.99 |
| TMED | 62.90 | 76.51 | 83.06 | 2.71 | 14.51 | 21.72 | 28.73 | 56.63 |
| Traj. Err | Latency | Succ. | |
| HY-Motion | 325.1 | 0.755 | – |
| CondMDI | 70.46 | 38.44 | – |
| OmniControl | 17.89 | 68.10 | – |
| TLControl w/o Opt. | 61.15 | 0.019 | – |
| TLControl w/ Opt. | 2.930 | 3.243 | – |
| MaskControl | 3.064 | 31.50 | 0.93 |
| FID | R@1 | |
| InterGen | 52.89 | 0.194 |
| InterMask | 2.990 | 0.462 |
| UMO-Expert | 2.130 | 0.428 |
| UMO-Unified | 2.055 | 0.431 |
Appendix figures & tables13 assets
Supplementary material from the paper’s appendix.
Appendix
| Methods | FID | R@1 | R@2 | R@3 | MM-D |
| Baselines | |||||
| MDM [ 54 ] | 23.454 | 0.523 | 0.692 | 0.764 | 17.42 |
| MLD [ 6 ] | 18.236 | 0.546 | 0.730 | 0.792 | 16.64 |
| T2M-GPT [ 74 ] | 12.475 | 0.606 | 0.774 | 0.838 | 16.81 |
| MotionGPT [ 24 ] | 14.375 | 0.456 | 0.598 | 0.628 | 17.89 |
| AttT2M [ 78 ] | 15.428 | 0.592 | 0.765 | 0.834 | 15.73 |
| Methods | Generated-to-Target (Batch) | Generated-to-Target (Full) | ||||||
| R@1 | R@2 | R@3 | AvgR | R@1 | R@2 | R@3 | AvgR | |
| Ground Truth | 100.0 | 100.0 | 100.0 | 1.00 | 64.36 | 88.75 | 95.56 | 1.74 |
| Baselines | ||||||||
| MDM | 4.03 | 7.56 | 10.48 | 15.55 | 0.10 | 0.10 | 0.10 | – |
| MDM-BP | 39.10 | 50.09 | 54.84 | 6.46 | 8.69 | 14.71 | 18.36 | 180.99 |
| TMED | 62.90 | 76.51 | 83.06 | 2.71 | 14.51 | 21.72 | 28.73 | 56.63 |
| Task | Token Set | MPJPE | [P] -MPJPE | FID | R@1 | R@2 | R@3 | MM-D |
| Prediction | 10.2 | 0.71 | 0.058 | 0.550 | 0.742 | 0.831 | 2.849 | |
| 10.2 | 0.54 | 0.056 | 0.553 | 0.744 | 0.834 | 2.823 | ||
| Backcasting | 9.53 | 1.77 | 0.056 | 0.550 | 0.740 | 0.836 | 2.816 | |
| 9.55 | 1.61 | 0.057 | 0.563 | 0.742 | 0.839 | 2.808 | ||
| In-Between. | 8.52 | 0.92 | 0.049 | 0.536 | 0.727 | 0.808 | 2.851 | |
| 8.55 | 0.73 | 0.050 | 0.541 | 0.731 | 0.827 | 2.849 |
| Methods | MPJPE | [P] -MPJPE | FID | R@1 | R@2 | R@3 | MM-D |
| Prediction | |||||||
| HY-Motion | 13.8 | 0.02 | 18.23 | 0.344 | 0.515 | 0.619 | 4.829 |
| CondMDI [ 7 ] | 11.2 | 0.38 | 1.592 | 0.146 | 0.244 | 0.314 | 6.619 |
| MotionLab [ 19 ] | 12.3 | 0.81 | 2.844 | 0.179 | 0.283 | 0.374 | 6.170 |
| Architectures | UMO-Expert | ||||||
| ControlNet | 11.3 | 2.99 | 0.526 | 0.491 | 0.690 | 0.802 | 3.055 |