SAM 3D Body

SAM 3D Body, це модель Meta з підказками для відновлення тривимірної сітки всього тіла, зокрема рук і стоп, з одного зображення та рамок людей. LibreYOLO обгортає пакет upstream, а не переносить його код.

Задачі
mesh
Розміри
d3, h at 512 px
Встановлення
pip install libreyolo
Рівень підтримки
Лише інференс, починаючи з v. Лише передбачення, валідація та експорт. Функції навчання не застосовуються.
Першоджерело
SAM 3D Body, автори: Meta Platforms, Inc., ліцензія SAM License (not OSI-approved). Стаття, джерело
Ліцензії
Код: MIT, ваги: SAM License (not OSI-approved). Комерційне використання

Встановлення

bash
pip install libreyolo

Так ви отримаєте лише адаптер LibreYOLO. Сам SAM 3D Body не входить до пакета, оскільки його ліцензія не дозволяє створювати на його основі власний код LibreYOLO: клонуйте репозиторій upstream і самостійно встановіть його залежності, а потім укажіть 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",
)

Або задайте змінну середовища SAM_3D_BODY_PATH, щоб не передавати sam_3d_body_path під час кожного виклику. Користувач, який не створює це сімейство, не запускає імпорт і не стикається з ліцензією SAM. Це сімейство не підключене до фабрики LibreYOLO() чи команди CLI libreyolo predict; єдина точка входу, це LibreSAM3DBody.

Передбачення

Python
from libreyolo import SAMPLE_IMAGEfrom libreyolo.models.sam3dbody import LibreSAM3DBody # Це сімейство не зареєстроване у фабриці LibreYOLO(), тому# його створюють безпосередньо. Саме model_path=None запускає# завантаження із закритим доступом із Hugging Face; натомість рядок# вважається шляхом до наявної локальної контрольної точки й ніколи не завантажується автоматично.# Для інференсу потрібен пристрій CUDA; режиму 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), система координат камери, метриprint(meshes.joints3d.shape)    # (N, J, 3)
З детектором людей
from libreyolo import LibreYOLO, SAMPLE_IMAGEfrom libreyolo.models.sam3dbody import LibreSAM3DBody # Тут немає скорочення у вигляді іменованого рядка: передайте створений детектор# LibreYOLO, звичайну викличну сутність або екземпляр PersonDetector.detector = LibreYOLO("LibreRFDETRn.pt")model = LibreSAM3DBody(None, size="d3", device="cuda") result = model(SAMPLE_IMAGE, person_detector=detector)

Завантаження контрольної точки має обмежений доступ: до першого успішного завантаження потрібно прийняти ліцензію Meta на сторінці моделі Hugging Face та автентифікуватися за допомогою hf auth login. Для самого інференсу безумовно потрібен пристрій CUDA: оцінювач upstream переносить пакет даних на GPU без перевірки, тому на машині лише з CPU виникає помилка, а резервного режиму немає. result.meshes, це корисне навантаження Meshes, рядки якого узгоджені з result.boxes (по одному рядку на виявлену людину): vertices і joints3d подано в метричних одиницях, і вони вже містять оцінене перенесення камери; joints2d подано в пікселях вихідного зображення, а обертання відповідають угоді MHR, тобто це кути Ейлера, а не вісь-кут. Джерела, потокову обробку й роботу з результатами описано в розділі передбачення.

Варіанти

Два бекбони для тієї самої моделі тіла MHR: d3 використовує енкодер DINOv3 ViT-H/16+, а h використовує оригінальний енкодер ViT-H.

Експорт

ЗадачаONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
meshmesh to ONNX: не підтримуєтьсяmesh to TorchScript: не підтримуєтьсяmesh to ExecuTorch: не підтримуєтьсяmesh to TensorRT: не підтримуєтьсяmesh to OpenVINO: не підтримуєтьсяmesh to Paddle: не підтримуєтьсяmesh to MNN: не підтримуєтьсяmesh to RKNN: не підтримуєтьсяmesh to ncnn: не підтримуєтьсяmesh to TFLite: не підтримуєтьсяmesh to CoreML: не підтримуєтьсяmesh to Core AI: не підтримується

Експорт сітки тіла не реалізовано: LibreYOLO ще не визначила контракт експортованого графа для задачі сітки, зокрема спосіб подання структури параметрів MHR поза PyTorch.

Контрольні точки

Усі опубліковані файли ваг для цього сімейства.

ФайлВхід (пікс.)Ліцензія ваг
mesh
LibreSAM3DBodyd3-mesh.pt512other
LibreSAM3DBodyh-mesh.pt512other

Кожен наведений вище файл уже доступний у організації LibreYOLO і завантажується під час першого використання.

Ліцензування

Перевіряйте ліцензію в репозиторії Hugging Face конкретних ваг, які завантажуєте. Кожна контрольна точка в організації LibreYOLO має ліцензію, і вона не завжди однакова для всього сімейства. Цей репозиторій є авторитетним джерелом, а наведене нижче резюме описує умови на момент останньої перевірки сторінки.

Це опис відповідних ліцензій, а не юридична консультація. Якщо відповідь має комерційне значення, самостійно прочитайте ліцензії та зверніться по юридичну консультацію.

Оригінальна робота
SAM 3D Body, Meta Platforms, Inc.
Ліцензія першоджерела
SAM License (not OSI-approved)
Джерело першоджерела
github.com/facebookresearch/sam-3d-body
Код LibreYOLO
MIT
Ваги
SAM License (not OSI-approved), повторно опубліковано на huggingface.co/LibreYOLO
Тлумачення
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.

Модель тіла, яку використовують контрольні точки, MHR (Momentum Human Rig), є окремим випуском Meta за ліцензією Apache-2.0. Під час виконання LibreYOLO отримує її ресурс TorchScript із власного загальнодоступного випуску MHR та кешує локально; LibreYOLO не створює дзеркало цього файла, і на нього поширюються власні умови Apache-2.0, а не ліцензія SAM.

Цитування

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

Скопійовано з блоку цитування авторів на сторінці github.com/facebookresearch/sam-3d-body#citing-sam-3d-body.

Перевірено з LibreYOLO v1.5.0. Таблиці підтримки, контрольні точки й результати бенчмарків на цій сторінці згенеровано з випущеної бібліотеки та опублікованих ваг, а не написано вручну.