ComfyUIで複数のControlNetを使用する方法
この記事では、ComfyUIで複数のControlNetを組み合わせる方法を解説します。Apply ControlNetノードを連結することで、より正確な制御と生成効果を実現します。
ControlNetでは、複数のControlNetを組み合わせて、より正確な制御を実現できます。例えば、キャラクターを生成する際に肢体のずれが発生した場合、depthを重ねることで、肢体の前後関係を正しく保つことができます。
この記事では、OpenPoseとLineartを使用して、ビジュアルスタイルの変化を実現します。
- OpenPoseはキャラクターのポーズを制御するために使用します。
- Lineartはキャラクターの服装や顔の特徴を一貫して保つために使用します。
重要なのは、複数のControlNetを使用する際にApply ControlNetノードの条件を連結することです。
ControlNetの段階的制御の詳細については、Apply ControlNetノードの使用説明を参照してください。
ComfyUIで複数のControlNetを使用する手順
1. 必要なプラグインのインストール
ComfyUI Wikiの他のチュートリアルを学習済みであれば、対応するプラグインはすでにインストールされているはずなので、このステップはスキップできます。
ComfyUI Coreには対応するDepth画像の前処理が含まれていないため、事前に対応する前処理プラグインをダウンロードする必要があります。このチュートリアルでは、深度マップを生成するためにComfyUI ControlNet Auxiliary Preprocessorsプラグインを使用する必要があります。
インストールにはComfyUI Managerの使用を推奨します。プラグインのインストール手順の詳細については、ComfyUIプラグインインストールチュートリアルを参照してください。
最新版のComfyUI Desktopには、ComfyUI Managerプラグインがすでにプリインストールされています。
2. モデルのダウンロード
まず、以下のモデルをダウンロードする必要があります:
| モデルタイプ | モデルファイル | ダウンロードリンク |
|---|---|---|
| SD1.5 ベースモデル | dreamshaper_8.safetensors(オプション) | Civitai |
| OpenPose ControlNetモデル | control_v11p_sd15_openpose.pth(必須) | Hugging Face |
| Lineart | control_v11p_sd15_lineart.pth(必須) | Hugging Face |
SD1.5バージョンのモデルは、お使いのコンピュータ上のモデルを使用できますが、このチュートリアルではdreamshaper_8モデルを例として使用しています。
モデルファイルは以下の構造に従って配置してください:
📁ComfyUI
├── 📁models
│ ├── 📁checkpoints
│ │ └── 📁SD1.5
│ │ └── dreamshaper_8.safetensors
│ ├── 📁controlnet
│ │ └── 📁SD1.5
│ │ └── control_v11p_sd15_openpose.pth
│ │ └── control_v11p_sd15_lineart.pth3. ワークフローファイルと入力画像
以下のワークフローファイルと画像ファイルをダウンロードしてください。
4. ComfyUIにワークフローをインポートして画像を読み込み、生成する
- ステップ
1で対応するSD1.5チェックポイントモデルを読み込みます - ステップ
2で入力画像を読み込みます - ステップ
3でOpenPose ControlNetモデルを読み込みます - ステップ
4でLineart ControlNetモデルを読み込みます - Queueまたはショートカット
Ctrl+Enterを使用してワークフローを実行し、画像を生成します
ControlNetを組み合わせるシナリオ
1. 建築ビジュアライゼーション設計
ControlNetの組み合わせ
Canny エッジ + Depth マップ + MLSD ライン検出
パラメータ構成プラン
| ControlNetタイプ | 主な機能 | 推奨ウェイト | 前処理パラメータの提案 | フェーズ |
|---|---|---|---|---|
| Canny | 建築の輪郭を正確に保つ | 0.9-1.0 | 低しきい値: 50、高しきい値: 150 | フェーズ1 |
| Depth | 立体的な空間パースペクティブを構築 | 0.7-0.8 | MiDaSモデル、Boostコントラスト強調を有効化 | フェーズ2 |
| MLSD | 線の変形を修正し、幾何学的な正確さを維持 | 0.4-0.6 | 最小線長: 15、最大線間距離: 20 | フェーズ3 |
2. 動的なキャラクター生成
ControlNetの組み合わせ
OpenPose ポーズ + Lineart スケッチ + Scribble カラーブロック
パラメータ構成プラン
| ControlNetタイプ | 主な機能 | 推奨ウェイト | 解像度適応の提案 | 連携戦略 |
|---|---|---|---|---|
| OpenPose | キャラクター全体のポーズとアクションを制御 | 1.0 | 出力サイズと一致させる | メイン制御ネットワーク |
| Lineart | 顔の特徴や装備のディテールを精緻化 | 0.6-0.7 | Animeモードを有効化 | 中盤から終盤に介入 |
| Scribble | 服の色とテクスチャの分布を定義 | 0.4-0.5 | SoftEdge前処理を使用 | 色レイヤーのみに影響 |
3. 製品コンセプトデザイン
ControlNetの組み合わせ
HED ソフトエッジ + Depth 被写界深度 + Normal ノーマルマップ
パラメータ構成プラン
| ControlNetタイプ | 主な機能 | ウェイト範囲 | 主要な前処理設定 | 効果 |
|---|---|---|---|---|
| HED | 製品の柔らかいエッジと表面の移行をキャプチャ | 0.8 | ガウスぼかし: σ=1.5 | 輪郭の柔らかさを制御 |
| Depth | 背景ぼかしを伴うリアルな光と影をシミュレート | 0.6 | 近距離強調モード | 空間レイヤーを構築 |
| Normal | マテリアルの表面ディテールと反射特性を強化 | 0.5 | 生成サイズ: 768x768 | マテリアルのディテールを強化 |
4. シーン雰囲気のレンダリング
ControlNetの組み合わせ
Segmentation 分割 + Shuffle 色調 + Depth レイヤー
レイヤー制御戦略
| 制御レイヤー | 主な機能 | ウェイト | 効果範囲 | 介入タイミング |
|---|---|---|---|---|
| Seg | シーン要素の領域を分割(空/建物) | 0.9 | 全体構成 | 完全制御 |
| Shuffle | 全体の色調とスタイル転送を制御 | 0.4 | 色分布 | 中盤から終盤に介入 |
| Depth | 奥行き効果と空間レイヤーを作成 | 0.7 | 背景ぼかし領域 | 早期介入 |
コメント
GitHubでサインインしてディスカッションに参加しましょう。