MoGe-2

MoGe-2は1枚のRGB画像から密なサーフェス法線場を1回の順伝播で予測する単眼geometryモデルです。LibreYOLOは公式ViT-S、ViT-B、ViT-Lチェックポイントを通じて法線推定だけに対応します。

タスク
normal
サイズ
s, b, l at 518 px
インストール
pip install libreyolo
サポートティア
推論のみ、v以降。推論、検証、エクスポートのみです。学習機能は対象外です。
アップストリーム
MicrosoftのMoGe-2、MIT。論文ソース
ライセンス
コード:MIT、重み:MIT。商用利用

インストール

MoGe-2に任意の追加パッケージは必要ありません。インポートするものはすべて基本インストールに含まれます。

bash
pip install libreyolo

推論

重みは初回使用時に自動的にダウンロードされます。LibreYOLOは一致するサイズを公式チェックポイントから 直接取得し、ローカルにキャッシュします。

Python
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreMoGe2s-normal.pt")result = model(SAMPLE_IMAGE, save=True) normal = result.normal_mapprint(normal.array.shape)   # (H, W, 3) float32単位ベクトル
CLI
libreyolo predict model=LibreMoGe2s-normal.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=True

MoGe-2は検出結果の集合ではなく密な場を返すため、result.boxesは空で、confioumax_detに効果はありません。結果はresult.normal_mapに入ります。OpenCVカメラ座標系における 単位ベクトルの(H, W, 3)配列で、+xは右、+yは下、+zはシーンの奥を指し、カメラへ 向いた面は(0, 0, -1)になります。画像リストの推論は画像ごとに1回の順伝播を実行します。 このファミリーにstacked-batchの高速経路はありません。入力ソース、ストリーミング、結果の処理に ついては推論を参照してください。

バリアント

エンコーダーのサイズはViT-S、ViT-B、ViT-Lの3種類で、別々のチェックポイントとして提供され、 すべて同じ入力解像度を使います。LibreYOLOのベンチマークharnessはこのファミリーを測定していないため、 比較できる公開精度値はありません。使用できる計算資源に合わせてサイズを選んでください。

検証

val()は、対応するnormal mapデータセットに対して角度誤差を測定します。同じstemを持つ16ビットの 法線PNGを画像と並べ、任意の有効性マスクによりpaddingされたピクセルと無効なピクセルを除外できます。 平均角度誤差と中央値角度誤差を度単位で返し、さらに11.25度、22.5度、30度以内のピクセルの割合を 返します。

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreMoGe2s-normal.pt")metrics = model.val(data="my-dataset.yaml", imgsz=518) print(metrics["metrics/mean_angular_error"])   # 度print(metrics["metrics/median_angular_error"])print(metrics["metrics/within_11_25"])          # ピクセルの割合
CLI
libreyolo val model=LibreMoGe2s-normal.pt data=my-dataset.yaml imgsz=518

エクスポート

タスクONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
normalnormal to ONNX:対応normal to TorchScript:対応normal to ExecuTorch:対応normal to TensorRT:対応normal to OpenVINO:対応normal to Paddle:非対応normal to MNN:非対応normal to RKNN:非対応normal to ncnn:対応normal to TFLite:非対応normal to CoreML:非対応normal to Core AI:非対応

法線のエクスポートは固定解像度、バッチ1のランタイム契約を使います。dynamicと1以外のbatchは 拒否され、imgszはViTエンコーダーのpatch sizeで割り切れる必要があります。LibreYOLOは実行開始前に 確認します。エクスポートした成果物はファイル接尾辞に基づいてLibreYOLO()から再読み込みされます。 そのため、.onnxファイルはチェックポイントと同様に動作し、同じResultsを返します。

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreMoGe2s-normal.pt")model.export(format="onnx", imgsz=518)model.export(format="tensorrt", imgsz=518, half=True)
CLI
libreyolo export model=LibreMoGe2s-normal.pt format=onnx imgsz=518libreyolo export model=LibreMoGe2s-normal.pt format=tensorrt imgsz=518 half=True
エクスポートしたファイルを使う
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreMoGe2s-normal.onnx")result = model(SAMPLE_IMAGE) print(result.normal_map.array.shape)

ライセンス

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

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

原著作物
MoGe-2, Microsoft
アップストリームのライセンス
MIT
アップストリームのソース
github.com/microsoft/MoGe
LibreYOLOのコード
MIT
重み
MIT、著者が配布。LibreYOLOではホストもミラーもしていません。
解釈
MIT is a permissive license: the code and the official ViT-S, ViT-B and ViT-L checkpoints can be used in commercial and closed-source products. It asks that you keep the license text and copyright notice with any copy you redistribute, and it places no obligation on your own application code. LibreYOLO downloads these checkpoints directly from the official Hugging Face repositories at a pinned revision rather than copying them into its own organization, and verifies each file against a recorded SHA-256 checksum before use. The DINOv2 encoder MoGe-2 builds on is separately licensed Apache-2.0 by Meta AI; LibreYOLO reuses the DINOv2 implementation already bundled for its Depth Anything V2 family rather than copying it again here.

LibreYOLOはこれらのチェックポイントを自身の組織へコピーしません。 LibreYOLO("LibreMoGe2s-normal.pt")は固定されたrevisionの公式Hugging Faceリポジトリから 一致するサイズを直接ダウンロードし、使用前に記録済みのSHA-256 checksumと照合します。

引用

@inproceedings{wang2025moge,
  title={Moge: Unlocking accurate monocular geometry estimation for open-domain images with optimal training supervision},
  author={Wang, Ruicheng and Xu, Sicheng and Dai, Cassie and Xiang, Jianfeng and Deng, Yu and Tong, Xin and Yang, Jiaolong},
  booktitle={Proceedings of the Computer Vision and Pattern Recognition Conference},
  pages={5261--5271},
  year={2025}
}

@misc{wang2025moge2,
      title={MoGe-2: Accurate Monocular Geometry with Metric Scale and Sharp Details}, 
      author={Ruicheng Wang and Sicheng Xu and Yue Dong and Yu Deng and Jianfeng Xiang and Zelong Lv and Guangzhong Sun and Xin Tong and Jiaolong Yang},
      year={2025},
      eprint={2507.02546},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2507.02546}, 
}

著者によるgithub.com/microsoft/MoGe#-citationの引用ブロックからコピーしています。

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