Appearance
MoGe (Microsoft) -- 3D形状推定とGradioインターフェース
概要
このセクションでは、MoGe がどのようなモデルで、他の深度推定モデルと何が違うのかを学びます。
MoGe は Microsoft Research が開発した単眼画像からの3Dジオメトリ推定モデルです。正式名称は「MoGe: Unlocking Accurate Monocular Geometry Estimation for Open-Domain Images with Optimal Training Supervision」(Wang et al., 2024)です。
MoGe が他モデルと決定的に異なる点
Depth Anything V2 や Apple Depth Pro などの一般的な深度推定モデルは、入力画像に対して深度マップ(グレースケール画像) を出力します。深度マップを3Dモデルとして活用するには、別途3D再構築のパイプラインを構築する必要があります。
一方、MoGe は1枚の画像から深度マップだけでなく、3Dポイントクラウドやメッシュ(GLB形式)を直接出力できます。つまり、推論結果をそのまま Blender などの3Dソフトウェアに読み込んで編集できます。深度マップ → 3D変換の中間工程が不要なため、ワークフローが大幅に簡略化されます。
内部的には ViT-Large(Vision Transformer)をバックボーンとして使用しており、Hugging Face 上で事前学習済みモデル(Ruicheng/moge-vitl)が公開されています。また、Gradio ベースの Web インターフェース(app.py)が同梱されているため、コマンドラインの知識がなくてもブラウザ上で画像をアップロードし、3D結果をインタラクティブに確認できます。
| 特徴 | MoGe | Depth Anything V2 | Apple Depth Pro |
|---|---|---|---|
| 出力形式 | 深度マップ + 3Dメッシュ(GLB) | 深度マップ(グレースケール画像) | 深度マップ(グレースケール画像) |
| 3Dモデル直接出力 | 可能 | 不可(別途変換が必要) | 不可(別途変換が必要) |
| 深度推定タイプ | 幾何学的3D推定 | 相対深度推定 | メトリック深度推定 |
| Web UI | Gradio(同梱) | なし | Figure1アプリ |
- GitHub: https://github.com/microsoft/moge
- Hugging Face モデル: Ruicheng/moge-vitl
前提条件
このセクションでは、導入に必要な環境を確認します。
| 項目 | 要件 |
|---|---|
| Python | 3.12 推奨(3.13は非対応の場合あり) |
| GPU | CUDA対応のNVIDIA GPU |
| CUDA Toolkit | インストール済みであること |
| Git | インストール済みであること |
| OS | Windows 10/11(本記事はWindows環境での手順) |
Python・Git・CUDA の基本的なインストール方法は 環境構築の入門ページ を参照してください。
導入手順
このセクションでは、MoGe のクローンから Gradio UI の起動までをステップバイステップで学びます。松崎が試行錯誤の末にたどり着いた、動作確認済みの手順です。
推奨: 仮想環境で実行する
以下の手順ではグローバル環境に直接パッケージをインストールしていますが、他の Python プロジェクトとの依存関係の競合を防ぐため、仮想環境を使用することを強く推奨します。
bash
# venvを使う場合
python -m venv moge-env
moge-env\Scripts\activate
# 以降の手順はこの仮想環境内で実行するcondaを使う場合
bash
conda create -n moge python=3.12
conda activate moge1. MoGeのクローンとセットアップ
コマンドプロンプトで以下を実行します。
bash
git clone https://github.com/microsoft/MoGe.git
cd MoGe依存パッケージをインストールします。
bash
pip install -r requirements.txt2. PyTorch(CUDA対応版)のインストール
ここが最大のポイントです。 通常のpip install torchではCPU版がインストールされてしまい、GPU推論ができません。CUDA対応版を明示的に指定する必要があります。
bash
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
インストール後、以下のコマンドでCUDAが有効になっているか確認できます。
bash
python -c "import torch; print(torch.cuda.is_available())"Trueが返れば成功です。
3. Gradioのインストール
MoGeのwebインターフェースにはGradioが必要です。
bash
pip install gradio4. 実行
bash
python app.py実行すると以下のようなメッセージが表示されます。
* Running on local URL: http://127.0.0.1:7860ブラウザで http://127.0.0.1:7860 を開くとGradioインターフェースが表示されます。

