SAM 3D Body
SAM 3D Body est le modèle guidable de Meta qui reconstruit, à partir d'une seule image et de bounding boxes de personnes, le maillage 3D d'un corps complet, mains et pieds compris. LibreYOLO encapsule le package upstream au lieu de le porter.
- Tâches
- mesh
- Tailles
- d3, h at 512 px
- Installer
pip install libreyolo- Niveau de support
- Inférence uniquement, depuis v. Prédiction, validation et export uniquement. Les fonctionnalités d'entraînement ne s'appliquent pas.
- Licences
- Code MIT, poids SAM License (not OSI-approved). Usage commercial
Installer
pip install libreyoloCette commande installe uniquement l'adaptateur de LibreYOLO. SAM 3D Body lui-même n'est pas inclus, car sa licence n'autorise pas le code propre à LibreYOLO à en être dérivé\u00a0: clonez le dépôt upstream et installez vous-même ses dépendances, puis indiquez à LibreYOLO le chemin du clone.
git clone https://github.com/facebookresearch/sam-3d-body
pip install roma einops yacs omegaconf braceexpand pytorch-lightning timmfrom libreyolo.models.sam3dbody import LibreSAM3DBody
model = LibreSAM3DBody(
None,
size="d3",
sam_3d_body_path="/path/to/sam-3d-body",
device="cuda",
)Vous pouvez aussi définir la variable d'environnement SAM_3D_BODY_PATH au
lieu de transmettre sam_3d_body_path à chaque appel. Un utilisateur qui ne
construit jamais cette famille ne déclenche jamais l'import et ne rencontre
jamais la SAM License. Cette famille n'est intégrée ni à la fabrique
LibreYOLO() ni à la commande CLI libreyolo predict\u00a0; LibreSAM3DBody est
le seul point d'entrée.
Prédire
from libreyolo import SAMPLE_IMAGEfrom libreyolo.models.sam3dbody import LibreSAM3DBody # Cette famille n'est pas enregistrée dans la fabrique LibreYOLO(), elle# est donc construite directement. model_path=None déclenche le# téléchargement protégé depuis Hugging Face ; une chaîne est au contraire# traitée comme le chemin d'un checkpoint local, jamais récupéré automatiquement.# L'inférence nécessite un appareil CUDA ; aucun chemin CPU n'existe.model = LibreSAM3DBody(None, size="d3", device="cuda")result = model(SAMPLE_IMAGE, person_boxes=[[34, 12, 220, 400]]) meshes = result.meshesprint(meshes.vertices.shape) # (N, V, 3), repère caméra, mètresprint(meshes.joints3d.shape) # (N, J, 3)from libreyolo import LibreYOLO, SAMPLE_IMAGEfrom libreyolo.models.sam3dbody import LibreSAM3DBody # Aucun raccourci par chaîne nommée ici : transmettez un détecteur# LibreYOLO construit, un callable simple ou une instance de PersonDetector.detector = LibreYOLO("LibreRFDETRn.pt")model = LibreSAM3DBody(None, size="d3", device="cuda") result = model(SAMPLE_IMAGE, person_detector=detector)Le téléchargement du checkpoint est protégé\u00a0: vous devez accepter la licence
de Meta sur la page du modèle Hugging Face et vous authentifier avec
hf auth login pour que le premier téléchargement aboutisse. L'inférence
elle-même exige toujours un appareil CUDA\u00a0: l'estimateur upstream déplace son
batch vers le GPU sans effectuer de vérification, si bien qu'une machine sans
GPU lève une erreur au lieu de se rabattre sur le CPU. result.meshes est une
charge utile Meshes, alignée ligne par ligne avec result.boxes (une ligne
par personne détectée)\u00a0: vertices et joints3d sont exprimés dans le système
métrique et incluent déjà la translation estimée de la caméra, joints2d est
exprimé en pixels sur l'image d'origine, et les rotations suivent la convention
de MHR, avec des angles d'Euler plutôt qu'un format axe-angle. Consultez la
prédiction pour les sources, le streaming et la gestion des
résultats.
Variantes
Deux backbones utilisent le même modèle corporel MHR\u00a0: d3 emploie un encodeur
DINOv3 ViT-H/16+, tandis que h emploie l'encodeur ViT-H d'origine.
Export
| Tâche | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| mesh | mesh to ONNX : non pris en charge | mesh to TorchScript : non pris en charge | mesh to ExecuTorch : non pris en charge | mesh to TensorRT : non pris en charge | mesh to OpenVINO : non pris en charge | mesh to Paddle : non pris en charge | mesh to MNN : non pris en charge | mesh to RKNN : non pris en charge | mesh to ncnn : non pris en charge | mesh to TFLite : non pris en charge | mesh to CoreML : non pris en charge | mesh to Core AI : non pris en charge |
L'export du maillage corporel n'est pas implémenté\u00a0: LibreYOLO n'a pas encore défini de contrat de graphe exporté pour la tâche de maillage, notamment pour représenter la disposition des paramètres MHR hors de PyTorch.
Checkpoints
Tous les fichiers de poids publiés pour cette famille.
| Fichier | Entrée (px) | Licence des poids |
|---|---|---|
| mesh | ||
| LibreSAM3DBodyd3-mesh.pt | 512 | other |
| LibreSAM3DBodyh-mesh.pt | 512 | other |
Tous les fichiers ci-dessus sont actuellement disponibles dans l<link>organisation LibreYOLO</link> et sont téléchargés à la première utilisation.
Licence
Vérifiez la licence dans le dépôt Hugging Face des poids précis que vous téléchargez. Chaque checkpoint de l<link>organisation LibreYOLO</link> en possède une, et elles ne sont pas toujours identiques au sein dune même famille. Ce dépôt fait autorité ; le résumé ci-dessous décrit les conditions applicables lors de la dernière vérification de cette page.
Ceci décrit les licences concernées et ne constitue pas un conseil juridique. Si la réponse a une importance commerciale, lisez vous-même les licences et consultez votre propre avocat.
- Travail d'origine
- SAM 3D Body, Meta Platforms, Inc.
- Licence du projet d'origine
- SAM License (not OSI-approved)
- Source du projet d'origine
- github.com/facebookresearch/sam-3d-body
- Code de LibreYOLO
- MIT
- Poids
- SAM License (not OSI-approved), republiés sur huggingface.co/LibreYOLO
- Interprétation
- The SAM License is not one OSI recognizes as open source. Meta can amend its terms unilaterally, disclaims all warranty and liability, forbids reverse engineering the SAM Materials, and forbids any use touching military or warfare purposes, nuclear applications, espionage, weapons, or other export-controlled ends. It does not forbid commercial use outright, but a litigation clause ends your license the moment you sue Meta over the SAM Materials, so read it yourself before shipping a product on it. LibreYOLO wraps Meta's package rather than porting its code: none of it is vendored, it is an optional dependency the user installs themselves, and a user who never touches the mesh task never encounters these terms. The checkpoints are mirrored byte-identically behind the same Hugging Face access gate Meta uses, so accepting the license happens on Meta's own model page. LibreYOLO's own adapter code is MIT. The body model the checkpoints drive, MHR (Momentum Human Rig), is Meta's separate Apache-2.0 release and is fetched at runtime from its own public repository rather than mirrored.
Le modèle corporel piloté par les checkpoints, MHR (Momentum Human Rig), est une version Meta distincte sous licence Apache-2.0. À l'exécution, LibreYOLO récupère son asset TorchScript depuis la version publique de MHR et le met en cache localement\u00a0; ce fichier n'est pas hébergé par LibreYOLO et relève de ses propres conditions Apache-2.0, pas de la SAM License.
Citation
@article{yang2026sam3dbody,
title={SAM 3D Body: Robust Full-Body Human Mesh Recovery},
author={Yang, Xitong and Kukreja, Devansh and Pinkus, Don and Sagar, Anushka and Fan, Taosha and Park, Jinhyung and Shin, Soyong and Cao, Jinkun and Liu, Jiawei and Ugrinovic, Nicolas and Feiszli, Matt and Malik, Jitendra and Dollar, Piotr and Kitani, Kris},
journal={arXiv preprint arXiv:2602.15989},
year={2026}
}Copié depuis le bloc de citation des auteurs sur github.com/facebookresearch/sam-3d-body#citing-sam-3d-body.