ZeyuLing/Motius-ViMoGen-1.3B-HumanML3D
<!-- This model card is synchronized from docs/modelzoo/vimogen.md by tools/syncmodelzoocards.py. -->
ViMoGen
Text-to-motion baseline integrated into the motius Model Zoo. The runtime is motius-native and does not import the upstream repository at inference time: the released ViMoGen transformer, scheduler, smoothing step, and DART276 motion representation bridge live under motius.models.motion.vimogen and motius.motion.representation.dart276.
Weights
Current motius artifact:
Load through the same from_pretrained surface as the other reproduced baselines:
from motius.pipelines.vimogen import ViMoGenPipeline
pipe = ViMoGenPipeline.from_pretrained(
"ZeyuLing/Motius-ViMoGen-1.3B-HumanML3D",
device="cuda",
)
motions_276 = pipe.infer_t2m(
["Full-body shot, stable camera. A person walks forward at an average pace."],
[200],
seed=0,
)ViMoGenBundle.from_pretrained reads model_index.json. If the Wan2.1 base assets are not already available locally, the bundle resolves the public Wan-AI/Wan2.1-T2V-1.3B Hub repo declared by wan_repo_id.
Motion Representation
ViMoGen emits DART276, the global DART-style representation:
text -> UMT5-XXL embeddings -> WanVideoTM2M DiT -> denormalized DART276
-> dart276_to_motion135(...) for SMPL mesh / MotionCLIP / physics
-> motion135_to_motion272(...) for MotionStreamer-272 evaluatorThe public conversion API is:
from motius.motion.representation.dart276 import dart276_to_motion135
motion_135 = dart276_to_motion135(motion_276, rotation_convention="row")See docs/motion/representations.md for the DART276 channel layout and the root / coordinate-system convention.
Evaluation
The leaderboard row uses the HumanML3D official-test split (n=4042) and the shared corrected caption set. ViMoGen is sensitive to terse HumanML3D captions, so generation uses a ViMoGen-style prompt rewrite derived from the corrected caption. The rewrite adds presentation/context details such as camera, floor, and motion-capture clothing while preserving the original action content. The semantic evaluators are still computed against the same corrected HumanML3D caption protocol used by the other methods.
MotionStreamer-272 and MotionCLIP
Physical Diagnostics
Implementation Notes
- motius-native runtime:
motius.models.motion.vimogen.networkvendors the required ViMoGen transformer modules and scheduler. - No `ref_repo` dependency: full-set HumanML3D inference uses
scripts/eval/vimogen_t2m_humanml3d.pywithViMoGenBundle/ViMoGenPipeline. - Prompt sensitivity: for leaderboard-quality generation, use the ViMoGen-style prompt rewrite workflow before inference. The plain corrected HumanML3D captions produce substantially weaker text following.
- Evaluator bridge: DART276 outputs are converted to repository
motion_135, then to MotionStreamer-272 or MotionCLIP-135 for the shared cross-model leaderboard protocol.
Direct Loading
from motius import Pipeline
pipeline = Pipeline.from_pretrained("ZeyuLing/Motius-ViMoGen-1.3B-HumanML3D")