トラブルシューティング
このセクションでは、Windows 環境での MoGe 導入時に発生しやすいエラーとその原因・解決策を学びます。松崎が導入時に遭遇したエラーと解決策をまとめたものです。
ModuleNotFoundError: No module named 'torch._C'
なぜこのエラーが出るか: PyTorch は C/C++ で書かれたバックエンド(torch._C)に依存しており、Python パッケージだけでは動作しません。パスが長すぎてインストール時にファイルの展開が途中で失敗した場合や、インストールが不完全な場合にこのエラーが発生します。特に Windows ではパス長制限(260文字)が原因になりやすいです。
解決策: torchをアンインストールしてから再インストールします。
bash
pip uninstall torch torchvision torchaudio
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118ModuleNotFoundError: No module named 'cv2'
なぜこのエラーが出るか: OpenCV(cv2)は Python に標準では含まれていないサードパーティライブラリです。requirements.txt に含まれていない場合や、インストールが漏れている場合にこのエラーが出ます。
解決策:
bash
pip install opencv-python-headless
AssertionError: Torch not compiled with CUDA enabled
なぜこのエラーが出るか: PyTorch には CPU 版と CUDA 版の2種類があります。pip install torch を普通に実行すると CPU 版がインストールされます。CPU 版の PyTorch は CUDA(GPU)機能を持っていないため、torch.cuda.is_available() が False を返し、GPU 推論を実行しようとするとこのエラーになります。CUDA Toolkit がインストール済みであっても、PyTorch 側が CUDA 対応版でなければ意味がありません。



cudaは入っていて、CUDA Toolkitも入っているけれど、CUDA対応のtorchが入っていない状態でした。
解決策: torchをアンインストールして、CUDA対応版を明示的に再インストールします。
bash
pip uninstall torch torchvision torchaudio
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118松崎所感: 初めにtorchをインストールした時もCUDA対応のものを入れていた気がするけれど、その時はまだCUDAを入れていなかったので、それでおかしいことになっていたのかもしれない。
パスが長すぎるエラー(OSError: [Errno 2])
なぜこのエラーが出るか: Windows にはファイルパスの長さが260文字までという制限(MAX_PATH 制限)があります。PyTorch パッケージには非常に長いファイル名を持つヘッダファイルが含まれており、pip がこれらを展開する際に260文字を超えてしまいます。この制限はレガシーな Windows API に由来するもので、現在の Windows では設定変更で解除できます。
ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory:
'C:\\Users\\...\\torch\\include\\ATen\\ops\\_test_autograd_multiple_dispatch_view_copy_compositeexplicitautogradnonfunctional_dispatch.h'解決策: Windowsのレジストリでロングパスを有効にします。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
LongPathsEnabled = 1または、Pythonを短いパス(例: C:\Python312)にインストールし直します。
moge_infer.pyを実行しても出力されない
なぜこの問題が起きるか: moge_infer.py は推論結果を print するだけのテストスクリプトであり、ファイル出力機能がありません。MoGe で画像出力や GLB ダウンロードを行うには、Gradio ベースの app.py を使う必要があります。
解決策: app.pyを使います。app.pyはGradioベースのwebインターフェースを起動し、画像のアップロードから3D出力(GLBファイル)のダウンロードまで一貫して行えます。
bash
python app.py
出力とBlenderへの読み込み
このセクションでは、Gradio UI での操作方法と、出力した GLB ファイルを Blender で読み込む手順を学びます。
Gradio UIでの操作
python app.py実行後、ブラウザで http://127.0.0.1:7860 にアクセスすると、以下のような画面が表示されます。

- 左側のエリアに画像をドラッグ&ドロップまたはアップロード
- 推論が実行され、3Dプレビューが表示されます
- GLBファイルをダウンロードできます
Blenderへの読み込み
ダウンロードしたGLBファイルは、Blenderで File > Import > glTF 2.0 (.glb/.gltf) から読み込めます。

風景画像でも同様にうまく3D化できます。

まとめ: MoGe の強みと制限
MoGe の評価をまとめると以下のようになります。
強み:
- 深度マップだけでなく GLB 形式の3Dメッシュを直接出力でき、Blender へのインポートがシームレスです
- Gradio UI により、コマンドラインの知識がなくても直感的に操作できます
- 屋外画像での遠近感の表現が得意です
制限:
- 白黒の深度マップ画像を単体で出力する機能がありません(他モデルと異なる点)
- 近景と遠景の中間部分の細かい立体感の表現がやや苦手です
- GPU(CUDA対応)が必須のため、CPU 環境では実行できません
他モデルとの使い分け:
- 3D メッシュが必要な場合 → MoGe を選択
- LKG 表示用の深度マップが必要な場合 → Depth Anything V2 または Apple Depth Pro を選択
参考リンク
- MoGe GitHub リポジトリ
- Hugging Face モデル: Ruicheng/moge-vitl
- PyTorchのインストール手順について解説
- CUDA Toolkit の導入手順と解説
- OpenCV(cv2)のインストール方法
Author: 松崎 | Source:
松崎/MicroSoftの深度推定 Moge e2d9200dcbd74268b152cabc3dd34669.mdAI Enhanced: Claude -- 2026-03-05