GitHub - liyanhu666666/MotionMaster: This is the code repository of MotionMaster: Generalizable Text-Driven Motion Generation and Editing at CVPR 2026. (original) (raw)
This is the code repository of MotionMaster: Generalizable Text-Driven Motion Generation and Editing at CVPR 2026.
📝 arXiv | 🌐 Project Page
Getting Started
Prerequisites
- Python 3.10
- CUDA-capable GPU
- Required Python packages (see Installation)
Installation
- Clone the Repository:
git clone https://github.com/liyanhu666666/MotionMaster.git
cd MotionMaster - Install Dependencies:
pip install -r requirements.txt
pip install "git+https://github.com/facebookresearch/pytorch3d.git@stable" --no-build-isolation
pip install -e src/human_body_prior_repo/ - Download Checkpoints:
Downloadmllm/,tokenizer.pt, andnorm_stats.npzfrom Google Drive and place them as below.
The SMPL-X body model (SMPLX_MALE.npz) and VPoser weights (V02_05/) must be downloaded separately from the SMPL-X project page and placed at the paths shown below:
checkpoints/
├── mllm/ - fine-tuned Qwen2.5-VL language model
├── tokenizer.pt - FSQ motion tokenizer weights
├── norm_stats.npz - normalization statistics
└── smplx_model/
└── SMPLX_MALE.npz - SMPL-X body model (download from SMPL-X project page)
src/human_body_prior_repo/support_data/dowloads/
└── V02_05/ - VPoser model (download from SMPL-X project page) Project Structure
MotionMaster/
├── src/
│ ├── models/ - FSQ tokenizer model
│ ├── quantizers/ - FSQ quantizer
│ ├── smplx_fast/ - SMPL-X (https://github.com/vchoutas/smplx.git)
│ ├── human_body_prior_repo/ - VPoser (https://github.com/nghorbani/human_body_prior.git)
│ ├── feature_utils.py - motion feature utilities
│ ├── joint2smplx.py - 3D joints → SMPL-X fitting
│ └── smplx2joints.py - forward kinematics
├── checkpoints/ - model weights (download separately)
├── infer.py - inference entry point
└── README.md
Single Motion Generation
To generate a single motion using the mllm_single_3b checkpoint, run:
python infer.py --text "a person walks forward" --output output.pkl
Additional arguments:
--text Text description of the motion (required)
--output Output .pkl file path (default: output.pkl)
--mllm_path Path to MLLM checkpoint (default: checkpoints/mllm_single_3b)
--tokenizer_pt Path to FSQ tokenizer (default: checkpoints/tokenizer.pt)
--stats_npz Path to normalization stats (default: checkpoints/norm_stats.npz)
--smplx_path Path to SMPL-X model (default: checkpoints/smplx_model)
Long Sequence Generation & Motion Editing
Coming soon!
Output Format
The output .pkl file contains SMPL-X parameters:
{
"body_pose": numpy.ndarray (N, 63),
"global_orient": numpy.ndarray (N, 3),
"transl": numpy.ndarray (N, 3),
}
Citation
@inproceedings{jiang2026motionmaster,
title={MotionMaster: Generalizable Text-Driven Motion Generation and Editing},
author={Jiang, Nan and Li, Yunhao and Pang, Lexi and He, Zimo and Huang, Siyuan and Zhu, Yixin},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
year={2026}
}