Markdownで表示

SAM 3D Body

SAM 3D Bodyは、1枚の画像と人物ボックスから手足を含む全身の3Dメッシュを復元するMetaのプロンプト可能なモデルです。LibreYOLOは移植せず、アップストリームパッケージをラップします。

タスク
mesh
サイズ
d3, h at 512 px
インストール
pip install libreyolo
サポートティア
推論のみ、v以降。推論、検証、エクスポートのみです。学習機能は対象外です。
アップストリーム
Meta Platforms, Inc.のSAM 3D Body、SAM License (not OSI-approved)。論文ソース
ライセンス
コード:MIT、重み:SAM License (not OSI-approved)。商用利用

インストール

bash
pip install libreyolo

これでインストールされるのはLibreYOLOのアダプターだけです。SAM 3D Body自体は同梱されません。 そのライセンスはLibreYOLO独自のコードが派生可能なものではないためです。アップストリーム リポジトリをcloneして依存関係を自分でインストールし、そのcloneを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 Licenseが適用されることも ありません。このファミリーはLibreYOLO()ファクトリにもlibreyolo predict CLIコマンドにも 接続されていません。唯一のエントリポイントは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検出器# 通常のcallable、またはPersonDetectorインスタンスを渡すdetector = LibreYOLO("LibreRFDETRn.pt")model = LibreSAM3DBody(None, size="d3", device="cuda") result = model(SAMPLE_IMAGE, person_detector=detector)

チェックポイントのダウンロードにはアクセス制限があります。初回ダウンロードを成功させるには、 Hugging FaceのモデルページでMetaのライセンスに同意し、hf auth loginで認証する必要があります。 推論自体にも無条件でCUDAデバイスが必要です。アップストリームの推定器は確認せずにバッチをGPUへ 移動するため、CPU専用マシンではフォールバックせず例外が発生します。result.meshesresult.boxesと行が揃ったMeshespayloadです(検出された人物ごとに1行)。verticesjoints3dはメートル単位で、推定されたカメラ平行移動をすでに含みます。joints2dは元画像上の ピクセル単位で、回転はaxis-angleではなくEuler角を使うMHRの規則に従います。入力ソース、 ストリーミング、結果の処理については推論を参照してください。

バリアント

同じMHR body modelのバックボーンは2種類です。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:非対応

body meshのエクスポートは未実装です。MHRパラメータのレイアウトをPyTorch外で表現する方法を含め、 LibreYOLOはメッシュタスクのエクスポート済みグラフ契約をまだ定義していません。

チェックポイント

このファミリーで公開されているすべての重みファイルです。

ファイル入力(px)重みのライセンス
mesh
LibreSAM3DBodyd3-mesh.pt512other
LibreSAM3DBodyh-mesh.pt512other

上記のすべてのファイルは現在LibreYOLO orgにあり、初回使用時にダウンロードされます。

ライセンス

ダウンロードする特定の重みについて、Hugging Faceリポジトリのライセンスを確認してください。LibreYOLO orgの各チェックポイントにはライセンスが付与されており、同じファミリー内でも常に同一とは限りません。そのリポジトリが正式な情報源です。以下の概要は、このページを最後に検証した時点で適用されていた内容を示します。

これは関連するライセンスの説明であり、法的助言ではありません。商用上重要な場合は、自分でライセンスを読み、専門家の助言を受けてください。

原著作物
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.

チェックポイントが駆動するbody modelのMHR(Momentum Human Rig)は、Apache-2.0に基づく Metaの別リリースです。LibreYOLOは実行時にMHR自身の公開リリースからTorchScript成果物を取得し、 ローカルにキャッシュします。そのファイルはLibreYOLOにミラーされず、SAM Licenseではなく 独自のApache-2.0条件が適用されます。

引用

@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で検証済みです。このページのサポート表、チェックポイント、ベンチマーク値は手作業で記述したものではなく、リリース済みライブラリと公開済みの重みから生成されています。