SAM 3D Body

SAM 3D Body to sterowany promptami model Meta do odtwarzania siatki 3D całego ciała, w tym dłoni i stóp, z jednego obrazu i ramek osób. LibreYOLO opakowuje pakiet źródłowy zamiast go przenosić.

Zadania
mesh
Rozmiary
d3, h at 512 px
Instalacja
pip install libreyolo
Poziom obsługi
Tylko inferencja, od wersji v. Tylko predykcja, walidacja i eksport. Funkcje trenowania nie mają zastosowania.
Projekt źródłowy
SAM 3D Body, autorzy: Meta Platforms, Inc., licencja: SAM License (not OSI-approved). Publikacja, kod źródłowy
Licencje
Kod: MIT, wagi: SAM License (not OSI-approved). Użycie komercyjne

Instalacja

bash
pip install libreyolo

Instaluje to tylko adapter LibreYOLO. Sam SAM 3D Body nie jest dołączony, ponieważ jego licencja nie zezwala na tworzenie na jej podstawie własnego kodu LibreYOLO. Należy sklonować repozytorium źródłowe, samodzielnie zainstalować jego zależności, a następnie wskazać klon LibreYOLO.

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

Można też ustawić zmienną środowiskową SAM_3D_BODY_PATH zamiast przekazywać sam_3d_body_path przy każdym wywołaniu. Użytkownik, który nigdy nie tworzy tej rodziny, nigdy nie uruchamia importu ani nie styka się z SAM License. Ta rodzina nie jest podłączona do fabryki LibreYOLO() ani polecenia CLI libreyolo predict. LibreSAM3DBody jest jedynym punktem wejścia.

Predykcja

Python
from libreyolo import SAMPLE_IMAGEfrom libreyolo.models.sam3dbody import LibreSAM3DBody # Ta rodzina nie jest zarejestrowana w fabryce LibreYOLO(), dlatego# tworzy się ją bezpośrednio. model_path=None uruchamia kontrolowane# pobieranie z Hugging Face. Ciąg jest natomiast traktowany jako# istniejąca ścieżka lokalnego checkpointu i nigdy nie jest pobierany automatycznie.# Inferencja wymaga urządzenia CUDA. Nie ma ścieżki 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), układ kamery, metryprint(meshes.joints3d.shape)    # (N, J, 3)
Z detektorem osób
from libreyolo import LibreYOLO, SAMPLE_IMAGEfrom libreyolo.models.sam3dbody import LibreSAM3DBody # Nie ma skrótu w postaci nazwanego ciągu. Przekaż utworzony detektor# LibreYOLO, zwykły obiekt wywoływalny albo instancję PersonDetector.detector = LibreYOLO("LibreRFDETRn.pt")model = LibreSAM3DBody(None, size="d3", device="cuda") result = model(SAMPLE_IMAGE, person_detector=detector)

Dostęp do pobierania checkpointu jest kontrolowany. Wymaga zaakceptowania licencji Meta na stronie modelu Hugging Face i uwierzytelnienia przez hf auth login przed pierwszym pobraniem. Sama inferencja zawsze wymaga urządzenia CUDA. Estymator źródłowy przenosi batch na GPU bez sprawdzania, dlatego komputer bez GPU zgłasza błąd zamiast przełączać się na CPU. result.meshes jest elementem Meshes, wyrównanym wierszami z result.boxes (jeden wiersz na wykrytą osobę). vertices i joints3d mają wartości metryczne i zawierają już oszacowane przesunięcie kamery, joints2d podaje piksele oryginalnego obrazu, a obroty używają konwencji MHR, czyli kątów Eulera zamiast reprezentacji oś-kąt. Więcej informacji o źródłach, streamingu i obsłudze wyników zawiera strona predykcji.

Warianty

Dwa backbone współdzielą ten sam model ciała MHR. d3 używa enkodera DINOv3 ViT-H/16+, a h oryginalnego enkodera ViT-H.

Eksport

ZadanieONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
meshmesh to ONNX: brak obsługimesh to TorchScript: brak obsługimesh to ExecuTorch: brak obsługimesh to TensorRT: brak obsługimesh to OpenVINO: brak obsługimesh to Paddle: brak obsługimesh to MNN: brak obsługimesh to RKNN: brak obsługimesh to ncnn: brak obsługimesh to TFLite: brak obsługimesh to CoreML: brak obsługimesh to Core AI: brak obsługi

Eksport siatki ciała nie jest zaimplementowany. LibreYOLO nie zdefiniowało jeszcze kontraktu wyeksportowanego grafu dla zadania siatki, w tym sposobu reprezentowania układu parametrów MHR poza PyTorch.

Checkpointy

Wszystkie opublikowane pliki wag dla tej rodziny.

PlikWejście (px)Licencja wag
mesh
LibreSAM3DBodyd3-mesh.pt512other
LibreSAM3DBodyh-mesh.pt512other

Każdy z powyższych plików jest obecnie dostępny w organizacji LibreYOLO i pobierany przy pierwszym użyciu.

Licencja

Sprawdź licencję w repozytorium konkretnych pobieranych wag na Hugging Face. Każdy checkpoint w organizacji LibreYOLO ma licencję, która nie zawsze jest taka sama w całej rodzinie. To repozytorium jest źródłem rozstrzygającym, a poniższe podsumowanie opisuje stan z chwili ostatniej weryfikacji tej strony.

To opis obowiązujących licencji, a nie porada prawna. Jeśli odpowiedź ma znaczenie komercyjne, przeczytaj licencje i zasięgnij własnej porady prawnej.

Oryginalna praca
SAM 3D Body, Meta Platforms, Inc.
Licencja projektu źródłowego
SAM License (not OSI-approved)
Kod LibreYOLO
MIT
Wagi
SAM License (not OSI-approved), ponownie opublikowane w huggingface.co/LibreYOLO
Interpretacja
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.

Model ciała sterowany przez checkpointy, MHR (Momentum Human Rig), jest osobnym wydaniem Meta na licencji Apache-2.0. LibreYOLO podczas działania pobiera jego artefakt TorchScript z własnego publicznego wydania MHR i zapisuje go lokalnie w pamięci podręcznej. LibreYOLO nie tworzy kopii lustrzanej tego pliku. Podlega on własnym warunkom Apache-2.0, a nie SAM License.

Cytowanie

@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}
}

Skopiowano z bloku cytowania autorów w github.com/facebookresearch/sam-3d-body#citing-sam-3d-body.

Zweryfikowano z LibreYOLO v1.5.0. Tabele obsługi, checkpointy i wyniki benchmarków na tej stronie są generowane na podstawie wydanej biblioteki i opublikowanych wag, a nie wpisywane ręcznie.