SAM 3D Body

O SAM 3D Body é o modelo da Meta guiado por prompts para recuperar uma malha 3D de corpo inteiro, incluindo mãos e pés, a partir de uma única imagem e de caixas de pessoas. O LibreYOLO envolve o pacote upstream em vez de portá-lo.

Tarefas
mesh
Tamanhos
d3, h at 512 px
Instalação
pip install libreyolo
Nível de suporte
Somente inferência, desde a v. Somente predição, validação e exportação. Os recursos de treinamento não se aplicam.
Origem
SAM 3D Body por Meta Platforms, Inc., SAM License (not OSI-approved). Artigo, código-fonte
Licenças
Código MIT, pesos SAM License (not OSI-approved). Uso comercial

Instalação

bash
pip install libreyolo

Isso te dá apenas o adaptador do LibreYOLO. O SAM 3D Body em si não vem junto, porque a licença dele não é uma da qual o código do próprio LibreYOLO possa derivar: clone o repositório upstream e instale as dependências dele por conta própria, depois aponte o LibreYOLO para o 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",
)

ou defina a variável de ambiente SAM_3D_BODY_PATH em vez de passar sam_3d_body_path em toda chamada. Quem nunca constrói essa família nunca dispara o import, e nunca esbarra na SAM License. Essa família não está ligada à fábrica LibreYOLO() nem ao comando de CLI libreyolo predict; LibreSAM3DBody é o único ponto de entrada.

Predição

Python
from libreyolo import SAMPLE_IMAGEfrom libreyolo.models.sam3dbody import LibreSAM3DBody # Esta família não está registrada na fábrica LibreYOLO(), então ela# é construída diretamente. model_path=None é o que dispara o# download restrito do Hugging Face; já uma string é tratada como o# caminho de um checkpoint local existente e nunca é baixada sozinha.# A inferência exige um dispositivo CUDA; não há caminho 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 da câmera, metrosprint(meshes.joints3d.shape)    # (N, J, 3)
Com um detector de pessoas
from libreyolo import LibreYOLO, SAMPLE_IMAGEfrom libreyolo.models.sam3dbody import LibreSAM3DBody # Aqui não há atalho por string nomeada: passe um detector LibreYOLO# já construído, um callable comum ou uma instância de PersonDetector.detector = LibreYOLO("LibreRFDETRn.pt")model = LibreSAM3DBody(None, size="d3", device="cuda") result = model(SAMPLE_IMAGE, person_detector=detector)

O download do checkpoint é restrito: exige aceitar a licença da Meta na página do modelo no Hugging Face e autenticar com hf auth login antes que o primeiro download funcione. A inferência em si precisa de um dispositivo CUDA sem exceção: o estimador upstream move o batch dele para a GPU sem checar nada, então uma máquina só com CPU levanta um erro em vez de cair para o fallback. result.meshes é um payload Meshes, alinhado linha a linha com result.boxes (uma linha por pessoa detectada): vertices e joints3d são métricos e já incluem a translação de câmera estimada, joints2d vem em pixels sobre a imagem original, e as rotações seguem a convenção do MHR, ângulos de Euler em vez de axis-angle. Veja predição para fontes, streaming e tratamento de resultados.

Variantes

Dois backbones por trás do mesmo modelo corporal MHR: d3 usa um encoder DINOv3 ViT-H/16+ e h usa o encoder ViT-H original.

Exportação

TarefaONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
meshmesh to ONNX: incompatívelmesh to TorchScript: incompatívelmesh to ExecuTorch: incompatívelmesh to TensorRT: incompatívelmesh to OpenVINO: incompatívelmesh to Paddle: incompatívelmesh to MNN: incompatívelmesh to RKNN: incompatívelmesh to ncnn: incompatívelmesh to TFLite: incompatívelmesh to CoreML: incompatívelmesh to Core AI: incompatível

A exportação de malha corporal não está implementada: o LibreYOLO ainda não definiu um contrato de grafo exportado para a tarefa de malha, incluindo como representar o layout de parâmetros do MHR fora do PyTorch.

Checkpoints

Todos os arquivos de pesos publicados desta família.

ArquivoEntrada (px)Licença dos pesos
mesh
LibreSAM3DBodyd3-mesh.pt512other
LibreSAM3DBodyh-mesh.pt512other

Todos os arquivos acima existem hoje na organização LibreYOLO e são baixados no primeiro uso.

Licenciamento

Confira a licença no repositório do Hugging Face correspondente aos pesos que você baixar. Cada checkpoint na organização LibreYOLO tem uma licença, e ela nem sempre é a mesma em toda a família. Esse repositório é a fonte oficial. O resumo abaixo descreve o que se aplicava na última verificação desta página.

Esta é uma descrição das licenças envolvidas, não uma orientação jurídica. Se a resposta tiver importância comercial, leia as licenças e procure sua própria assessoria.

Trabalho original
SAM 3D Body, Meta Platforms, Inc.
Licença original
SAM License (not OSI-approved)
Código do LibreYOLO
MIT
Pesos
SAM License (not OSI-approved), republicado em huggingface.co/LibreYOLO
Interpretação
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.

O modelo corporal que os checkpoints acionam, o MHR (Momentum Human Rig), é uma versão separada da Meta sob Apache-2.0. O LibreYOLO baixa o asset TorchScript dele a partir da própria versão pública do MHR em tempo de execução e o guarda em cache localmente; esse arquivo não é espelhado pelo LibreYOLO e segue os próprios termos Apache-2.0, não a SAM License.

Citação

@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 do bloco de citação dos autores em github.com/facebookresearch/sam-3d-body#citing-sam-3d-body.

Verificado com o LibreYOLO v1.5.0. As tabelas de suporte, os checkpoints e os números de benchmark desta página são gerados a partir da biblioteca lançada e dos pesos publicados, não escritos à mão.