File size: 6,349 Bytes
8707378 eb88383 8707378 c4a7941 eb88383 8707378 eb88383 8707378 4978b58 8707378 9a8f188 8707378 9a8f188 8707378 c45b597 d30308e c45b597 8707378 e7187b2 9a8f188 e7187b2 5a471d5 8707378 | 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 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 | ---
license: other
license_name: mixed-mit-cc-by-sa-3.0
library_name: motius
tags:
- motion-generation
- speech-to-gesture
- diffusion
- smpl-x
- beat2
---
# DiffuseStyleGesture+ Model Card
DiffuseStyleGesture is the IJCAI 2023 work *Stylized Audio-Driven Co-Speech
Gesture Generation with Diffusion Models*. Motius integrates the released
DiffuseStyleGesture+ BEAT checkpoint, which adds text semantics, speaker ID,
30 seed frames, and rolling 150-frame diffusion windows.
- Paper: https://arxiv.org/abs/2305.04919
- DSG+ paper: https://arxiv.org/abs/2308.13879
- Official source: https://github.com/YoungSeng/DiffuseStyleGesture
- Motius release: https://huggingface.co/ZeyuLing/Motius-DiffuseStyleGesture-BEAT
- Pipeline: `motius.pipelines.diffusestylegesture.DiffuseStyleGesturePipeline`
## Release Snapshot
| Item | Value |
| ---- | ----- |
| Task | Speech-to-Gesture |
| Training data | BEAT speakers 2 and 10 |
| Benchmark | BEAT2 English speaker 2 |
| Input | WavLM/acoustic 1133D + aligned FastText 301D + speaker ID |
| Native motion | BEAT 75-joint BVH |
| Motius motion | SMPL-X 55-joint axis-angle + zero expression + translation |
| Motion rate | 30 FPS |
| Window | 150 frames, 30 seed frames, 120-frame stride |
| Diffusion | Official 1,000-step sampler, seed `123456` |
| Checkpoint | `model001080000.pt` |
| Checkpoint SHA-256 | `2e25d8b257b44e5110a61713476a146e99c34926c763b5dd1c18a6884a857c77` |
| Runtime revision | `9649995cdd0b8ce0d42bd02567b2bd03829a0540` |
| Inference-pinned artifact revision | `8707378e3835ac2d7e17dc977272640190a1daf5` |
| License | MIT model/runtime; CC-BY-SA-3.0 FastText subset |
## Setup
```bash
bash tools/setup_diffusestylegesture_env.sh
git clone https://github.com/YoungSeng/DiffuseStyleGesture \
ref_repo/DiffuseStyleGesture
git -C ref_repo/DiffuseStyleGesture checkout \
9649995cdd0b8ce0d42bd02567b2bd03829a0540
```
The exact original-format WavLM checkpoint is required. The Transformers
conversion is not used: on the released DSG+ parity clip its WavLM block has
only `0.96376` cosine similarity, while the original checkpoint reproduces the
released features at `0.9999999999` cosine similarity.
```bash
gdown 12-cB34qCTvByWT-QtOcZaqwwO21FLSqU \
-O outputs/checkpoints/diffusestylegesture/WavLM-Large.pt
```
The FastText source is the official `crawl-300d-2M.vec.zip`. The release
contains the 790 vectors used by the fixed benchmark population as
`beat2_speaker2_fasttext_vocab.npz` (one source token, `berties`, is OOV).
The DSG+ checkpoint and source use MIT terms; this compact vector subset
retains FastText's CC-BY-SA-3.0 terms.
## Usage
Build the official conditioning features, then run inference:
```bash
python tools/build_diffusestylegesture_beat2_features.py \
--runtime-root ref_repo/DiffuseStyleGesture/BEAT-TWH-main \
--manifest outputs/evaluation/speech_to_gesture/beat2/_resources/hliu1997_beat2_speaker2_test/manifest.json \
--data-root outputs/evaluation/speech_to_gesture/beat2/_resources/hliu1997_beat2_speaker2_test/beat_english_v2.0.0 \
--wavlm-checkpoint outputs/checkpoints/diffusestylegesture/WavLM-Large.pt \
--fasttext-compact outputs/checkpoints/diffusestylegesture/beat2_speaker2_fasttext_vocab.npz \
--out-dir outputs/evaluation/speech_to_gesture/beat2/diffusestylegesture/features
python tools/eval_diffusestylegesture_beat2.py \
--runtime-root ref_repo/DiffuseStyleGesture/BEAT-TWH-main \
--artifact ZeyuLing/Motius-DiffuseStyleGesture-BEAT \
--manifest outputs/evaluation/speech_to_gesture/beat2/_resources/hliu1997_beat2_speaker2_test/manifest.json \
--data-root outputs/evaluation/speech_to_gesture/beat2/_resources/hliu1997_beat2_speaker2_test/beat_english_v2.0.0 \
--feature-dir outputs/evaluation/speech_to_gesture/beat2/diffusestylegesture/features \
--out-dir outputs/evaluation/speech_to_gesture/beat2/diffusestylegesture/predictions
```
DSG+ writes a native 30 FPS, Y-up BEAT BVH. Motius applies the public
FreeTalker BEAT-to-SMPL-X joint map with identity axes and without FreeTalker's
historical six-frame downsample, which is only appropriate for original
120 FPS BEAT files.
Conditioning stays on the official audio-feature clock. The 15 benchmark WAVs
produce 6–16 more feature frames than their paired SMPL-X references; Motius
does not interpolate or time-warp those features. It runs diffusion for the
native feature length and crops only the final motion to the reference length.
## Evaluation Results
| Evaluator | Clips | FGD ↓ | BC ↑ | Diversity | uTMR FID ↓ | uTMR Paired Dist. ↓ |
| --- | ---: | ---: | ---: | ---: | ---: | ---: |
| BEAT2 Official | 15 | 65.9364 | 6.3858 | 12.2055 | 0.0930 | 16.0251 |
The uTMR columns consume only canonical 30 FPS SMPL-22 joint positions. They
ignore text and expression coefficients; the official metric FK explicitly
sets the SMPL-X translation vector to zero.
Each long clip is split into balanced windows no longer than 20 seconds;
embeddings are L2-normalized only for FID. Paired distance and embedding
diversity use native uTMR features.
These values do not reproduce the DSG+ paper's FGD `14.461`: that number uses
the GENEA/Talking-With-Hands challenge autoencoder and test population, whereas
this row uses the fixed Motius BEAT2 speaker-2 SMPL-X protocol. The upstream
authors also document that the manual BVH-to-SMPL-X conversion can depress
motion realism on BEAT2, even for reconstruction. Accordingly, this released
row is a verified cross-protocol Motius result rather than a paper-number claim.
The exact GENEA autoencoder checkpoint and Table 1 split were not released, so
the public artifacts are insufficient for an exact `14.461` reproduction.
## Preview
Open the audio-synchronized
[15-case Three.js comparison](https://zeyuling-speech-to-gesture-beat2-leaderboard.static.hf.space/cases/index.html).
It provides shared camera and timeline controls for BEAT2 GT, Language of
Motion, EMAGE, and DiffuseStyleGesture+, plus native SMPL-X NPZ downloads.
## Citation
```bibtex
@inproceedings{yang2023diffusestylegesture,
title={DiffuseStyleGesture: Stylized Audio-Driven Co-Speech Gesture Generation with Diffusion Models},
author={Yang, Sicheng and Wu, Zhiyong and Li, Minglei and Zhang, Zhensong and Hao, Lei and Bao, Weihong and Cheng, Ming and Xiao, Long},
booktitle={IJCAI},
year={2023}
}
```
|