search
  1. ComfyUIの深度と法線の推定|Depth Anything 3・Marigold・MoGe・Lotus

ComfyUI

ComfyUIの深度と法線の推定|Depth Anything 3・Marigold・MoGe・Lotus

編集部 読了 約18分

この記事では、ComfyUI に初めから入っているノードで、1枚の画像から奥行き(深度)と面の向き(法線)を推定し、画像や3Dの形にします。

Depth Anything 3・MoGe・Lotus の3つは同じ居間の画像で動かして比べ、Marigold V2 はテンプレートの中身を見ます。

画面:ComfyUI v0.37.0 ポータブル版(Windows・2026年9月)

ComfyUIの深度推定・法線推定とは|Depth Anything 3・MoGe・Lotus・Marigold

推定は、1枚の画像から、写っている空間の形や素材の情報を読み取ることです。
この記事のモデルは、次の3つを出します。

出すもの中身
深度カメラからの距離。近い所を白く、遠い所を黒くした画像になる
法線面がどちらを向いているか。向きを、赤・緑・青の混ぜ方で色にした画像になる
アルベド光と影を取り除いた、物そのものの色
モデル出すもの作った所この記事での扱い
Depth Anything 3深度(メッシュにもできる)ByteDance Seed入れて実行した
MoGe深度・法線・3Dの点の集まり(メッシュにもできる)Microsoft Research入れて実行した
Lotus深度記載なし入れて実行した
Marigold V2深度・法線・アルベドHuawei Bayer Lab入れていない(テンプレートを開いただけ)

表の4つのモデルは、どれも v0.37.0 の組み込みのノード(ComfyUI に初めから入っているノード)で動きます。
どのモデルにも、公式のテンプレート(すぐに開ける見本のワークフロー)があるので、それを開くのが早いでしょう。

深度推定を使う前に|ComfyUIの言葉とテンプレート

この記事の手順に出る言葉と、それぞれの意味の表です。

言葉意味
ポータブル版Python ごと1つのフォルダに入った、Windows 向けの ComfyUI。NVIDIA の GPU の PC では、展開したフォルダの中の run_nvidia_gpu.bat をダブルクリックして起動する。入れ方はComfyUI ポータブル版|Windowsで解説している
ノード画像を読み込む・画像を作るなど、処理を1つずつ受け持つ四角い部品
キャンバスノードを並べてつなぐ、画面の広い作業の場
ワークフローノードを接続線でつないだ、画像を作るまでの処理の流れ
テンプレートComfyUI に入っている、すぐに開ける見本のワークフロー
サブグラフいくつかのノードを1つにまとめたもの
モデル学習した結果を収めたファイル。画像を作る本体のモデルのほかに、ControlNet などが使う補助のモデルもある
組み込みのノードComfyUI に初めから入っているノード
拡散モデル画像を作る本体のモデル
LoRAモデルに足す、小さな追加の学習のファイル
VAE潜在とふつうの画像を行き来させるモデル。「VAEデコード」は、潜在を画像に戻すノード
潜在画像になる前のデータ。「空の潜在画像」のノードで、作る画像の大きさを決める
条件付けプロンプトの文を、モデルが読める形にしたもの
ControlNet画像を作るモデルに、形の手がかりになる画像を足して渡す仕組み

テンプレートは画面の左の列の「テンプレート」から開き、開いたワークフローはキャンバスに出ます。
「実行する」(画面の右上)を押すとワークフローが動き、結果が右の保存やプレビューのノードに出る仕組みです。

この記事の手順は、どれもテンプレートを開いて使います。

ノードは初めから入っていますが、モデルのファイルは入っていません。
テンプレートを開いたときにモデルが無いと、足りないモデルの一覧の画面が出ます。

その画面からモデルを取る方法は、ComfyUIのモデルのダウンロードと置き場所|テンプレートからの取得・別のフォルダの指定で解説しています。

推定に使う元の画像(写真やパース)も、1枚用意してください。

テンプレートの題とノードの名前は、日本語の表示のものです。
英語で出ているなら、左下の歯車で設定を開き、検索の欄に Language と打って日本語にしましょう。

ComfyUI/models/geometry_estimation などの置き場所は、ポータブル版では ComfyUI_windows_portable の中の ComfyUI から数えます。

Depth Anything 3の使い方|深度推定のテンプレート

Depth Anything 3 は、1枚でも複数の画像でも、空間の形が食い違わない深度を出すモデルです。
深度のほかに、カメラの位置の推定や3Dの復元にも使えます。

版ファイル向いている使い方
Smalldepth_anything_3_small.safetensors速く推定する
Basedepth_anything_3_base.safetensors速さと質の釣り合い
Mono-Largedepth_anything_3_mono_large.safetensors1枚の画像の深度。空も見分ける
Metric-Largedepth_anything_3_metric_large.safetensorsメートルの単位の深度

