catch-img

【Stable Diffusion Web UI】SDXL版ControlNetの使い方

ControlNetはStable Diffusion WebUIの拡張機能の一つで、生成する画像をコントロールすることができます。

この記事ではStable Diffusion WebUIで、SDXL版ContorlNetの使い方を紹介しています。

目次[非表示]

  1. 1.Stable Diffusionとは
  2. 2.Stable Diffusion Web UIとは
  3. 3.ContorlNetとは
  4. 4.SDXL版ControlNetをインストールする方法
  5. 5.SDXLのモデル・VAEの設定
  6. 6.ControlNetのインストール
  7. 7.SDXL版ControlNetモデルの設定
    1. 7.1.一括でモデルをダウンロードする方法
    2. 7.2.1つずつモデルをダウンロードする方法
  8. 8.ContorlNet Cannyとは
  9. 9.事前準備
  10. 10.ContorlNet Cannyの設定
  11. 11.もっと自由な画像生成を
  12. 12.まとめ

Stable Diffusionとは

Stable Diffusionは、無料で使える画像生成AIです。テキストを打ち込むと、それに応じた画像が生成されるしくみです。人物や動物、風景など、さまざまな画像を生成できます。

例えば、「サングラスをかけた猫」と入力するとそのような画像が生成されます。生成する画像のスタイルも多様でイラストや写真、水彩画やアニメ調など、自分の好きなテーマでAIに生成してもらうことができます。

sdxl

インストール不要でブラウザから簡単にStable Diffusionを使える「PICSOROBAN」

PCスペックを気にせず、簡単操作でStable Diffusionを利用できます。

ピクソロ

今なら2,000ポイント分のPICSOROBANの画像生成をお試しいただけます。

Stable Diffusion Web UIとは

Stable Diffusion Web UIは、ブラウザを通じて手軽に画像生成を行える無料のWEBアプリケーションで、Google Chromeなどの主要なブラウザで利用できます。

プログラミングを一切必要とせず、WEB UIによる簡単なグラフィカルな操作が可能です。Stable Diffusion Web UIをローカルPCにインストールして使用する、もしくはクラウドサーバーにインストールして使用します。

sdxl

Stable Diffusion Web UIに関する全般的な使い方については、以下の記事でまとめていますので、あわせてご覧ください。

ContorlNetとは

ControlNetはStable Diffusionの拡張機能の一つで、キャラクターのポーズや輪郭を参考画像から指定できる機能です。

プロンプトによる指定では、思っていたポーズと違う画像が生成されることもあります。
ControlNetの拡張機能を使うことで、参考画像のポーズと類似した画像を生成することができます。

写真やイラスト、手書きの絵からポーズや輪郭を型取りして、指定できるため、かなり厳密に参考画像のポーズを再現することが可能です。

高画質な画像生成が可能なStable Diffusion XL(SDXL)でもControlNetが利用可能ですので、使い方を解説していきます。

sdxl

SDXL版ControlNetをインストールする方法

SDXL版ControlNetを使用するには、Stable Diffusion Web UIのバージョンをv1.6.0以上にアップデートする必要があります。

すでにバージョンがv1.6.0以上の場合は、アップデートする必要はありません。

バージョンは Stable Diffusion WebUIのフッターで確認できます。

sdxl

Stable Diffusion WebUIをアップデートする方法は以下の記事で解説しています。

SDXLのモデル・VAEの設定

SDXL版ControlNetを利用するには、SDXL対応のモデルやVAEが必要になります。

SDXLの設定方法は以下の記事で解説しています。

ControlNetのインストール

ControlNetのバージョンがv1.1.4 以上の場合、SDXLに対応しています。

ControlNetの最新版はv1.1.4以上になりますので、通常のインストール方法でSDXLに対応します。

※Forge版の場合は、すでにControlNetがインストールされている状態ですので、次の項のモデルのダウンロードに進んでください。

