Skip to content

ローカル深度推定 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 V2Apple 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 EstimationGradio起動まで確認GLB出力をBlenderで確認公式LICENSEとモデル配布条件を採用前に要確認
Distill Any Depth静止画WSL + condaで確認顔の出力が自然な例あり公式LICENSEとモデル配布条件を採用前に要確認
Unity Sentis + Depth AnythingUnity内推論調査済みUnityアプリ統合向けUnity Sentisの利用条件、ONNX化したモデルの元ライセンスを確認

モデル選定の実務目安

目的第一候補理由 / 記録ライセンス注意
Windowsで静止画から強い立体感を出すDepth Anything V2立体感が付きやすい。LKGの魅力を強く見せたい場合に向く使用モデルのライセンスを採用前に確認
リアル寄り・丁寧な奥行きApple Depth Pro写実寄りの奥行きに見える例がある公式LICENSEを採用前に確認
動画で深度の揺れを抑えたいVideo Depth Anything時間的一貫性を狙う動画向けモデル商用利用前提ではSmallを優先
商用展開を見据えたVDA検証VDA-SmallApache 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

Video Depth Anything

Apple Depth Pro

MoGe / Distill Any Depth

Unity / Sentis

CUDA / PyTorch


出典

  • Depth Anything V2
  • Video Depth Anything
  • Unity Sentis×Depth Anything
  • VDAモデル変換
  • 調査指示書
  • Apple Depth Pro
  • Microsoftの深度推定 MoGe
  • Distill Any Depth

詳細ページ