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

bash
pip install libreyolo

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

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",
)

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

Python
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)
Con un detector de personas
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

TareaONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
meshmesh to ONNX: no compatiblemesh to TorchScript: no compatiblemesh to ExecuTorch: no compatiblemesh to TensorRT: no compatiblemesh to OpenVINO: no compatiblemesh to Paddle: no compatiblemesh to MNN: no compatiblemesh to RKNN: no compatiblemesh to ncnn: no compatiblemesh to TFLite: no compatiblemesh to CoreML: no compatiblemesh 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.

ArchivoEntrada (px)Licencia de los pesos
mesh
LibreSAM3DBodyd3-mesh.pt512other
LibreSAM3DBodyh-mesh.pt512other

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.

Verificado con LibreYOLO v1.5.0. Las tablas de compatibilidad, los checkpoints y las cifras de rendimiento de esta página se generan a partir de la biblioteca publicada y los pesos publicados; no se escriben a mano.