File size: 3,748 Bytes
8e3e9bf
113fc4b
8e3e9bf
 
 
 
 
 
 
 
 
 
 
 
 
 
113fc4b
 
8e3e9bf
 
 
 
 
 
113fc4b
8e3e9bf
 
 
 
 
 
 
 
 
113fc4b
8e3e9bf
 
 
113fc4b
8e3e9bf
 
 
 
 
113fc4b
8e3e9bf
 
113fc4b
8e3e9bf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
113fc4b
8e3e9bf
 
 
 
113fc4b
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
---
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")
```