Skip to content

About

This is the code repository of MotionMaster: Generalizable Text-Driven Motion Generation and Editing at CVPR 2026.

Resources

Stars

54 stars

Watchers

0 watching

Forks

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MotionMaster: Generalizable Text-Driven Motion Generation and Editing

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

  1. Clone the Repository:

    git clone https://github.com/liyanhu666666/MotionMaster.git
    cd MotionMaster
  2. 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/
  3. Download Checkpoints:

    Download mllm/, tokenizer.pt, and norm_stats.npz from 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}
}

About

This is the code repository of MotionMaster: Generalizable Text-Driven Motion Generation and Editing at CVPR 2026.

Resources

Stars

54 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages