SAM 3D Body
SAM 3D Body ist Metas Prompt-basiertes Modell zur Rekonstruktion eines vollständigen 3D-Körper-Meshes einschließlich Händen und Füßen aus einem einzelnen Bild und Personenboxen. LibreYOLO bindet das Upstream-Paket ein, statt es zu portieren.
- Aufgaben
- mesh
- Größen
- d3, h at 512 px
- Installation
pip install libreyolo- Supportstufe
- Nur Inferenz, seit v. Nur Vorhersage, Validierung und Export. Trainingsfunktionen sind nicht verfügbar.
- Upstream
- SAM 3D Body von Meta Platforms, Inc., SAM License (not OSI-approved). Publikation, Quelle
- Lizenzen
- Code MIT, Gewichte SAM License (not OSI-approved). Kommerzielle Nutzung
Installation
pip install libreyoloDamit erhältst du nur den LibreYOLO-Adapter. SAM 3D Body selbst wird nicht mitgeliefert, weil die Lizenz keine Ableitung des eigenen LibreYOLO-Codes erlaubt. Klone das Upstream-Repository, installiere die Abhängigkeiten selbst und verweise LibreYOLO anschließend auf den Klon.
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",
)Alternativ kannst du die Umgebungsvariable SAM_3D_BODY_PATH setzen, statt
sam_3d_body_path bei jedem Aufruf zu übergeben. Wenn du diese Familie nie
erzeugst, wird der Import nie ausgelöst und du triffst nicht auf die SAM
License. Diese Familie ist weder an die Factory LibreYOLO() noch an den
CLI-Befehl libreyolo predict angeschlossen. LibreSAM3DBody ist der einzige
Einstiegspunkt.
Vorhersage
from libreyolo import SAMPLE_IMAGEfrom libreyolo.models.sam3dbody import LibreSAM3DBody # Diese Familie ist nicht bei der LibreYOLO()-Factory registriert und wird# direkt erzeugt. model_path=None startet den beschränkten Hugging-Face-Download.# Ein String gilt als vorhandener lokaler Checkpoint-Pfad und wird nie automatisch# abgerufen. Die Inferenz benötigt CUDA; es gibt keinen CPU-Pfad.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), Kamerakoordinaten, Meterprint(meshes.joints3d.shape) # (N, J, 3)from libreyolo import LibreYOLO, SAMPLE_IMAGEfrom libreyolo.models.sam3dbody import LibreSAM3DBody # Hier gibt es keinen Kurznamen: Übergib einen erzeugten LibreYOLO-Detektor,# ein einfaches Callable oder eine PersonDetector-Instanz.detector = LibreYOLO("LibreRFDETRn.pt")model = LibreSAM3DBody(None, size="d3", device="cuda") result = model(SAMPLE_IMAGE, person_detector=detector)Der Checkpoint-Download ist zugangsbeschränkt. Du musst Metas Lizenz auf der
Hugging-Face-Modellseite akzeptieren und dich vor dem ersten Download mit
hf auth login authentifizieren. Die Inferenz selbst benötigt immer ein
CUDA-Gerät. Der Upstream-Schätzer verschiebt seinen Batch ohne Prüfung auf die
GPU. Auf einem reinen CPU-System wird daher ein Fehler ausgelöst, statt auf die
CPU zurückzufallen. result.meshes ist eine Meshes-Nutzlast, deren Zeilen
mit result.boxes ausgerichtet sind (eine Zeile pro erkannter Person).
vertices und joints3d sind metrisch und enthalten bereits die geschätzte
Kameratranslation. joints2d liegt in Pixeln des ursprünglichen Bildes vor.
Rotationen folgen der MHR-Konvention und verwenden Euler-Winkel statt
Achse-Winkel. Unter Vorhersage findest du Quellen, Streaming
und die Verarbeitung von Ergebnissen.
Varianten
Es gibt zwei Backbones hinter demselben MHR-Körpermodell: d3 verwendet einen
DINOv3-ViT-H/16+-Encoder, h den ursprünglichen ViT-H-Encoder.
Export
| Aufgabe | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| mesh | mesh to ONNX: nicht unterstützt | mesh to TorchScript: nicht unterstützt | mesh to ExecuTorch: nicht unterstützt | mesh to TensorRT: nicht unterstützt | mesh to OpenVINO: nicht unterstützt | mesh to Paddle: nicht unterstützt | mesh to MNN: nicht unterstützt | mesh to RKNN: nicht unterstützt | mesh to ncnn: nicht unterstützt | mesh to TFLite: nicht unterstützt | mesh to CoreML: nicht unterstützt | mesh to Core AI: nicht unterstützt |
Der Export von Körper-Meshes ist nicht implementiert. LibreYOLO hat noch keinen Vertrag für einen exportierten Graphen der Mesh-Aufgabe definiert, einschließlich der Darstellung des MHR-Parameteraufbaus außerhalb PyTorchs.
Checkpoints
Alle veröffentlichten Gewichtsdateien dieser Familie.
| Datei | Eingabe (px) | Lizenz der Gewichte |
|---|---|---|
| mesh | ||
| LibreSAM3DBodyd3-mesh.pt | 512 | other |
| LibreSAM3DBodyh-mesh.pt | 512 | other |
Jede oben aufgeführte Datei ist heute in der LibreYOLO-Organisation verfügbar und wird bei der ersten Verwendung heruntergeladen.
Lizenzierung
Prüfe die Lizenz im Hugging-Face-Repository der konkreten Gewichte, die du herunterlädst. Jeder Checkpoint in der LibreYOLO-Organisation hat eine Lizenz, und sie ist innerhalb einer Familie nicht immer gleich. Dieses Repository ist die maßgebliche Quelle. Die Zusammenfassung unten beschreibt den Stand bei der letzten Verifizierung dieser Seite.
Dies ist eine Beschreibung der beteiligten Lizenzen und keine Rechtsberatung. Wenn die Antwort kommerziell relevant ist, lies die Lizenzen selbst und hole eigenen Rechtsrat ein.
- Originalarbeit
- SAM 3D Body, Meta Platforms, Inc.
- Upstream-Lizenz
- SAM License (not OSI-approved)
- Upstream-Quelle
- github.com/facebookresearch/sam-3d-body
- LibreYOLO-Code
- MIT
- Gewichte
- SAM License (not OSI-approved), erneut unter huggingface.co/LibreYOLO veröffentlicht
- Einordnung
- 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.
Das von den Checkpoints gesteuerte Körpermodell MHR (Momentum Human Rig) ist ein separates Meta-Release unter Apache-2.0. LibreYOLO ruft das TorchScript-Artefakt zur Laufzeit aus dem eigenen öffentlichen Release von MHR ab und speichert es lokal zwischen. Diese Datei wird nicht von LibreYOLO gespiegelt und unterliegt ihren eigenen Apache-2.0-Bedingungen, nicht der SAM License.
Zitieren
@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}
}Aus dem Zitierblock der Autoren unter github.com/facebookresearch/sam-3d-body#citing-sam-3d-body kopiert.