ControlNetのインストール方法は以下の通りです。

  1. Stable Diffusion WebUIの[Extensions]タブを開きます。
  2. [Install from URL]タブを開きます。
  3. [URL for extension’s git repository]にControlNetをインストールするURLを入力します。(https://github.com/Mikubill/sd-webui-controlnet.git)
  4. [Install]をクリックし、インストールを開始します。

sdxl

  1. [Installed]タブを開きます。
  2. 拡張機能がインストールされたことを確認します。
  3. [Apply and restart UI]ボタンをクリックし、Web UIに変更を反映させます。

sdxl

更新が完了したら、[txt2img]タブから[ControlNet v****]が表示されていることを確認します。

sdxl

SDXL版ControlNetモデルの設定

ControlNetを利用するためには、前述のControlNetのインストールに加えて、ControlNet専用のモデルをダウンロードする必要があります。

ダウンロードするControlNetのモデルは約30ファイルほど存在します。

一括でモデルをダウンロードする方法と1つずつダウンロードする方法の2通りを紹介します。

1つずつを手動でダウンロードすることは、手間がかかりますので、一括ダウンロードをオススメしています。

一括でモデルをダウンロードする方法

ターミナルで次のコマンドを実行します。

pip install huggingface_hub

sdxl

ターミナルからPythonを起動します。

python

Pythonで次のコマンドを実行します。

from huggingface_hub import snapshot_download

Pythonで次のコマンドを実行します。

snapshot_download(repo_id="lllyasviel/sd_control_collection", revision="main",allow_patterns="*.safetensors", local_dir="/home/user/stable-diffusion-webui/models/ControlNet")

sdxl

※Forge版の場合は、以下のコマンドを実行します。

snapshot_download(repo_id="lllyasviel/sd_control_collection", revision="main",allow_patterns="*.safetensors", local_dir="/home/user/stable-diffusion-webui-forge/models/ControlNet")

[Ctrl] + [D]キーでPythonインタラクティブモードから抜けます。

次のコマンドを実行し、ダウンロードしたモデルが所定のフォルダに格納されているか確認します。

ls ~/stable-diffusion-webui/models/ControlNet

sdxl

※Forgeの場合は、以下のコマンドを実行します。

ls ~/stable-diffusion-webui-forge/models/ControlNet

1つずつモデルをダウンロードする方法

1つずつを手動でダウンロードする方法を解説します。

こちらのHugging Faceのページにアクセスしてください。

図に表示されている拡張子safetensorsの複数のファイルがControlNet専用のモデルになります

[ダウンロード]アイコンをクリックして、モデルファイルを1つずつダウンロードしていきます。

sdxl

ダウンロードしたモデルファイルを[stable-diffusion-webui] > [models] > [ControlNet]のディレクトリに格納します。

※Forgeの場合は、以下のディレクトリにモデルを格納します。
[stable-diffusion-webui-forge] > [models] > [ControlNet]

ContorlNet Cannyとは

この記事ではContorlNetのCannyというモデルを使用して画像を生成します。

Cannyは元画像から線画を抽出して、人物の髪や目などの色を自由に変えることができるモデルです。

これによって同じ形をした人物で様々な色合いや画風の画像を生成することができます。

sdxl

事前準備

事前にCannyに使用する元画像を用意してください。

Stable Diffusionで生成した画像でもよいですし、外部から用意した画像でも構いません。

また元画像は写真、アニメ風、手書きなど制限はありませんが、線画を抽出するので輪郭がはっきりした画像のほうが望ましいです。

ContorlNet Cannyの設定

Stable Diffusion Web UIを起動します。

  1. [txt2image]の[ControlNetv1.14****]の[◀]ボタンをクリックします。
     ※Forge版の場合は、[ControlNet Integrated◀]ボタンをクリックします。
  2. [Sigle Image]の[ここに画像をドロップまたはクリックしてアップロード]に元画像をドラッグ&ドロップでアップロードします。
  3. [Enable]にチェックを入れます。
  4. [Control Type]で[Canny]を選択します。
  5. [Preprocessor]のプルダウンメニューから[Canny]を選択します。
  6. [Model]の[更新]アイコンをクリックします。
  7. [Model]のプルダウンメニューから[diffusers_xl_canny_full]を選択します。
  8. 特徴を抽出する[💥]のアイコンをクリックします。

sdxl

モデルをセットして、[Prompt]にテキストを入力し、[Generate]をクリックします。

元画像の線画を維持したまま、SDXLの高画質画像が生成できました。

sdxl

使用したプロンプト、生成パラメータは以下のとおりです。

(プロンプト)
(masterpiece, top quality, best quality, official art, beautiful and aesthetic:1.2), (fractal art:1.3), 1girl, beautiful, high detailed, blue hair, blue eyes, dark lighting, serious face, looking the sky, sky, medium shot, black sweater, jewelry

(生成パラメータ)
Steps: 20, Sampler: DPM++ 2M Karras, CFG scale: 7, Seed: 2562000042, Size: 1024x1536, Model hash: c8b300cdee, Model: sdxlHK_v09, VAE hash: 63aeecb90f, VAE: sdxl_vae.safetensors, ControlNet 0: "Module: canny, Model: diffusers_xl_canny_full [2b69fca4], Weight: 1, Resize Mode: Crop and Resize, Low Vram: False, Processor Res: 512, Threshold A: 100, Threshold B: 200, Guidance Start: 0, Guidance End: 1, Pixel Perfect: False, Control Mode: Balanced, Hr Option: Both, Save Detected Map: True", Refiner: sd_xl_refiner_1.0 [7440042bbd]

左が「元画像」、真ん中が「抽出した線画(Preprocessor)」、右が「抽出した線画にモデル+プロンプトの要素を加えた画像」になります。

sdxl

生成時に画像が乱れる場合は、VAEやRefinerの設定を見直してください。

VAE、Refinerの設定方法は以下の記事で解説しています。

もっと自由な画像生成を

Stable Diffusionを実行する環境で、次のような悩みをお持ちではないでしょうか?

  • 画像生成が遅い
  • 使いたいGPUが使えない
  • GPUメモリ(VRAM)が足りない
  • ランタイムがリセットされる度にデータが消えるため、設定のやり直しが大変
  • 画像データのバックアップが面倒
  • Web UIの起動に時間がかかる
  • コンピューティングユニットの制限がストレス
  • 動作が不安定

制限を気にせず、高速かつ格安に画像生成がしたいなら、GPUクラウドサービス「GPUSOROBAN」がおすすめです。

まとめ

この記事では、Stable Diffusion Web UIにSDXL版 ControlNetをインストールする方法を紹介しました。

SDXL版ControlNetを使うことで、高画質な画像のコントロールがしやすくなります。

Stable DiffusionやControlNetに関する記事を以下のページでまとめていますので、あわせてご覧ください。




MORE INFORMATION

GPUでお困りの方はGPUSOROBANで解決!
お気軽にご相談ください

今すぐ使う
詳しい資料はこちら
質問・相談はこちら