ComfyUIでDepth ControlNet SD1.5モデルを使用する方法 - 完全ガイド
SD1.5 Depth ControlNetの概要
Depth ControlNetは、画像の深度と空間構造を制御するために特別に設計されたControlNetモデルです。入力画像の深度情報を分析することで、AIが新しい画像を生成する際に正しい空間関係と遠近効果を維持するのを助けます。このモデルは、インテリアデザイン、建築設計、シーン再構築などの分野で特に有用で、空間の深度情報を正確に理解し維持することができます。
このチュートリアルでは、SD1.5モデルのDepth ControlNetモデルの使用方法とテクニックに焦点を当てています。他のバージョンやタイプのControlNetモデルについては、今後のチュートリアルで補完していきます。
Depth ControlNetの主な特徴
- 空間制御: 画像の空間的深度と遠近関係の正確な制御
- シーン再構築: 元のシーンの空間レイアウトを維持しながら、スタイルとコンテンツを変更可能
- インテリアデザイン: 室内シーンの再設計とスタイル変換に特に適している
- 建築ビジュアライゼーション: 建築およびインテリアデザインの3D効果表示に特に効果的
- 製品展示: 深度感のある製品展示効果の作成に適している
- シーン計画: 景観設計や都市計画のビジュアライゼーションをサポート
SD1.5 Depth ControlNetワークフロー準備作業
1. 必要なプラグインのインストール
ComfyUI Coreには対応するDepth画像プリプロセッサが含まれていないため、事前に対応するプリプロセッサプラグインをダウンロードする必要があります。 このチュートリアルでは、深度マップを生成するためにComfyUI ControlNet Auxiliary Preprocessorsプラグインを使用します。
ComfyUI Managerを使用したインストールを推奨します。 プラグインのインストールについては、ComfyUIプラグインインストールガイドで詳しく説明しています。
最新版のComfyUI DesktopにはComfyUI Managerプラグインが事前にインストールされています。
方法1:ComfyUI Managerを使用(推奨)
- まずComfyUI Managerをインストール
- Managerで”ComfyUI ControlNet Auxiliary Preprocessors”を検索してインストール
方法2:gitを使用したプラグインのインストール
- コマンドラインを開き、cdコマンドでComfyUIのcustom_nodesディレクトリに移動
- 以下のコマンドを実行:
git clone https://github.com/Fannovel16/comfyui_controlnet_aux
cd comfyui_controlnet_aux
pip install -r requirements.txt
注意:プラグインをインストールした後、ComfyUIを再起動する必要があります
方法3:手動インストール(非推奨)
- https://github.com/Fannovel16/comfyui_controlnet_aux にアクセス
- リポジトリのコードをZIPファイルでダウンロード
- 解凍したファイルを
ComfyUI/custom_nodes/
フォルダにコピー
2.1 必要なモデルのダウンロード
まず以下のモデルをインストールする必要があります:
モデルタイプ | モデルファイル | ダウンロード先 |
---|---|---|
SD1.5 ベースモデル | dreamshaper_8.safetensors | Civitai |
Depth ControlNet モデル | control_v11f1p_sd15_depth.pth | Hugging Face |
VAE モデル(オプション) | vae-ft-mse-840000-ema-pruned.safetensors | Hugging Face |
SD1.5バージョンのモデルは、お手持ちのモデルを使用できます。このチュートリアルでは例としてdreamshaper_8を使用していますが、インテリアデザインなどの用途では、インテリアや建築デザイン用に最適化されたモデルを選択することをお勧めします。
2.2 モデルの配置場所
以下のような構造でモデルファイルを配置してください:
📁ComfyUI
├── 📁models
│ ├── 📁checkpoints
│ │ └── 📁SD1.5
│ │ └── dreamshaper_8.safetensors
│ ├── 📁controlnet
│ │ └── 📁SD1.5
│ │ └── control_v11f1p_sd15_depth.pth
│ └── 📁vae
│ └── vae-ft-mse-840000-ema-pruned.safetensors
3. ワークフローファイル
インテリアデザインは、Depth ControlNetの最も一般的な応用例の一つです。深度情報の制御により、空間レイアウトを維持しながら、インテリアのスタイルと雰囲気を完全に変更することができます。
以下は、伝統的なリビングルームをサイバーパンクスタイルに変換した例です:
SD1.5 Depth ControlNet ワークフローガイド
主要コンポーネント
このワークフローは以下の主要なノードを使用します:
- LoadImage: 入力画像を読み込みます
- Zoe-DepthMapPreprocessor: ComfyUI ControlNet Auxiliary Preprocessorsプラグインが提供する深度マップ生成ノード
- resolution: 深度マップの解像度を制御し、詳細レベルに影響を与えます:
- 高解像度(768, 1024など):
- 利点:より多くの詳細を捉え、複雑なインテリアや建築に適しています
- 欠点:処理が遅く、VRAMの使用量が多い
- 使用例:詳細なインテリアデザイン、建築詳細の再現
- 低解像度(384, 512など):
- 利点:処理が速く、VRAM使用量が少ない
- 欠点:一部の詳細情報が失われる可能性がある
- 使用例:クイックプレビュー、シンプルなシーン再構築
- 推奨設定:
- 一般的なシーン:512がバランスが良い
- 高詳細要件:768以上
- クイックテスト:384
- 高解像度(768, 1024など):
- Zoe深度推定アルゴリズムを使用して高品質な深度マップを生成
- インテリアや建築シーンに特に適しています
- PreviewImageノードで生成された深度マップをプレビュー可能
- resolution: 深度マップの解像度を制御し、詳細レベルに影響を与えます:
ヒント:最初は低解像度でテストと調整を行い、最終生成時に解像度を上げることをお勧めします
ヒント:Zoe-DepthMapPreprocessorは、複雑な空間構造や詳細を適切に処理できる、建築やインテリアシーン向けの最高の深度マップジェネレーターの一つです
Depth ControlNet パラメータガイドと推奨設定
KSamplerパラメータ
-
steps(サンプリングステップ)
- 目的:生成の詳細度と品質を制御
- 推奨範囲:25-30ステップ
- 詳細:
- 高ステップ数(30+):より詳細な結果が得られるが処理時間が長い
- 低ステップ数(20-):処理が速いが詳細が失われる可能性がある
- 空間構造の正確性を確保するため、最低25ステップを推奨
-
cfg(Classifier Free Guidance)
- 目的:プロンプトへの準拠度を制御
- 推奨範囲:6-8
- 詳細:
- 高値(8+):プロンプトにより厳密に従うが創造性が制限される
- 低値(5-):より創造的だが意図から外れる可能性がある
- インテリアデザインでは、精度と創造性のバランスを取るため6-7を推奨
-
sampler_name(サンプラー)
- 推奨:
- euler:高速、プレビューに適している
- dpmpp_2m:高品質、最終生成に理想的
- シーン別の選択:
- インテリアデザイン:dpmpp_2mを優先
- クイックテスト:eulerを使用
- 推奨:
-
scheduler(スケジューラー)
- 推奨:karras
- 理由:空間構造の維持に最適
ControlNet制御パラメータ
-
strength(強度)
- 目的:深度情報の影響度を決定
- 推奨範囲:0.8-1.0
- シーン別推奨:
- インテリアデザイン:0.9-1.0
- 建物外観:0.8-0.9
- シンプルなシーン:0.7-0.8
-
start_percentとend_percent
- 目的:深度ガイダンスのタイミングを制御
- デフォルト設定:
- start_percent: 0(最初から適用)
- end_percent: 1(最後まで維持)
- 特殊なケース:
- より創造的な自由度が必要な場合:end_percentを0.8-0.9に設定
- 厳密な空間構造を維持する場合:デフォルト値を使用
ヒント:パラメータを効果的に組み合わせる - インテリアデザインでは、高いstrength(0.9+)と高いsteps(30+)を組み合わせて最良の結果を得ることができます
ワークフローノードの説明
主要なノードの接続:
-
入力セクション:
- LoadImage → Zoe-DepthMapPreprocessor → PreviewImage(深度マッププレビュー用)
- LoadImage → Zoe-DepthMapPreprocessor → ControlNetApplyAdvanced
-
モデル読み込みセクション:
- CheckpointLoaderSimple(基本モデルの読み込み)
- ControlNetLoader(Depth ControlNetの読み込み)
-
プロンプト処理セクション:
- CLIPTextEncode(ポジティブプロンプトの処理)
- CLIPTextEncode(ネガティブプロンプトの処理)
-
生成制御セクション:
- KSampler(生成プロセスの制御)
- VAEDecode(潜在空間画像を最終画像に変換)
Depth ControlNet 使用のコツとベストプラクティス
-
深度マップの品質管理
- 高品質な入力画像を使用
- 明確な空間階層を確保
- 過度に複雑なシーンを避ける
- 照明が深度マップに与える影響に注意
-
プロンプトの作成
- 空間関係を詳細に記述
- 材質と照明情報を含める
- 重要な深度要素を明確に指定
- 専門用語を使用
- 推奨キーワード:
- 空間:depth, perspective, spatial layout, composition
- 品質:professional, high quality, detailed, realistic
- スタイル:modern, minimalist, futuristic(必要に応じて)
-
トラブルシューティング
- 空間感が弱い:strengthを上げる
- 詳細が失われる:cfgを下げる
- 構造の歪み:stepsを増やす
- 深度が不正確:resolutionを調整
- スタイルが違う:プロンプトを最適化
よくある質問(FAQ)
-
生成された画像の空間感が弱い理由は?
- 深度マップの明確さを確認
- strength値が適切か確認
- stepsの増加を検討
-
画像品質を向上させるには?
- より高いresolutionを使用
- 適切なサンプラーを選択
- プロンプトを最適化
-
生成速度を上げるには?
- resolutionを下げる
- より高速なサンプラーを使用
- ステップ数を減らす
-
元のレイアウトを維持するには?
- strengthを上げる
- end_percentを1に保つ
- 詳細な空間記述を使用