ComfyUIでCanny ControlNet SD1.5モデルを使用する方法 - 完全ガイド
SD1.5 Canny ControlNetの概要
Canny ControlNetは、最も一般的に使用されているControlNetモデルの1つです。Cannyエッジ検出アルゴリズムを使用して画像からエッジ情報を抽出し、その情報をAI画像生成のガイドとして使用します。
このチュートリアルでは、SD1.5でのCanny ControlNetモデルの使用方法に焦点を当てています。
関連コンテンツ: ControlNetモデルのインストールと使用ガイド ControlNetモデルのダウンロードリンク
Canny ControlNetの主な特徴
- 構造の保持:元画像の基本構造とアウトラインを効果的に維持
- 高い柔軟性:エッジ検出パラメータの調整によるガイダンス強度の制御
- 幅広い応用:スケッチ、線画、建築デザインなど、様々なシーンに適用可能
- 安定した結果:他のControlNetモデルと比較して、より安定した予測可能なガイダンスを提供
チュートリアルの準備
1. ComfyUIの更新と必要なモデルのインストール
一部のノードが新しいComfyUIノードを使用するため、まずComfyUIを最新バージョンに更新する必要があります。
- ComfyUIの更新については、ComfyUI更新チュートリアルを参照してください。
まず、以下のモデルをインストールする必要があります:
モデルの種類 | モデルファイル | ダウンロードリンク |
---|---|---|
SD1.5ベースモデル | dreamshaper_8.safetensors | Civitai |
Canny ControlNetモデル | control_v11p_sd15_canny.pth | Hugging Face |
VAEモデル(オプション) | vae-ft-mse-840000-ema-pruned.safetensors | Hugging Face |
2. モデルファイルの配置
以下の構造に従ってモデルファイルを配置してください:
📁ComfyUI
├── 📁models
│ ├── 📁checkpoints
│ │ └── 📁SD1.5
│ │ └── dreamshaper_8.safetensors
│ ├── 📁controlnet
│ │ └── 📁SD1.5
│ │ └── control_v11p_sd15_canny.pth
│ └── 📁vae
│ └── vae-ft-mse-840000-ema-pruned.safetensors
3. SD1.5 Canny ControlNetワークフローファイルのダウンロード
以下の画像をローカルに保存し、ワークフローをインポートした後にLoadImageノードに読み込んでください
ワークフローの概要
このワークフローは以下の主要部分で構成されています:
- モデルの読み込み:SDモデル、VAEモデル、ControlNetモデルの読み込み
- プロンプトのエンコード:ポジティブとネガティブプロンプトの処理
- 画像処理:画像の読み込みとCannyエッジ検出を含む
- ControlNetコントロール:エッジ情報を生成プロセスに適用
- サンプリングと保存:最終画像の生成と保存
主要ノードの説明
-
LoadImage:入力画像を読み込むために使用
-
Canny:2つの重要なパラメータでエッジ検出を実行:
- low_threshold:下限閾値、エッジ検出の感度を制御
- high_threshold:上限閾値、エッジの連続性を制御
-
ControlNetLoader:ControlNetモデルを読み込む
-
ControlNetApplyAdvanced:ControlNetの適用方法を制御、以下のパラメータを含む:
- strength:制御強度
- start_percent:影響が始まるタイミング
- end_percent:影響が終わるタイミング
使用手順
-
ワークフローのインポート
- このチュートリアルからワークフローファイルをダウンロード
- ComfyUIで「Load」をクリックするか、ダウンロードしたJSONファイルをドラッグ&ドロップ
-
入力画像の準備
- 処理したい画像を準備
- LoadImageノードを使用して画像を読み込む
-
Cannyパラメータの調整
- 推奨low_threshold範囲:0.2-0.5
- 推奨high_threshold範囲:0.5-0.8
- PreviewImageノードでエッジ検出結果をプレビュー
-
生成パラメータの設定
- KSamplerノードで:
- steps:推奨20-30
- cfg:推奨7-8
- sampler_name:推奨”dpmpp_2m”
- scheduler:推奨”karras”
- KSamplerノードで:
-
ControlNet強度の調整
- strength:1.0はエッジ情報を完全に追従
- 必要に応じてstrength値を下げて制御を弱める
ヒントと推奨事項
-
エッジ検出パラメータの調整
- エッジが多すぎる場合:閾値を上げる
- エッジが少なすぎる場合:閾値を下げる
- まずPreviewImageノードで効果をプレビュー
-
プロンプトの作成
- ポジティブプロンプトは希望するスタイルと詳細を記述
- ネガティブプロンプトは避けたい要素を含める
- プロンプトは元画像の内容に関連させる
-
一般的な問題の解決策
- 生成画像がぼやける場合:cfg値を上げる
- エッジの追従が不十分な場合:strength値を上げる
- 詳細が不足している場合:steps値を上げる
実践例
以下に一般的な使用例とそのパラメータ設定を示します:
-
線画の着色
- low_threshold:0.2
- high_threshold:0.5
- strength:1.0
- steps:25
-
構造の再描画
- low_threshold:0.4
- high_threshold:0.7
- strength:0.8
- steps:30