Skip to content

ComfyUIでの画像生成にControlNetを使用する方法 🚧

ControlNetは、条件付き画像を入力することでAIモデルの画像生成プロセスを正確にガイドできる強力な画像生成制御技術です。ControlNetを使用することで、ユーザーはAI画像生成プロセスをより良く制御し、特定のニーズや想像に合った画像を作成できます。

ComfyUIにはControlNetモデルが組み込まれていないため、このチュートリアルを始める前に対応するControlNetモデルファイルをインストールする必要があります。embedding, LoRAなどの他のタイプのモデルと同様に、ControlNetはCheckpointモデルとのバージョン対応があります。例えば:

  • SD1.5バージョンのCheckpointモデルを使用している場合、対応するControlNetもSD1.5をサポートする必要があります。
  • Flux.1モデルを使用している場合、対応するControlNetもFlux.1をサポートする必要があります。

このチュートリアルでは、以下の部分をカバーします:

  • ControlNetモデルの機能と役割の簡単な説明。
  • ComfyUIでのControlNetモデルのインストール方法(対応するモデルのダウンロードチャネルを含む)。
  • ComfyUIでの異なるタイプのControlNetモデルの使用。

ControlNetモデルには多くのバージョンがあるため、このチュートリアルではインストール方法の一般的な説明のみを提供します。

ControlNetの機能と役割

ControlNetは、絵を描く過程で画家に指示を与えるアートディレクターのようなものです。

  1. キャンバスとブラシ(ベースモデル): Stable Diffusionモデルは、画家のキャンバスとブラシのようなもので、さまざまな画像を作成できます。

  2. アートディレクター(ControlNet): ControlNetは、画家の隣に立っているアートディレクターのようなもので、参照画像やスケッチを持っています。

  3. ガイドプロセス:

    • アートディレクターは、参照画像に基づいてキャンバスのどこに何を描くかを画家に伝えます。
    • 画家(ベースモデル)は、自分のスキルとスタイルを使って描きますが、アートディレクターの提案に従います。
  4. 異なるタイプのガイド:

    • アウトラインガイド(例:Canny ControlNet):アートディレクターが線画を持っているように、画家にアウトラインの描き方を指示します。
    • ポーズガイド(例:Openpose ControlNet):アートディレクターが人物のポーズを示し、画家がそれに従って作成します。
    • 深度ガイド(例:Depth ControlNet):アートディレクターがシーンの三次元感を提供し、画家に深度の表現方法を指示します。
  5. 影響の調整:

    • 時には画家がアートディレクターの提案により忠実に従うこともあります(高い制御強度)。
    • 時には画家が自分の創造性をより発揮することもあります(低い制御強度)。
  6. 複数のガイド:

    • 複数のアートディレクターが異なる側面でアドバイスを与え、画家がこれらの意見をバランスさせる必要があると想像できます。

このように、ControlNetはAI生成画像のプロセスをより正確に制御できるようにし、アートディレクターが画家を助けて特定の要件に合った作品を作成するのと同様です。

ControlNetモデルのダウンロードとインストール

基本的な概念を理解した後、まず対応するControlNetモデルファイルをインストールする必要があります。ここでは、現在使用しているCheckpointのバージョンに合ったControlNetを選択するためのダウンロードリソースをいくつかまとめました。

ControlNetモデルのダウンロード

リソースセクションで対応するControlNetモデルを見つけることができます。

ControlNetモデルのインストール方法

1. ComfyUI専用のControlNetをインストール

モデルをダウンロードした後、ファイルを/ComfyUI/models/controlnetフォルダに配置する必要があります。

2. WebUIとControlNetモデルを共有

WebUIとモデルファイルを共有する場合、対応するファイル設定が正しいことを確認してください。

  1. ComfyUIの追加モデルファイルの設定ファイルを見つけます:/ComfyUI/extra_model_paths.yaml
  2. テキストエディタでextra_model_paths.yamlを開きます。
  3. 設定ファイル情報を以下のように確認します:
#all you have to do is change the base_path to where yours is installed
a111:
    base_path: D:\sd-webui-aki-v4.2 # Your WebUI directory
 
    checkpoints: models/Stable-diffusion
    configs: models/Stable-diffusion
    vae: models/VAE
    loras: |
         models/Lora
         models/LyCORIS
    upscale_models: |
                  models/ESRGAN
                  models/RealESRGAN
                  models/SwinIR
    embeddings: embeddings
    hypernetworks: models/hypernetworks
    controlnet: models/ControlNet # The model should be installed in this folder
    ipadapter: models/ipadapter
 

controlnetの設定オプションに注意する必要があります。 例えば、私の設定ファイルでは、ControlNetインストールモデルのパスはD:\sd-webui-aki-v4.2\models\ControlNetである必要があります。設定を一致させることで、ComfyUIが対応するモデルファイルを見つけることができます。

💡

インストール方法に関係なく、インストールされたモデルのフォルダを追加して、対応するStable diffusionバージョンを記録することをお勧めします。 例えば

  • /ComfyUI/models/controlnet/sd1.5/ControlNet-model-files
  • /ComfyUI/models/controlnet/flux/ControlNet-model-files これにより、後での使用がより便利になります~

ComfyUIでControlNetを使用する方法

🚧