ファイルは ComfyUI/models/geometry_estimation に置きます。
テンプレートの初めの値は Mono-Large で、この記事でもこれを使いました。

ライセンスは Apache 2.0 です。

テンプレートで深度を出す

「テンプレート」を押す

左の列の、ComfyUI のマークの下から数えて6つ目の「テンプレート」を押してください。
テンプレートの一覧の画面が開きます。

左の列。「テンプレート」のボタンを赤い枠で囲んでいる
赤い枠が「テンプレート」

「Depth Anything 3」と打つ

一覧の画面の右上の検索の欄に、「Depth Anything 3」と打ちます。
Depth Anything 3 のカードが2つ出ます。

右のカードを押す

右の「深度推定: Depth Anything 3」のカードを押します。
画像から深度を出すテンプレートが、キャンバスに開きます。

足りないモデルの一覧の画面が出たときは、その画面でモデルを落としてから進めてください。

テンプレートの一覧。右の「深度推定: Depth Anything 3」のカードを赤い枠で囲んでいる
左の「深度マップ: Depth Anything 3」は動画のテンプレート

元の画像をアップロードする

左の「画像を読み込む」の「アップロードするファイルを選択」を押し、深度を出したい画像を選びます。
ノードの下に、選んだ画像が出ます。

画像を読み込むのノード。「アップロードするファイルを選択」のボタンを赤い枠で囲んでいる
居間の画像を読み込んだところ。ボタンの位置は、どの「画像を読み込む」でも同じ。選んだ画像は PC の中の ComfyUI/input にコピーされるだけで、ネットには送られない

「実行する」を押す

画面の右上の「実行する」を押します。
「Depth Preview (one frame per view)」に深度の画像が出ます。

Depth Anything 3 のテンプレートを実行したところ。「画像を読み込む」の「画像」の欄を赤い枠で囲んでいる
赤い枠は、読み込んだ画像の名前の欄。右の「画像比較」は Nodes 2.0 の表示で使うノードで、元の表示では「Node 2.0専用」と出るだけ

編集部の PC(NVIDIA GeForce RTX 4060)では、モデルの読み込みを入れて1回目が約25秒でした。

真ん中の「Image Depth Estimation (Depth Anything 3)」は、次の3つのノードをまとめたサブグラフです。
中を開くには、ノードの名前の右端の、四角と矢印の絵のボタンを押します。

サブグラフの外に出た欄は、中のノードの欄と名前が違うことがあります。

たとえば、中の output は、外では output_type という名前です。

ノード(画面の名前)働き
Depth Anything 3を読み込むモデルを読む。model_name で版を選ぶ
Depth Anything 3を実行推定する。resolution(初めの値 504)は、推定するときの長い辺の大きさ
Depth Anything 3をレンダリング推定した結果を画像にする。output で depth(白黒)・depth_colored(色つき)などを選ぶ

動画から深度を出すテンプレートもあり、「ComfyUIの動画生成とは|テキスト・画像から動画」(準備中)から始まる動画の記事で解説します。

MoGeの使い方|深度と法線の推定

MoGe は、1枚の画像から、3Dの点の集まり・深度・法線・カメラの画角を一度に推定するモデルです。
MoGe-2 と MoGe-3 は、メートルの単位の大きさで推定します。

ファイル版法線
moge_1_vitl_fp16.safetensorsMoGe-1出さない
moge_2_vitl_normal_fp16.safetensorsMoGe-2出す
moge_3_vitl_fp16.safetensorsMoGe-3出す
moge_3_vitg_fp16.safetensorsMoGe-3(大きい版)出す

テンプレートのノート(キャンバスに置かれた説明のメモ)で「Recommended」と書かれているのは MoGe-2 で、この記事でもこれを使いました。
ライセンスは MIT です。

置き場所は、Depth Anything 3 と同じ ComfyUI/models/geometry_estimation です。

テンプレートで深度を出す

テンプレートの一覧を開く

画面の左の列にある「テンプレート」(上から6つ目)を、もう一度押します。
テンプレートの一覧が開きます。

左の列。「テンプレート」のボタンを赤い枠で囲んでいる
Depth Anything 3 のときと同じボタン

「深度推定: MoGe」と打ってカードを押す

右上の検索の欄に「深度推定: MoGe」と打つと、左端に「深度推定: MoGe」のカードが出ます。
カードを押すと、キャンバスにテンプレートが開きます。

元の画像を読み込む

「画像を読み込む」(左)の「アップロードするファイルを選択」を押し、深度を出したい画像を選びます。
選んだ画像が、ノードの下に出ます。

「実行する」を押して結果を見る

