ZeyuLing/Motius-MotionGPT-HumanML3D
<h1 align="center">MotionGPT Model Card</h1>
<p align="center"> <strong>Motion-language generation with discrete motion tokens, packaged as a Motius pipeline.</strong> </p>
<p align="center"> <a href="https://arxiv.org/abs/2306.14795">Paper</a> | <a href="https://motion-gpt.github.io/">Project Page</a> | <a href="https://github.com/OpenMotionLab/MotionGPT">Original GitHub</a> | <a href="https://huggingface.co/ZeyuLing/Motius-MotionGPT-HumanML3D">Motius Checkpoint</a> </p>
MotionGPT is the motion-language baseline from MotionGPT: Human Motion as a Foreign Language (Jiang et al., NeurIPS 2023). This Motius release packages the HumanML3D motion tokenizer, FLAN-T5-base-style language model with motion tokens, HumanML3D statistics, and task-facing text-to-motion / motion-to-text pipeline methods without requiring the original checkout.
Preview
512px / 30fps GIF previews rendered from released HumanML3D test outputs.
Release Snapshot
The checkpoint artifact contains motiongpt_s3_h3d.tar, assets/meta/mean.npy, assets/meta/std.npy, deps/flan-t5-base/, and model_index.json.
Usage
from motius.pipelines.motiongpt import MotionGPTPipeline
pipe = MotionGPTPipeline.from_pretrained(
"ZeyuLing/Motius-MotionGPT-HumanML3D",
bundle_kwargs={"local_files_only": False},
device="cuda",
)
motions = pipe.infer_t2m(
["a person walks forward then sits down"],
[120],
)motions is a list of NumPy arrays. Each array has shape (T, 263) and is denormalized to HumanML3D physical scale. The same pipeline also exposes infer_m2t for captioning denormalized HumanML3D-263 motions.
caption = pipe.infer_m2t(
[motions[0]],
lengths=[len(motions[0])],
)[0]Evaluation Results
Protocol: HumanML3D Official uses the selected-caption HumanML3D test protocol. MotionStreamer Evaluator and Motius Joint-Position Evaluator are computed after converting outputs through the shared SMPL-22 evaluation bridge. For FID and MM-Dist, lower is better.
Motion-to-Text
Motion Representation
MotionGPT generates HumanML3D-263 features at 20 fps. Per frame:
The VQ-VAE converts normalized HumanML3D features into discrete motion tokens. MotionGPT then treats those tokens as a language vocabulary item alongside text tokens.
Motius Components
Only the inference-time MotionGPT modules required by the bundle are included in this public package.
Citation
@inproceedings{jiang2023motiongpt,
title={MotionGPT: Human Motion as a Foreign Language},
author={Jiang, Biao and Chen, Xin and Liu, Wen and Yu, Jingyi and Yu, Gang and Chen, Tao},
booktitle={Advances in Neural Information Processing Systems},
year={2023}
}Direct Loading
from motius import Pipeline
pipeline = Pipeline.from_pretrained("ZeyuLing/Motius-MotionGPT-HumanML3D")


