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.
Origine
SAM 3D Body par Meta Platforms, Inc., SAM License (not OSI-approved). Article, source
Licences
Code MIT, poids SAM License (not OSI-approved). Usage commercial

Installer

bash
pip install libreyolo

Cette 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.

bash
git clone https://github.com/facebookresearch/sam-3d-body
pip install roma einops yacs omegaconf braceexpand pytorch-lightning timm
python
from 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

Python
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)
Avec un détecteur de personnes
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âcheONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
meshmesh to ONNX : non pris en chargemesh to TorchScript : non pris en chargemesh to ExecuTorch : non pris en chargemesh to TensorRT : non pris en chargemesh to OpenVINO : non pris en chargemesh to Paddle : non pris en chargemesh to MNN : non pris en chargemesh to RKNN : non pris en chargemesh to ncnn : non pris en chargemesh to TFLite : non pris en chargemesh to CoreML : non pris en chargemesh 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.

FichierEntrée (px)Licence des poids
mesh
LibreSAM3DBodyd3-mesh.pt512other
LibreSAM3DBodyh-mesh.pt512other

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.

Vérifié avec LibreYOLO v1.5.0. Les tableaux de support, les checkpoints et les chiffres de benchmark de cette page sont générés à partir de la bibliothèque publiée et des poids publiés, et non rédigés à la main.