NVlabs/SOMA-X
NVlabs/SOMA-X has 886 GitHub stars and 71 forks. GitHot measured +1 stars in 24 hours. Last checked 2026-11-12 13:59 UTC. Last push 2026-11-07.
SOMA: unificación de modelos paramétricos del cuerpo humano
Crecimiento de estrellas medido
- in 24h
- +1
- in 7 days
- Actualización retrasada
- in 15 days
- Actualización retrasada
- in 1 month
- Actualización retrasada
Cambios netos en períodos que se solapan, no totales diarios. Los datos no disponibles se dejan en blanco. Las estrellas indican interés, no calidad.
README.md
Original
Documentation · PyPI · Hugging Face · Changelog
Overview
SOMA-X provides a canonical, differentiable representation for parametric human bodies and hands. It maps supported identity models to shared SOMA topology and rig conventions so applications can reuse one animation, retargeting, and geometry pipeline across model families. Runtime skinning and fitting are accelerated with NVIDIA Warp.
The package includes:
SOMALayerfor full-body models at mid, low, and extra-low LODs.SOMAHandLayerfor wrist-local left and right hands at the same three LODs.- Native SOMA body and hand identity models, plus optional MHR, Anny, SMPL-family, GarmentMeasurements, and MANO interoperability.
- Pose inversion, procedural rig controls, smoothing, conversion, USD/NPZ I/O, and reusable geometry utilities.
All identity models below are driven by SOMA's unified body and hand skeletons.
Installation
pip install py-soma-x
Assets are downloaded from
nvidia/SOMA-X on first use and cached by
huggingface_hub. Optional identity backends have additional dependencies and
some require separately licensed model files. See the
installation guide for source installation, extras,
and model-file setup.
Quick start
Full body
import torch
from soma import SOMALayer
body = SOMALayer(identity_model_type="mhr", device="cpu")
poses = torch.zeros(1, 77, 3)
identity = torch.zeros(1, body.num_shape_components)
output = body(poses, identity)
vertices = output.vertices
joints = output.joints
SOMA Hand
import torch
from soma import SOMAHandLayer
hand = SOMAHandLayer(hand_type="right", lod="mid", device="cpu")
poses = torch.zeros(1, 25, 3)
identity = torch.zeros(1, hand.num_shape_components)
output = hand(poses, identity)
vertices = output.vertices
joints = output.joints
SOMAHand.npz includes the native hand identity model and bind-relative
articulation prior. MANO interoperability uses user-supplied MANO v1.2 files;
licensed MANO models are not redistributed.
Supported identity models
| Scope | Backend | Notes |
|---|---|---|
| Body | MHR | Default high-fidelity body backend |
| Body | SOMA | Native PCA identity and body-part scaling |
| Body | Anny | Anthropometric controls with broad age coverage |
| Body | SMPL / SMPL-H / SMPL-X | User-supplied licensed model files |
| Body | GarmentMeasurements | User-generated local PCA asset |
| Hand | SOMA | Native 20-component hand identity model |
| Hand | MANO | User-supplied MANO v1.2 model files |
| Hand | MHR | Hand identity sliced from the MHR body model |
Documentation
- Installation and optional backends
- Demos, conversion tools, and pose sampling
- Full-body API
- SOMA Hand API
- Body data assets
- SOMA Hand data assets
- Pose inversion
- Procedural control format
Related projects
- GEM-X — SOMA-based video pose estimation.
- EgoHand - SOMA-based hand pose estimation.
- Kimodo — controllable text-to-motion generation.
- ARDY — an autoregressive diffusion model designed for interactive motion generation.
- MotionBricks — a real-time motion in-betweener.
- BONES-SEED — human and humanoid motion dataset in SOMA format.
- SOMA Retargeter — SOMA-to-Humanoid retargeting.
- ProtoMotions — physically simulated character learning.
- GR00T Whole-Body Control — a state-of-the-art whole-body controller.
Citation
If you use SOMA-X in your work, please cite:
@article{soma2026,
title={SOMA: Unifying Parametric Human Body Models},
author={Jun Saito and Jiefeng Li and Michael de Ruyter and Miguel Guerrero and Edy Lim and Ehsan Hassani and Roger Blanco Ribera and Hyejin Moon and Magdalena Dadela and Marco Di Lucca and Qiao Wang and Xueting Li and Sam Wu and Chaeyeon Chung and Yeongho Seol and Jan Kautz and Simon Yuen and Umar Iqbal},
eprint={2603.16858},
archivePrefix={arXiv},
year={2026},
url={https://arxiv.org/abs/2603.16858},
}
Acknowledgements
- SMPL-Body was used to create the SMPL-to-SOMA topology correspondence, courtesy of the Max Planck Institute for Intelligent Systems.
- MHR was used to learn the pose corrective model.
- Anny provided the basis for Warp-accelerated sparse linear blend skinning.
- GarmentMeasurements was used to augment the native body shape model.
License
SOMA-X is licensed under Apache-2.0. Optional third-party models and dependencies retain their own license terms.
Explorar proyectos relacionados
tensorflow/tensorflow
Un framework de código abierto de aprendizaje automático para todos
201,584 estrellashuggingface/transformers
🤗 Transformers: el framework de definición de modelos para modelos de aprendizaje automático de vanguardia en texto, visión, audio y multimodal, tanto para inferencia como para entrenamiento.
168,917 estrellasAUTOMATIC1111/stable-diffusion-webui
Interfaz web de Stable Diffusion
165,300 estrellasComfy-Org/ComfyUI
La GUI, la API y el backend más potentes y modulares para modelos de difusión, con una interfaz de grafos y nodos. El motor de inferencia local más rápido del mundo.
146,472 estrellas