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

bash
pip install libreyolo

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

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

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

Python
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)
Mit einem Personendetektor
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

AufgabeONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
meshmesh to ONNX: nicht unterstütztmesh to TorchScript: nicht unterstütztmesh to ExecuTorch: nicht unterstütztmesh to TensorRT: nicht unterstütztmesh to OpenVINO: nicht unterstütztmesh to Paddle: nicht unterstütztmesh to MNN: nicht unterstütztmesh to RKNN: nicht unterstütztmesh to ncnn: nicht unterstütztmesh to TFLite: nicht unterstütztmesh to CoreML: nicht unterstütztmesh 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.

DateiEingabe (px)Lizenz der Gewichte
mesh
LibreSAM3DBodyd3-mesh.pt512other
LibreSAM3DBodyh-mesh.pt512other

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

Mit LibreYOLO v1.5.0 verifiziert. Supporttabellen, Checkpoints und Benchmarkwerte auf dieser Seite werden aus der veröffentlichten Bibliothek und den publizierten Gewichten generiert und nicht von Hand geschrieben.