Skip to content

jasongzy/Make-It-Animatable

Repository files navigation

Make-It-Animatable: An Efficient Framework for Authoring Animation-Ready 3D Characters
(CVPR 2025 Highlight)

Zhiyang Guo, Jinxu Xiang, Kai Ma, Wengang Zhou, Houqiang Li, Ran Zhang

teaser

Installation

git clone https://github.com/jasongzy/Make-It-Animatable --recursive --single-branch
cd Make-It-Animatable

conda create -n mia python=3.11
conda activate mia
pip install -r requirements.txt

Data Preparation

First of all, get the Git LFS placeholder files (only metadata, won't download the actual data content):

git lfs install
GIT_LFS_SKIP_SMUDGE=1 git -C data clone https://huggingface.co/datasets/jasongzy/Mixamo
# git -C data/Mixamo submodule update --init
GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/jasongzy/Make-It-Animatable /tmp/hf-data  # can be deleted later

Now download some data required for both training and demo:

git -C data/Mixamo lfs pull -I 'bones*.fbx,animation'

For Demo

Download the pretrained models:

git -C /tmp/hf-data lfs pull -I output/best/new
mkdir -p output/best && cp -r /tmp/hf-data/output/best/new output/best/

Download the example data:

git -C /tmp/hf-data lfs pull -I data
cp -r /tmp/hf-data/data/* data/

Download some tools:

wget https://github.com/facebookincubator/FBX2glTF/releases/download/v0.9.7/FBX2glTF-linux-x64 -O util/FBX2glTF
chmod +x util/FBX2glTF

For Training

Download the training dataset:

git -C data/Mixamo lfs pull -I 'bones*.fbx,animation,animation_extra,character_refined,character_rabit_refined'

Download the pretrained weights of AE (only for training from scratch):

git -C /tmp/hf-data lfs pull -I output/ae
cp -r /tmp/hf-data/output/ae output/
About the online pairing of FBX files

During training, we do online pairing of characters and animations (skeletal motion sequences) using Blender to reduce the storage size of dataset while ensuring the diversity of training samples. This basically includes the following steps (implemented using Blender's bpy API):

  • Sample a character and a motion sequence, apply the motion to the character to create animated sequences, and optionally do retargeting for better poses.
  • Sample some frames from the animated sequences to get the training samples of the current iteration.
  • Extract the necessary ground-truth data (blend weights, bone positions, poses, etc.) for all sampled frames.
  • Sample some points from the surface of the animated mesh as the input shape representation.

So if you want to get rid of the Blender dependency during training, you can iterate through the entire dataset in advance and store the results (may take a lot of storage space).

Demo for Inference

python app.py

An online demo is also available at Hugging Face Spaces.

Training

bash train.sh

Tips:

  • For the flexibility and efficiency during training, the models for predicting weights, bones, and poses are trained separately. If you wish to train them jointly and share decoder parameters across them, just modify the train.sh script by enabling all --predict_* flags.
  • The hyperparameters in train.sh are set for training on A100 80G GPU. To reduce the VRAM usage, consider decreasing the --batch_size and --sample_frames values.

Differences to Paper

  • The dual-quaternion representation adopted in learning pose-to-rest transformations is replaced by a more effective rotation representation ortho6d along with the joint positions.
  • Some samples from the 3DBiCar Dataset proposed in RaBit (rigged by Mixamo) are included in training to improve the generalization to characters with unusual head-body ratio.

Acknowledgement

Citation

@inproceedings{Guo_2025_CVPR,
    author={Guo, Zhiyang and Xiang, Jinxu and Ma, Kai and Zhou, Wengang and Li, Houqiang and Zhang, Ran},
    title={Make-It-Animatable: An Efficient Framework for Authoring Animation-Ready 3D Characters},
    booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
    year={2025},
}

Star History Chart

About

[CVPR 2025 Highlight] Official implementation of "Make-It-Animatable: An Efficient Framework for Authoring Animation-Ready 3D Characters"

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors