Upload README.md
Browse files
README.md
ADDED
|
@@ -0,0 +1,135 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
library_name: pytorch
|
| 3 |
+
license: other
|
| 4 |
+
license_name: upstream-and-data-licenses-apply
|
| 5 |
+
tags:
|
| 6 |
+
- motion-generation
|
| 7 |
+
- text-to-motion
|
| 8 |
+
- motion-to-motion
|
| 9 |
+
- smpl-x
|
| 10 |
+
- vimogen
|
| 11 |
+
---
|
| 12 |
+
|
| 13 |
+
# ViMoGen-Hand-456 checkpoints
|
| 14 |
+
|
| 15 |
+
This model repository stores the selected large checkpoints for the
|
| 16 |
+
ViMoGen-Hand-456 experiments. The project extends the original ViMoGen 276D
|
| 17 |
+
body representation with 180D articulated hand rotations:
|
| 18 |
+
|
| 19 |
+
```text
|
| 20 |
+
motion456 = body276 || left_hand90 || right_hand90
|
| 21 |
+
```
|
| 22 |
+
|
| 23 |
+
The complete source, experiment configs, training records, reports and
|
| 24 |
+
evaluation artifacts are distributed separately in the `ViMoGen_Hand` source
|
| 25 |
+
repository. These weights require the original ViMoGen implementation and its
|
| 26 |
+
licensed dependencies; they are not standalone Transformers checkpoints.
|
| 27 |
+
|
| 28 |
+
## Representation
|
| 29 |
+
|
| 30 |
+
| Channels | Meaning |
|
| 31 |
+
|---|---|
|
| 32 |
+
| `0:126` | 21 non-root body-joint rotations in Rot6D |
|
| 33 |
+
| `126:192` | 22 global body-joint XYZ positions |
|
| 34 |
+
| `192:258` | 22 body-joint XYZ velocities |
|
| 35 |
+
| `258:264` | root/global orientation in Rot6D |
|
| 36 |
+
| `264:270` | root orientation velocity in Rot6D |
|
| 37 |
+
| `270:273` | root translation XYZ |
|
| 38 |
+
| `273:276` | root translation velocity XYZ |
|
| 39 |
+
| `276:366` | 15 left-hand joint rotations in Rot6D |
|
| 40 |
+
| `366:456` | 15 right-hand joint rotations in Rot6D |
|
| 41 |
+
|
| 42 |
+
The hand block contains local rotations only. It does not add hand joint
|
| 43 |
+
positions, hand velocities, face parameters or body shape parameters.
|
| 44 |
+
|
| 45 |
+
TM2M body conditioning uses a 138D reference consisting of body channels
|
| 46 |
+
`0:126` and `258:270`. Hand conditioning uses the full 180D hand pose. Unified
|
| 47 |
+
models concatenate both conditions into a 318D reference.
|
| 48 |
+
|
| 49 |
+
## Files
|
| 50 |
+
|
| 51 |
+
| Remote path | Purpose | Size | SHA256 |
|
| 52 |
+
|---|---|---:|---|
|
| 53 |
+
| `hand180/step_00014000/model.pt` | Independent Hand180 model used by Concat, as the hand teacher, and by Two-Expert | 9,093,836,032 B | `daa66c4d29d2b94b33da392e3d4920f067fcd37965daadcadd47cf0966066f7b` |
|
| 54 |
+
| `unified_distill/stage2/step_00015000/model.pt` | Selected single-network Stage2 unified 456D model | 9,098,076,480 B | `443843959903f4a20639ce9d50e3cd023de694f51628c88f0998da191a381492` |
|
| 55 |
+
| `direct456/step_00020000/model.pt` | Selected Direct456 all-parameter ablation | 9,098,076,480 B | `e63221693337d4b2b07e8dd124ea992d5a0b798884bb6ec51e383f1e3a8a69ec` |
|
| 56 |
+
|
| 57 |
+
All three are RAW FP32 model states used by the archived primary comparisons.
|
| 58 |
+
EMA weights and optimizer states are intentionally not included.
|
| 59 |
+
|
| 60 |
+
The original ViMoGen Body276 checkpoint must be downloaded from the official
|
| 61 |
+
ViMoGen release. The compact Two-Expert fusion state is stored in the source
|
| 62 |
+
repository because it is only 7.2 MB. The 18.2 GB full Two-Expert checkpoint is
|
| 63 |
+
not uploaded because it duplicates the frozen Body276 and Hand180 experts.
|
| 64 |
+
|
| 65 |
+
## Architectures represented here
|
| 66 |
+
|
| 67 |
+
### Hand180
|
| 68 |
+
|
| 69 |
+
The original ViMoGen TM2M topology is retained but its motion/reference/output
|
| 70 |
+
domains are changed to `180/180/180`. It contains 30 main Transformer blocks,
|
| 71 |
+
15 reference self-attention blocks, hidden width 1536, 12 heads and FFN width
|
| 72 |
+
8960. All Hand180 parameters were trained with hand-only flow matching.
|
| 73 |
+
|
| 74 |
+
### Stage2 unified
|
| 75 |
+
|
| 76 |
+
A single original-topology ViMoGen Student uses `456/318/456` I/O. It was first
|
| 77 |
+
distilled from frozen Body276 and Hand180 teachers, then trained with equal
|
| 78 |
+
body/hand GT flow losses plus a 0.1 teacher anchor. The selected raw checkpoint
|
| 79 |
+
is step 15000 of Stage2.
|
| 80 |
+
|
| 81 |
+
### Direct456
|
| 82 |
+
|
| 83 |
+
A single original-topology `456/318/456` ViMoGen model was initialized from
|
| 84 |
+
all shape-compatible Body276 weights and then trained end-to-end on equal
|
| 85 |
+
body/hand GT flow losses without teachers. This checkpoint is retained as the
|
| 86 |
+
direct all-parameter ablation.
|
| 87 |
+
|
| 88 |
+
## Training data and common settings
|
| 89 |
+
|
| 90 |
+
- 25,861 processed Motion-X/Motion-X++ motions;
|
| 91 |
+
- 3,194,032 frames at 20 FPS;
|
| 92 |
+
- source SMPL-X 322D converted to `[T,456]`;
|
| 93 |
+
- T2M/TM2M sampling ratio 20/80;
|
| 94 |
+
- AdamW, betas `(0.9, 0.95)`, weight decay `1e-4`;
|
| 95 |
+
- BF16 compute with FP32 master parameters, optimizer and EMA;
|
| 96 |
+
- 7-GPU FSDP, global batch 112;
|
| 97 |
+
- 50 flow sampling steps and denoising strength 0.7 for primary evaluation.
|
| 98 |
+
|
| 99 |
+
The dataset and SMPL-X body model are not redistributed here.
|
| 100 |
+
|
| 101 |
+
## Download
|
| 102 |
+
|
| 103 |
+
```bash
|
| 104 |
+
hf download Agentc1/ViMoGen_Hand_456 \
|
| 105 |
+
hand180/step_00014000/model.pt \
|
| 106 |
+
unified_distill/stage2/step_00015000/model.pt \
|
| 107 |
+
direct456/step_00020000/model.pt \
|
| 108 |
+
checkpoint_manifest.json \
|
| 109 |
+
--local-dir checkpoints_external
|
| 110 |
+
```
|
| 111 |
+
|
| 112 |
+
Verify SHA256 values against `checkpoint_manifest.json` before evaluation.
|
| 113 |
+
|
| 114 |
+
## Main benchmark result
|
| 115 |
+
|
| 116 |
+
Mean raw-motion MSE on the archived 16-case strict GRAB OOD TM2M suite:
|
| 117 |
+
|
| 118 |
+
| Method | Full | Body | Hand |
|
| 119 |
+
|---|---:|---:|---:|
|
| 120 |
+
| Frozen Two-Expert | 0.017182 | 0.026319 | 0.003171 |
|
| 121 |
+
| Body276 + Hand180 Concat | 0.017617 | 0.026920 | 0.003353 |
|
| 122 |
+
| Stage2 unified | 0.021346 | 0.032927 | 0.003589 |
|
| 123 |
+
| Direct456 | 0.021307 | 0.031046 | 0.006373 |
|
| 124 |
+
|
| 125 |
+
The historical method runs did not use a perfectly identical seed map, so the
|
| 126 |
+
small Two-Expert-versus-Concat difference should be treated as a trend rather
|
| 127 |
+
than a statistical significance claim.
|
| 128 |
+
|
| 129 |
+
## Licenses and attribution
|
| 130 |
+
|
| 131 |
+
Use of these checkpoints is subject to the licenses and terms of the original
|
| 132 |
+
ViMoGen/Wan components, Motion-X/Motion-X++ data, SMPL-X models and any source
|
| 133 |
+
datasets. This repository does not grant redistribution rights for those
|
| 134 |
+
dependencies. Please cite the original ViMoGen, Motion-X and applicable source
|
| 135 |
+
dataset papers when using the models.
|