SAM 3D Body
SAM 3D Body es el modelo de Meta guiado por prompts para recuperar una malla 3D de cuerpo completo, manos y pies incluidos, a partir de una sola imagen y de cajas de personas. LibreYOLO envuelve el paquete upstream en lugar de portarlo.
- Tareas
- mesh
- Tamaños
- d3, h at 512 px
- Instalación
pip install libreyolo- Nivel de compatibilidad
- Solo inferencia, desde v. Solo permite predecir, validar y exportar. Las funciones de entrenamiento no se aplican.
- Proyecto original
- SAM 3D Body de Meta Platforms, Inc., SAM License (not OSI-approved). Artículo, fuente
- Licencias
- Código MIT, pesos SAM License (not OSI-approved). Uso comercial
Instalación
pip install libreyoloEso te da solo el adaptador de LibreYOLO. SAM 3D Body en sí no viene incluido, porque su licencia no es una de la que pueda derivarse el código propio de LibreYOLO: clona el repositorio upstream e instala sus dependencias por tu cuenta, y luego apunta LibreYOLO al clon.
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",
)o define la variable de entorno SAM_3D_BODY_PATH en lugar de pasar
sam_3d_body_path en cada llamada. Quien nunca construya esta familia no
dispara nunca el import, y nunca se topa con la SAM License. Esta familia no
está conectada a la factoría LibreYOLO() ni al comando de CLI
libreyolo predict; LibreSAM3DBody es el único punto de entrada.
Predicción
from libreyolo import SAMPLE_IMAGEfrom libreyolo.models.sam3dbody import LibreSAM3DBody # Esta familia no está registrada en la factoría LibreYOLO(), así# que se construye directamente. model_path=None es lo que dispara# la descarga restringida de Hugging Face; una cadena, en cambio, se# trata como la ruta de un checkpoint local ya existente y nunca se# descarga automáticamente.# La inferencia requiere un dispositivo CUDA; no hay camino por CPU.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), sistema de la cámara, metrosprint(meshes.joints3d.shape) # (N, J, 3)from libreyolo import LibreYOLO, SAMPLE_IMAGEfrom libreyolo.models.sam3dbody import LibreSAM3DBody # Aquí no hay atajo por cadena con nombre: pasa un detector# LibreYOLO ya construido, un callable normal o una instancia de# PersonDetector.detector = LibreYOLO("LibreRFDETRn.pt")model = LibreSAM3DBody(None, size="d3", device="cuda") result = model(SAMPLE_IMAGE, person_detector=detector)La descarga del checkpoint está restringida: exige aceptar la licencia de Meta
en la página del modelo en Hugging Face y autenticarse con hf auth login para
que la primera descarga funcione. La inferencia en sí necesita un dispositivo
CUDA sin excepciones: el estimador upstream mueve su batch a la GPU sin
comprobar nada, así que una máquina solo con CPU lanza un error en vez de hacer
fallback. result.meshes es un payload Meshes, alineado fila a fila con
result.boxes (una fila por persona detectada): vertices y joints3d son
métricos y ya incluyen la traslación de cámara estimada, joints2d va en
píxeles sobre la imagen original, y las rotaciones siguen la convención de MHR,
ángulos de Euler en lugar de axis-angle. Consulta
predicción para las fuentes, el streaming y el manejo de
resultados.
Variantes
Dos backbones detrás del mismo modelo corporal MHR: d3 usa un encoder DINOv3
ViT-H/16+ y h usa el encoder ViT-H original.
Exportación
| Tarea | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| mesh | mesh to ONNX: no compatible | mesh to TorchScript: no compatible | mesh to ExecuTorch: no compatible | mesh to TensorRT: no compatible | mesh to OpenVINO: no compatible | mesh to Paddle: no compatible | mesh to MNN: no compatible | mesh to RKNN: no compatible | mesh to ncnn: no compatible | mesh to TFLite: no compatible | mesh to CoreML: no compatible | mesh to Core AI: no compatible |
La exportación de mallas corporales no está implementada: LibreYOLO todavía no ha definido un contrato de grafo exportado para la tarea de malla, incluido cómo representar la disposición de parámetros de MHR fuera de PyTorch.
Checkpoints
Todos los archivos de pesos publicados de esta familia.
| Archivo | Entrada (px) | Licencia de los pesos |
|---|---|---|
| mesh | ||
| LibreSAM3DBodyd3-mesh.pt | 512 | other |
| LibreSAM3DBodyh-mesh.pt | 512 | other |
Todos los archivos anteriores existen hoy en la organización de LibreYOLO y se descargan la primera vez que se usan.
Licencia
Comprueba la licencia en el repositorio de Hugging Face de los pesos concretos que descargues. Cada checkpoint de la organización de LibreYOLO incluye una, y no siempre es la misma en toda una familia. Ese repositorio es la fuente autorizada; el resumen siguiente describe qué se aplicaba cuando se verificó esta página por última vez.
Esta es una descripción de las licencias implicadas, no asesoramiento legal. Si la respuesta es importante a nivel comercial, lee las licencias y busca tu propio asesoramiento.
- Trabajo original
- SAM 3D Body, Meta Platforms, Inc.
- Licencia del proyecto original
- SAM License (not OSI-approved)
- Fuente del proyecto original
- github.com/facebookresearch/sam-3d-body
- Código de LibreYOLO
- MIT
- Pesos
- SAM License (not OSI-approved), republicados en huggingface.co/LibreYOLO
- Interpretación
- 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.
El modelo corporal que accionan los checkpoints, MHR (Momentum Human Rig), es una publicación aparte de Meta bajo Apache-2.0. LibreYOLO descarga su asset de TorchScript desde la propia release pública de MHR en tiempo de ejecución y lo cachea en local; ese archivo no lo replica LibreYOLO y se rige por sus propios términos Apache-2.0, no por la SAM License.
Cita
@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}
}Copiado del bloque de cita de los autores en github.com/facebookresearch/sam-3d-body#citing-sam-3d-body.