Appearance
ローカル深度推定 Windows — Depth Anything V2 / Video Depth Anything / Apple Depth Pro / MoGe 検証ガイド
概要
本記事は、Windows ローカル環境で深度推定モデルを動かし、Looking Glass(LKG)向けの立体表示に利用するための検証ガイドです。対象は、Depth Anything V2、Video Depth Anything、Apple Depth Pro、Microsoft MoGe、Distill Any Depth、および Unity Sentis / ONNX / CoreML 連携です。
現時点の検証では、静止画向けには Depth Anything V2 と Apple Depth Pro、動画向けには Video Depth Anything(VDA) が主な検討対象です。Windows + Python で公式実装を動かし、深度マップを生成してから Unity または Looking Glass Studio で LKG 表示する流れが、最短の検証経路として整理されています。
はじめに — 初学者向け 前提知識
深度推定とは、1枚の画像や動画フレームから「どこが手前で、どこが奥か」を推定する技術です。特に、通常のRGB画像1枚だけから奥行きを推定する方式を 単眼深度推定 と呼びます。専用の深度カメラを使わずに奥行き情報を作れるため、既存の写真・動画を立体表示へ変換する用途で利用できます。
Looking Glass(LKG) は、裸眼で立体視できるライトフィールドディスプレイです。LKGで自然な立体感を出すには、元画像のRGB情報だけでなく、奥行きを表す Depth Map(深度マップ) や、複数視点をまとめた Quilt画像 が必要になります。本記事で扱う深度推定モデルは、RGB画像・動画からこのDepth情報を作るためのものです。
Depth Map(深度マップ) は、画像の各ピクセルに奥行き値を持たせた画像または配列です。一般的な確認用出力では、白黒画像として保存されます。ただし、モデルや正規化方法によって「白が手前」「黒が手前」のように意味が反転する場合があり、LKG表示時には反転処理やDepthスケール調整が必要になることがあります。
RGBD は、通常のRGB画像にDepth情報を加えた形式です。Looking Glass Studioではサイドバイサイド画像をRGBDとして読み込んで表示する運用が確認されています。Unity側では、Depthからメッシュを再構築する方式や、RGBDからQuiltを生成する方式が検討されています。
ONNX は、AIモデルを複数の実行環境で使いやすくするための共通形式です。PyTorchの .pth モデルはPythonではそのまま扱えますが、Unityでは直接使えないため、ONNXに変換してONNX RuntimeやUnity Sentisで利用する方針が取られています。
Unity Sentis は、Unity Runtime上でAIモデルを実行するためのUnity製品です。Unity上でDepth Anything系モデルを利用する場合、ONNXモデルとUnity Sentisを組み合わせる構成が候補になります。一方、iPadでApple Neural Engine(ANE)の利用を前提にする場合は、Sentis単体ではなくCoreML経由の検証が必要です。
CUDA は、NVIDIA GPUでAI推論を高速化するための実行基盤です。WindowsローカルでDepth Anything V2、MoGe、Video Depth Anythingなどを実用的に動かす場合、CUDA対応PyTorchの導入が重要になります。CPUでも動く場合はありますが、処理時間や対応可否の観点からGPU前提で検証されています。
セキュリティとライセンスの注意
PyTorchの .pth / .pt モデルは、内部的にpickle形式を利用する場合があり、信頼できない配布元のモデルを読み込むと任意コード実行につながる可能性があります。
モデルファイルを取得する際は、次を前提にします。
- 公式リポジトリ、公式モデルカード、公式Hugging Face配布元など、信頼できる配布元から取得する
- 可能であればハッシュ値やリリース情報を確認する
- 出所不明の
.pth/.pt/.bin/.safetensors/.onnx/.mlpackageを検証環境へ持ち込まない - 商用利用を検討する場合は、コードのライセンスとモデル重みのライセンスを分けて確認する
- VDAのようにモデルサイズごとにライセンスが異なる場合は、利用する重み単位で確認する
参考: PyTorch SECURITY.md#untrusted-models
全体ワークフロー
Windowsローカルでの検証は、大きく分けて「Pythonで深度推定」「Depth出力を保存」「UnityまたはLooking Glass Studioで表示」の流れです。
検証アプリ構成
| 項目 | 内容 |
|---|---|
| アプリ | Unity製の検証アプリ |
| AI推論 | Depth Anything V2(ONNX) + Unity Sentis |
| 3D表示 | Looking Glass SDK + PostProcessing |
| 入力 | 静止画、動画、デスクトップキャプチャ |
| 出力 | 3Dメッシュ生成、LKG表示 |
| 課題 | Depth Anything V2では動画フレーム間の深度が一貫せず、フレームごとに奥行きが揺れる |
モデル別の位置づけ
| モデル / ツール | 主な対象 | Windowsローカル実行 | LKG向け所感・用途 | ライセンス / 商用利用の注意 |
|---|---|---|---|---|
| Depth Anything V2 | 静止画 | 確認済み | 立体感が付きやすい | 公式LICENSEと使用する重みのモデルカードを採用前に確認。商用利用前に要確認 |
| Video Depth Anything(VDA)Small | 動画 | WSL上で確認 | 動画向け。時間的安定性を狙う | Apache 2.0。商用利用候補 |
| Video Depth Anything(VDA)Base / Large | 動画 | WSL上で確認 | 高精度比較・研究用途 | CC BY-NC 4.0。商用利用不可として扱う |
| Apple Depth Pro | 静止画 | 確認済み | 丁寧な奥行き。写実寄りの用途に向く | 公式LICENSEを採用前に要確認 |
| Microsoft MoGe | 静止画 / Geometry Estimation | Gradio起動まで確認 | GLB出力をBlenderで確認 | 公式LICENSEとモデル配布条件を採用前に要確認 |
| Distill Any Depth | 静止画 | WSL + condaで確認 | 顔の出力が自然な例あり | 公式LICENSEとモデル配布条件を採用前に要確認 |
| Unity Sentis + Depth Anything | Unity内推論 | 調査済み | Unityアプリ統合向け | Unity Sentisの利用条件、ONNX化したモデルの元ライセンスを確認 |
モデル選定の実務目安
| 目的 | 第一候補 | 理由 / 記録 | ライセンス注意 |
|---|---|---|---|
| Windowsで静止画から強い立体感を出す | Depth Anything V2 | 立体感が付きやすい。LKGの魅力を強く見せたい場合に向く | 使用モデルのライセンスを採用前に確認 |
| リアル寄り・丁寧な奥行き | Apple Depth Pro | 写実寄りの奥行きに見える例がある | 公式LICENSEを採用前に確認 |
| 動画で深度の揺れを抑えたい | Video Depth Anything | 時間的一貫性を狙う動画向けモデル | 商用利用前提ではSmallを優先 |
| 商用展開を見据えたVDA検証 | VDA-Small | Apache 2.0で商用利用候補 | Base / Largeは非商用 |
| Unityアプリへ統合 | ONNX + Unity Sentis / ONNX Runtime | .pth はUnityで直接使えないため | 元モデルのライセンスを継承して確認 |
| iPad展開 | ONNX → CoreML変換候補 | ANE利用を前提とする場合はCoreML経由の検証が必要 | 変換可否・実行可否は未検証 |
| Geometry出力やGLB確認 | MoGe | --glb 出力をBlenderで確認済み | 公式LICENSEとモデル配布条件を確認 |
| Distill Any Depth | 優先度低 | 今回のLKG向け検証では相対的に品質が低い | 公式LICENSEとモデル配布条件を確認 |
関連リンク集
Depth Anything V2
- Depth Anything V2
- GitHub - DepthAnything/Depth-Anything-V2
- 単眼深度推定のアルゴリズム Depth Anythingを試す
- 深度推定モデル Depth Anything V2を試してみる - Qiita
- Depth Anything V1とV2の結果を見比べる
Video Depth Anything
Apple Depth Pro
MoGe / Distill Any Depth
- GitHub - microsoft/MoGe
- GitHub - Westlake-AGI-Lab/Distill-Any-Depth
- Anaconda ダウンロード
- Linux版Anacondaのインストール - python.jp
Unity / Sentis
CUDA / PyTorch
出典
- Depth Anything V2
- Video Depth Anything
- Unity Sentis×Depth Anything
- VDAモデル変換
- 調査指示書
- Apple Depth Pro
- Microsoftの深度推定 MoGe
- Distill Any Depth