File size: 2,955 Bytes
5aee2af | 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 | [](https://paperswithcode.com/sota/gesture-generation-on-beat2?p=gesturelsm-latent-shortcut-based-co-speech) <a href="https://arxiv.org/abs/2501.18898"><img src="https://img.shields.io/badge/arxiv-gray?logo=arxiv&"></a>
# GestureLSM: Latent Shortcut based Co-Speech Gesture Generation with Spatial-Temporal Modeling
# ๐ Release Plans
- [x] Inference Code
- [x] Pretrained Models
- [x] A web demo
- [x] Training Code
# โ๏ธ Installation
## Build Environtment
```
conda create -n gesturelsm python=3.12
conda activate gesturelsm
conda install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=11.8 -c pytorch -c nvidia
pip install -r requirements.txt
bash demo/install_mfa.sh
```
## Download Model
```
# Download the pretrained model (Shortcut) + (Shortcut-reflow) + (Diffusion) + (RVQ-VAEs)
gdown https://drive.google.com/drive/folders/1OfYWWJbaXal6q7LttQlYKWAy0KTwkPRw?usp=drive_link -O ./ckpt --folder
# Download the SMPL model
gdown https://drive.google.com/drive/folders/1MCks7CMNBtAzU2XihYezNmiGT_6pWex8?usp=drive_link -O ./datasets/hub --folder
```
## Download Dataset
> For evaluation and training, not necessary for running a web demo or inference.
- Download the original raw data
```
bash preprocess/bash_raw_cospeech_download.sh
```
## Eval
> Require download dataset
```
# Evaluate the pretrained shortcut model (20 steps)
python test.py -c configs/shortcut_rvqvae_128.yaml
# Evaluate the pretrained shortcut-reflow model (2-step)
python test.py -c configs/shortcut_reflow_test.yaml
# Evaluate the pretrained diffusion model
python test.py -c configs/diffuser_rvqvae_128.yaml
```
## Train RVQ-VAEs
> Require download dataset
```
bash train_rvq.sh
```
## Train Generator
> Require download dataset
```
# Train the shortcut model
python train.py -c configs/shortcut_rvqvae_128.yaml
# Train the diffusion model
python train.py -c configs/diffuser_rvqvae_128.yaml
```
## Demo
```
python demo.py -c configs/shortcut_rvqvae_128_hf.yaml
```
# ๐ Acknowledgments
Thanks to [SynTalker](https://github.com/RobinWitch/SynTalker/tree/main), [EMAGE](https://github.com/PantoMatrix/PantoMatrix/tree/main/scripts/EMAGE_2024), [DiffuseStyleGesture](https://github.com/YoungSeng/DiffuseStyleGesture), our code is partially borrowing from them. Please check these useful repos.
# ๐ Citation
If you find our code or paper helps, please consider citing:
```bibtex
@misc{liu2025gesturelsmlatentshortcutbased,
title={GestureLSM: Latent Shortcut based Co-Speech Gesture Generation with Spatial-Temporal Modeling},
author={Pinxin Liu and Luchuan Song and Junhua Huang and Chenliang Xu},
year={2025},
eprint={2501.18898},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2501.18898},
}
``` |