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
pip install libreyoloInstaluje 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.
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",
)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
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)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
| Zadanie | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| mesh | mesh to ONNX: brak obsługi | mesh to TorchScript: brak obsługi | mesh to ExecuTorch: brak obsługi | mesh to TensorRT: brak obsługi | mesh to OpenVINO: brak obsługi | mesh to Paddle: brak obsługi | mesh to MNN: brak obsługi | mesh to RKNN: brak obsługi | mesh to ncnn: brak obsługi | mesh to TFLite: brak obsługi | mesh to CoreML: brak obsługi | mesh 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.
| Plik | Wejście (px) | Licencja wag |
|---|---|---|
| mesh | ||
| LibreSAM3DBodyd3-mesh.pt | 512 | other |
| LibreSAM3DBodyh-mesh.pt | 512 | other |
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 źródłowy projektu
- github.com/facebookresearch/sam-3d-body
- 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.