右上の「実行する」を押します。
右の3つのプレビューに、白黒の深度・色つきの深度・マスクが出ます。

マスクは、空(そら)でない所を白、空を黒で示した白黒の画像です。

MoGe のテンプレートを実行したところ。右に白黒の深度、色つきの深度、マスクが並んでいる
室内の画像なので、マスクは全面が白になった

法線を出す

サブグラフの中を開く

「Depth Estimation (MoGe)」の名前の右端の、四角と矢印の絵のボタンを押します。
サブグラフの中のノードが、キャンバスに出ます。

depth_colored の「output」の欄を押す

「MoGe レンダリング」は3つあり、「output」が depth_colored・depth・mask になっています。
depth_colored の「MoGe レンダリング」の「output」の欄を押すと、出せるものの一覧が出ます。

normal_opengl を押す

一覧の normal_opengl を押すと、欄が normal_opengl に変わります。
normal_directx は、緑(上下の向き)が逆になる形式です。

元の画面に戻る

画面の上に「/」で並ぶ名前のうち、左のワークフローの名前を押します。
サブグラフの外の元の画面に戻ります。

実行して確かめる

画面の右上の、青い「実行する」を押してください。
「Preview Image (depth_colored)」に、深度の代わりに法線の画像が出ます。

MoGe で出した色つきの深度と法線の画像
法線では、床・壁・天井の梁がそれぞれ別の色になった

Blender・Substance・Unity・glTF は OpenGL の形式、Unreal は DirectX の形式を使います。

Lotusの使い方|Lotus Depth

Lotus は、画像を作るモデルの形を使って、深度を推定するモデルです。
テンプレート「深度推定: Lotus」は、次の2つのファイルを読みます。

ファイル置き場所ライセンス
lotus-depth-d-v1-1.safetensorsComfyUI/models/diffusion_modelsApache 2.0
vae-ft-mse-840000-ema-pruned.safetensorsComfyUI/models/vaeMIT

テンプレートで深度を出す

「テンプレート」から一覧を開く

画面の左の列の、上から6つ目の「テンプレート」を押して、一覧の画面を開きます。
Depth Anything 3 や MoGe と同じボタンです。

左の列。「テンプレート」のボタンを赤い枠で囲んでいる
赤い枠が「テンプレート」

「Lotus」と打ってカードを押す

右上の検索の欄に「Lotus」と打つと、左端に「深度推定: Lotus」のカードが出ます。
そのカードを押すと、テンプレートがキャンバスに開きます。

画像を選んで読み込む

左の「input」の「アップロードするファイルを選択」を押し、深度を出したい画像を選びます。
ノードの下に、その画像が出ます。

実行して画像を出す

右上の青い「実行する」を押しましょう。
右の「output」に深度の画像が出て、ComfyUI/output に保存されます。

Lotus のテンプレートを実行したところ。右の output に深度の画像が出ている
真ん中の「Lotus depth」はサブグラフ。中の欄の sigma は、初めの値の 999.000 のまま使った

「Lotus depth」の中では、画像を VAE で潜在にし、1回だけ描き直して深度を作っています。
条件付けには、プロンプトの代わりに「LotusConditioning」のノードが出す決まった値を使います。

3つの深度を比べる

同じ居間の画像で、3つのモデルの深度を並べました。

Depth Anything 3・MoGe・Lotus で推定した居間の深度の並び
3つとも、手前の椅子とソファが白く、右奥が暗い。MoGe は全体が暗めで、Lotus は左と真ん中の壁まで明るい
モデル編集部の PC での1回目出すもの
Depth Anything 3(Mono-Large)約25秒深度
MoGe(MoGe-2)約40秒深度・法線・マスク・3Dの点
Lotus約40秒深度

表の時間は、どれもモデルの読み込みを入れた値です。
深度の画像を ControlNet に渡す使い方は、ComfyUIのDepth ControlNet|深度で決める奥行きで解説しています。

Marigold V2|深度・法線・アルベドの推定

Marigold V2 は、Qwen-Image-Edit 2509(Alibaba の Qwen のチームが出した、指示で画像を直すモデル)の拡散モデルを、深度・法線・アルベドの推定に使うモデルです。
推定する種類ごとに入れ替えるのは、LoRA・VAE・条件付けのファイルです。

推定LoRAVAE条件付け
深度marigold_v2_depth_log_stage2marigold_v2_depth_log_stage2_vaemarigold_v2_depth_conditioning
法線marigold_v2_normalsmarigold_v2_normals_vaemarigold_v2_normals_conditioning
アルベドmarigold_v2_albedomarigold_v2_albedo_vaemarigold_v2_albedo_conditioning

