ZeyuLing's picture
Normalize Motius Pipeline.from_pretrained metadata
113fc4b verified
|
Raw
History Blame Contribute Delete
3.75 kB
---
library_name: motius
pipeline_tag: other
tags:
- motion-generation
- text-to-motion
- humanml3d
- flowmdm
license: other
---
<!-- This model card is synchronized from docs/model_zoo/flowmdm.md by tools/sync_model_zoo_cards.py. -->
# FlowMDM - Seamless Human Motion Composition with Blended Positional Encodings
Text-to-motion and multi-prompt motion-composition baseline integrated into the
motius Model Zoo. The runtime is self-contained under
`motius.models.motion.flowmdm.network` and does not import the original
repository at inference time.
| | |
|---|---|
| **Task** | Text-to-Motion (T2M), sequential / multi-prompt T2M |
| **Bundle / Pipeline** | `FlowMDMBundle` / `FlowMDMPipeline` |
| **Processed HF artifact** | [`ZeyuLing/Motius-FlowMDM-HumanML3D`](https://huggingface.co/ZeyuLing/Motius-FlowMDM-HumanML3D) |
| **Motion representation** | **HumanML3D-263** (263-dim, 20 fps, 22 joints) |
| **Model family** | MDM-style diffusion with blended positional encodings |
| **Paper** | *Seamless Human Motion Composition with Blended Positional Encodings*, Barquero et al., CVPR 2024 - [arXiv:2402.15509](https://arxiv.org/abs/2402.15509) |
| **Original code** | https://github.com/BarqueroGerman/FlowMDM |
---
## Weights
Self-contained motius artifact:
| Artifact | Location | Contents | Status |
|---|---|---|---|
| FlowMDM HumanML3D | [`ZeyuLing/Motius-FlowMDM-HumanML3D`](https://huggingface.co/ZeyuLing/Motius-FlowMDM-HumanML3D) | `model000500000.pt` + `args.json` + `Mean.npy` / `Std.npy` + `model_index.json` | public Hub artifact |
| local mirror | `checkpoints/baselines/flowmdm` | same layout | optional local cache |
Use directly from the Hub:
```python
from motius.pipelines.flowmdm import FlowMDMPipeline
pipe = FlowMDMPipeline.from_pretrained(
"ZeyuLing/Motius-FlowMDM-HumanML3D",
device="cuda",
)
motions = pipe.infer_t2m(
["a person walks forward then sits down"],
[120],
) # list of (T, 263)
```
For a local mirror:
```python
pipe = FlowMDMPipeline.from_pretrained("checkpoints/baselines/flowmdm", device="cuda")
```
Sequential multi-prompt generation is exposed as:
```python
motions = pipe.infer_sequential_t2m(
[["a person walks forward", "then turns around"]],
[[80, 80]],
)
```
## Motion Representation
FlowMDM natively generates **HumanML3D-263** at 20 fps. For shared SMPL and
MotionStreamer-272 evaluation, use the validated bridge:
```text
HumanML3D-263 -> SMPL motion_135 via IK refine-80 -> MotionStreamer-272
```
The bridge is a representation-conversion diagnostic. Native HumanML3D quality
should be assessed in the 263-dim evaluator when paper-comparable numbers are
needed.
## HumanML3D Leaderboard Metrics
The row below uses the shared HumanML3D official-test caption protocol and the
HML263 round-trip GT reference for SMPL-based evaluators.
| Evaluator | R1 up | R2 up | R3 up | FID down | MM down | Div up |
|---|---:|---:|---:|---:|---:|---:|
| MotionStreamer-272 | 0.4737 | 0.6496 | 0.7312 | 36.3767 | 20.0018 | 25.1783 |
| MotionCLIP-135 no-L2 | 0.3317 | 0.4795 | 0.5737 | 131.9653 | 43.0012 | 22.9482 |
Physical metrics:
| Slide down | Float down | Jitter down | Dynamic down |
|---:|---:|---:|---:|
| 3.0452 | 7.4055 | 5.0130 | 22.3205 |
## Implementation Notes
- Artifact inference imports only `motius.models.motion.flowmdm.network`.
- The SMPL visualizer path from the original implementation is stubbed for T2M
inference because the released HumanML3D checkpoint predicts HML263 features.
- `Mean.npy` and `Std.npy` are packaged with the artifact to avoid the recurring
wrong-statistics failure mode.
## Direct Loading
```python
from motius import Pipeline
pipeline = Pipeline.from_pretrained("ZeyuLing/Motius-FlowMDM-HumanML3D")
```