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以降。推論、検証、エクスポートのみです。学習機能は対象外です。
- ライセンス
- コード:MIT、重み:MIT。商用利用
インストール
MoGe-2に任意の追加パッケージは必要ありません。インポートするものはすべて基本インストールに含まれます。
pip install libreyolo推論
重みは初回使用時に自動的にダウンロードされます。LibreYOLOは一致するサイズを公式チェックポイントから 直接取得し、ローカルにキャッシュします。
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単位ベクトルlibreyolo predict model=LibreMoGe2s-normal.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=TrueMoGe-2は検出結果の集合ではなく密な場を返すため、result.boxesは空で、conf、iou、
max_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度以内のピクセルの割合を
返します。
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"]) # ピクセルの割合libreyolo val model=LibreMoGe2s-normal.pt data=my-dataset.yaml imgsz=518エクスポート
| タスク | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| normal | normal 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を返します。
from libreyolo import LibreYOLO model = LibreYOLO("LibreMoGe2s-normal.pt")model.export(format="onnx", imgsz=518)model.export(format="tensorrt", imgsz=518, half=True)libreyolo export model=LibreMoGe2s-normal.pt format=onnx imgsz=518libreyolo export model=LibreMoGe2s-normal.pt format=tensorrt imgsz=518 half=Truefrom 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の引用ブロックからコピーしています。