ComfyUIは、グラフ/ノード/フローチャートベースのインターフェースを使用して画像が生成できるUIですが、Stable Diffusionでも必須のツール『ControlNet』を利用することができます!
今回は、ComfyUIで画像のポーズや構図を制御することができる『ControlNet』のインストール方法・使い方について、詳しく解説していきます!
ComfyUIとは?
ComfyUIは、画像生成AIであるStable Diffusionを操作するためのツールの一つです。特に、ノードベースのUIを採用しており、さまざまなパーツをつなぐことで画像生成の流れを制御します。
Stable Diffusionの画像生成web UIとしては、AUTOMATIC1111が有名ですが、「ComfyUI」はSDXLへの対応の速さや、低スペックPCでもOKという性能の高さから注目を集めています。
※ComfyUIの機能やメリット・導入方法など、以下の記事で詳しく解説しています。
ControlNetとは?
『ControlNet』とは、新たな条件を指定することで細かなイラストの描写を可能にする拡張機能です。具体的には、プロンプトでは指示しきれないポーズや構図の指定などができます。数ある拡張機能の中でも最重要と言えるでしょう。
ControlNetを使用すると、パースやスケッチの作成も可能になります。これにより、仕事で役立てることができる方も多いでしょう。
※ControlNetの詳しい概要やメリットは、以下の記事で解説しています!
- Stable Diffusionのプロンプトの見本が知りたい
- 画像生成が思ったようにできない
- 色々なプロンプトを探したい
ComfyUIの立ち上げ方
ComfyUIを立ち上げる手順は、以下の通りです。
①ComfyUIのインストール
②モデル(チェックポイント)・VAEのダウンロード
③SDXL用のComfyUIを立ち上げる
以下の記事で詳しく解説していますので、参考にしてください!
ControlNetのモデルをダウンロードする
ControlNetのモデルは自分でダウンロードする必要があります。
Githubの公式ページから好きなモデルをダウンロードし、ComfyUIを格納しているディレクトリの「ComfyUI」→「models」→「ControlNet」フォルダに保存しましょう。
特に、「control_v1.1_fp16_safetensors」モデルは頻繁に使用されるため、ダウンロードしておくことをお勧めします!
ComfyUIでControlNetを使う方法
では、ようやくですがComfyUIでControlNetを利用する方法について解説していきます!
準備:拡張機能「ComfyUI-Manager」を導入する
『ComfyUI-Manager』は、ComfyUIでカスタムノードを管理するための拡張機能です。ComfyUIを用いて、カスタムノードを追加することにより、より高度なワークフローの構築が可能になります。
では、ComfyUI-Managerのインストール方法を見ていきましょう。
1.ComfyUIがインストールされているフォルダにある以下のディレクトリに移動します。
インストールした場所\SVD-webui\custom_nodes
2.gitを使用してクローンを作成します。以下のコマンドを実行してください。
git clone https://github.com/ltdrdata/ComfyUI-Manager.git
これだけで、次回ComfyUIを起動する際から『ComfyUI-Manager』が利用可能になります!
詳しい導入方法は以下の記事で解説しています。
公式のControlNetワークフロー画像を読み込む方法
公式のControlNetワークフロー画像を読み込む方法は非常に簡単です!
サイト上にある画像をComfyUIの画面にドラッグ&ドロップすることで、公式ワークフローを読み込むことができます。
公式ワークフローの例を見るには、以下のリンクを参照してください。
手動でControlNetのノードを組む方法
次に手動で行う方法をご紹介します!
1. 「LoadControlNet Model Model(diff)」を「Load Checkpoint」に接続します。
※「LoadControlNet Model Model(diff)」は、「AddNode>Loaders」カテゴリ内にあります。
2.生成を目的とする画像を「Apply ControlNet」に入力し、その出力を「KSampler」に送ります。
※「Apply ControlNet」は「AddNode>Conditioning」カテゴリ内にあります。
※「Image」ノードは、「AddNode>Image」カテゴリ内にあります。
【応用編①】Scribbleで手書きから画像を生成する方法
公式ワークフローを使用して、ControlNetのScribble機能を活用することができます!
Scribbleを用いて画像を生成する手順を紹介します。
1.公式ワークフローをドラッグ&ドロップして読み込みます。
2.「LoadControlNet Model」で「control_v1.1p_sd15_scribble」を選択します。
3.手書きの画像を「Load image」にアップロードします。
4.「Load Checkpoint」で保存済みのモデルが選択されているか確認します。
5.最後に「Queue Prompt」をクリックすると画像が生成されます。
【応用編②】reference_onlyを使う方法
画像の顔だけを使い回すことができることで人気の「reference_only」を使うことができます!
それでは、使い方をご紹介します。
1.必要なワークフローを以下のページからコピーします。
2.コピーしたワークフローをComfyUIの画面上にペーストします。
3.諸々の設定を調整し、画像を生成すれば完了です!
「reference_only」の精度はあまり高くない印象です。そのため、一応は使ことができる程度の認識にとどめて置くことがよいかもしれません!
まとめ
いかがでしたでしょうか?
ComfyUIでControlNetを利用する方法について解説してきました!
今回のポイントをまとめると、以下のようになります。
- ControlNetを使うには公式のワークフローをドラック&ドロップする
- Scribble機能も使える
- reference_onlyの使用には注意が必要
この記事を通じてComfyUIでControlnetの基本的な使い方を理解していただければ幸いです。
ほかにも、ComfyUIで利用できる便利な機能をご紹介していますので下記記事もチェックしてください!
- Stable Diffusionのプロンプトの見本が知りたい
- 画像生成が思ったようにできない
- 色々なプロンプトを探したい