Abstract: Music-to-dance generation translates auditory signals into expressive human motion, yet existing approaches still struggle to balance refined 3D motion quality with strict inference budgets. FlowerDance is designed for both physically plausible, artistically expressive motion and efficient generation in speed and memory usage.
FlowerDance combines MeanFlow with Physical Consistency Constraints for high-quality few-step sampling, and uses a lightweight non-autoregressive BiMamba backbone with Channel-Level Fusion for long-horizon music-to-dance synthesis. It also supports motion editing through time-decayed soft masking, enabling users to refine generated dance sequences interactively.
🎉 FlowerDance has been accepted to ECCV 2026! 🎉
✨ Training and inference code are now available. ✨
To set up the necessary environment for running this project, follow the steps below:
-
Create a new conda environment
conda create -n Flower_env python=3.10 conda activate Flower_env
-
Install PyTorch (CUDA 12.8)
pip install torch==2.7.1+cu128 torchvision==0.22.1+cu128 torchaudio==2.7.1+cu128 \ --index-url https://download.pytorch.org/whl/cu128 -
Install remaining dependencies
pip install -r requirements.txt
- Download the preprocessed features archive from Google Drive and extract it so that the preprocessed files are located under
./data/. - Download the evaluation checkpoint archive from Google Drive and extract it in the project root. The archive creates the required
./runs/directory.
After downloading the necessary files, ensure the directory structure follows the pattern below:
FlowerDance/
│
├── data/
├── dataset/
├── model/
├── runs/
├── requirements.txt
├── args.py
├── EDGE.py
├── train.py
├── test.py
├── inference.py
├── inpaint.py
└── vis.py
export WANDB_MODE=offline
accelerate launch train.py --batch_size 128 --epochs 4000 --feature_type baselineTo evaluate the model:
python test.py --batch_size 128Generate a genre-conditioned dance sequence of a custom length from your own music:
python inference.py path/to/music.wav \
--genre Hiphop \
--duration 32List all supported dance genres:
python inference.py --list-genresThe checkpoint is downloaded automatically from Hugging Face when --checkpoint is omitted. Generated motions are saved to inference_outputs/.
This code is standing on the shoulders of giants. We want to thank the following contributors that our code is based on: EDGE, Adan-pytorch, denoising-diffusion-pytorch, Mamba, causal-conv1d, and fairmotion. The preprocessed data builds on AIST++ and FineDance.
@inproceedings{yang2026flowerdance,
title={Flowerdance: Meanflow for efficient and refined 3d dance generation},
author={Yang, Kaixing and Tang, Xulong and Peng, Ziqiao and Zhang, Xiangyue and Chen, Chubin and Zhou, Xukun and Wang, Puwei and Liu, Hongyan and He, Jun},
booktitle={European Conference on Computer Vision},
pages={56--74},
year={2026},
organization={Springer}
}