表の LoRA・VAE・条件付けは、どれも拡散モデル qwen_image_edit_2509_int8_convrot.safetensors の上で使います。
この拡散モデルは約21GB あり、入れる場所と、動かせる PC が要ります。

こちらのライセンスも Apache 2.0 です。

Marigold V2 では、テンプレートの組み方を見ます。
実行するには、表のモデルと拡散モデルを入れてください。

一覧を開く

画面の左の列の「テンプレート」を押します。
テンプレートを選ぶ画面が出ます。

「Marigold」と打ってカードを押す

右上の検索の欄に「Marigold」と打つと、左端に「深度推定:Marigold V2」のカードが出ます。
カードを押せば、キャンバスにテンプレートが開きます。

Marigold V2 の深度のテンプレートを開いた画面。真ん中のサブグラフに、拡散モデル・LoRA・VAE・条件付けの欄が並んでいる
モデルは読まず、実行もしていない。prediction の欄は depth

テンプレートの最後の「Marigold V2 Post-Process」は、推定の結果を見られる画像に直すノードです。
prediction の欄は、推定の種類に合わせてください。

prediction直し方
depth手前が明るくなるように並べ直す
normals面の向きを表す値を、法線の画像として見られる形にそろえる
albedosRGB(ふつうの画面で見るときの色の形式)の色にする

推定した深度をメッシュにする|MoGe・Depth Anything 3

MoGe と Depth Anything 3 は、推定した形を3Dのメッシュ(面の集まり)にできます。
テンプレート「MoGe: パースペクティブ幾何推定」は、画像から、色の付いたメッシュと法線の画像を作ります。

「テンプレート」を押して一覧を出す

画面の左の列の「テンプレート」を押して、一覧の画面を開きます。
ここまでの推定と同じボタンです。

「幾何推定」と打ってカードを押す

右上の検索の欄に「幾何推定」と打つと、左端に「MoGe: パースペクティブ幾何推定」のカードが出ます。
このカードを押すと、テンプレートがキャンバスに出ます。

読み込む画像を選ぶ

左の「画像を読み込む」の「アップロードするファイルを選択」を押し、メッシュにしたい画像を選びます。
ノードの下で、選んだ画像を確かめられます。

「実行する」で作る

画面の右上にある「実行する」を押します。
「SaveGLB」のノードの中の3Dの表示に、画像の色を貼ったメッシュが出ます。

MoGe でメッシュを作ったところ。SaveGLB の中の3Dの表示を赤い枠で囲んでいる
マウスでドラッグすると、メッシュを回して見られる。右の2つは OpenGL と DirectX の法線

メッシュになるのは、画像に写っている面だけです。
見えていない裏側は作られません。

メッシュは、GLB(3Dの形と色を1つのファイルにまとめる形式)で ComfyUI/output/3d に保存されました。
公式ドキュメントには ComfyUI/output/mesh とありますが、v0.37.0 のテンプレートでは、SaveGLB の「ファイル名のプレフィックス」が 3d/ComfyUI になっています。

ノード(画面の名前)働き
MoGe ポイントマップからメッシュへMoGe の推定をメッシュにする。decimation で面を減らす
DA3ジオメトリをメッシュに変換Depth Anything 3 の推定をメッシュにする

パノラマの画像からメッシュを作るには、テンプレート「Moge:パノラマからメッシュへ」を使ってください。
なお、作ったメッシュの面を減らしたり、穴を埋めたりする方法は、「ComfyUIのメッシュの加工|面を減らす・穴埋め・滑らかにする・結合」(準備中)の記事で解説します。

深度推定のテンプレートが動かないとき

起きること直し方
テンプレートを開くと、足りないモデルの一覧の画面が出るそのテンプレートのモデルが入っていません。そのモデルの節に書いたファイルを、書いてある置き場所に入れてください
検索で目当てのカードが見つからない名前の似たテンプレートが先に並ぶことがあります。「深度推定: MoGe」「幾何推定」のように、カードの題の言葉で打ちましょう
法線の画像の緑が、使うソフトと逆になる「MoGe レンダリング」の「output」を、normal_opengl と normal_directx で入れ替えます
メッシュのファイルが output/mesh に無いv0.37.0 のテンプレートでは output/3d に保存されます

参考にしたのは、ComfyUI の公式ドキュメントのDepth Anything 3・MoGe・Marigold V2のページ、内蔵ノードのLotusConditioningのページと公式のテンプレートです(2026年9月29日に確認)。

会員登録(無料)

記事やテーマのお気に入り・学習履歴・フォローが使えます。

この記事について

PERSC編集部が、建築の制作に関わる知識を実務目線で整理しています。内容は公開・更新日時点の情報にもとづきます。誤りや古い情報にお気づきの場合はお問い合わせよりご連絡ください。

あわせて読みたい