【Stable Diffusion Web UI】SDXL版ControlNetの使い方
ControlNetはStable Diffusion WebUIの拡張機能の一つで、生成する画像をコントロールすることができます。
この記事ではStable Diffusion WebUIで、SDXL版ContorlNetの使い方を紹介しています。
目次[非表示]
Stable Diffusionとは
Stable Diffusionは、無料で使える画像生成AIです。テキストを打ち込むと、それに応じた画像が生成されるしくみです。人物や動物、風景など、さまざまな画像を生成できます。
例えば、「サングラスをかけた猫」と入力するとそのような画像が生成されます。生成する画像のスタイルも多様でイラストや写真、水彩画やアニメ調など、自分の好きなテーマでAIに生成してもらうことができます。
Stable Diffusion Web UI(AUTOMATIC1111版・Forge版)とは
Stable Diffusion Web UI(AUTOMATIC1111版・Forge版)ブラウザを通じて手軽に画像生成を行える無料のWEBアプリケーションで、Google Chromeなどの主要なブラウザで利用できます。
プログラミングを一切必要とせず、WEB UIによる簡単なグラフィカルな操作が可能です。Stable Diffusion Web UIをローカルPCにインストールして使用する、もしくはクラウドサーバーにインストールして使用します。
Stable Diffusion Web UIに関する全般的な使い方については、以下の記事でまとめていますので、あわせてご覧ください。
ContorlNetとは
ControlNetはStable Diffusionの拡張機能の一つで、キャラクターのポーズや輪郭を参考画像から指定できる機能です。
プロンプトによる指定では、思っていたポーズと違う画像が生成されることもあります。
ControlNetの拡張機能を使うことで、参考画像のポーズと類似した画像を生成することができます。
写真やイラスト、手書きの絵からポーズや輪郭を型取りして、指定できるため、かなり厳密に参考画像のポーズを再現することが可能です。
高画質な画像生成が可能なStable Diffusion XL(SDXL)でもControlNetが利用可能ですので、使い方を解説していきます。
SDXL版ControlNetをインストールする方法
SDXL版ControlNetを使用するには、Stable Diffusion Web UIのバージョンをv1.6.0以上にアップデートする必要があります。
すでにバージョンがv1.6.0以上の場合は、アップデートする必要はありません。
バージョンは Stable Diffusion WebUIのフッターで確認できます。
Stable Diffusion WebUIをアップデートする方法は以下の記事で解説しています。
SDXLのモデル・VAEの設定
SDXL版ControlNetを利用するには、SDXL対応のモデルやVAEが必要になります。
SDXLの設定方法は以下の記事で解説しています。
ControlNetのインストール
ControlNetのバージョンがv1.1.4 以上の場合、SDXLに対応しています。
ControlNetの最新版はv1.1.4以上になりますので、通常のインストール方法でSDXLに対応します。
ControlNetのインストール方法は以下の通りです。
- Stable Diffusion WebUIの[Extensions]タブを開きます。
- [Install from URL]タブを開きます。
- [URL for extension’s git repository]にControlNetをインストールするURLを入力します。(https://github.com/Mikubill/sd-webui-controlnet.git)
- [Install]をクリックし、インストールを開始します。
- [Installed]タブを開きます。
- 拡張機能がインストールされたことを確認します。
- [Apply and restart UI]ボタンをクリックし、Web UIに変更を反映させます。
更新が完了したら、[txt2img]タブから[ControlNet v****]が表示されていることを確認します。
SDXL版ControlNetモデルの設定
ControlNetを利用するためには、前述のControlNetのインストールに加えて、ControlNet専用のモデルをダウンロードする必要があります。
ダウンロードするControlNetのモデルは約30ファイルほど存在します。
一括でモデルをダウンロードする方法と1つずつダウンロードする方法の2通りを紹介します。
1つずつを手動でダウンロードすることは、手間がかかりますので、一括ダウンロードをオススメしています。
一括でモデルをダウンロードする方法
ターミナルで次のコマンドを実行します。
ターミナルからPythonを起動します。
Pythonで次のコマンドを実行します。
Pythonで次のコマンドを実行します。
[Ctrl] + [D]キーでPythonインタラクティブモードから抜けます。
次のコマンドを実行し、ダウンロードしたモデルが所定のフォルダに格納されているか確認します。
1つずつモデルをダウンロードする方法
1つずつを手動でダウンロードする方法を解説します。
こちらのHugging Faceのページにアクセスしてください。
図に表示されている拡張子safetensorsの複数のファイルがControlNet専用のモデルになります
[ダウンロード]アイコンをクリックして、モデルファイルを1つずつダウンロードしていきます。
ダウンロードしたモデルファイルを[stable-diffusion-webui] > [models] > [ControlNet]のディレクトリに格納します。
ContorlNet Cannyとは
この記事ではContorlNetのCannyというモデルを使用して画像を生成します。
Cannyは元画像から線画を抽出して、人物の髪や目などの色を自由に変えることができるモデルです。
これによって同じ形をした人物で様々な色合いや画風の画像を生成することができます。
事前準備
事前にCannyに使用する元画像を用意してください。
Stable Diffusionで生成した画像でもよいですし、外部から用意した画像でも構いません。
また元画像は写真、アニメ風、手書きなど制限はありませんが、線画を抽出するので輪郭がはっきりした画像のほうが望ましいです。
ContorlNet Cannyの設定
Stable Diffusion Web UIを起動します。
- [txt2image]の[ControlNetv1.14****]の[◀]ボタンをクリックします。
※Forge版の場合は、[ControlNet Integrated◀]ボタンをクリックします。 - [Sigle Image]の[ここに画像をドロップまたはクリックしてアップロード]に元画像をドラッグ&ドロップでアップロードします。
- [Enable]にチェックを入れます。
- [Control Type]で[Canny]を選択します。
- [Preprocessor]のプルダウンメニューから[Canny]を選択します。
- [Model]の[更新]アイコンをクリックします。
- [Model]のプルダウンメニューから[diffusers_xl_canny_full]を選択します。
- 特徴を抽出する[💥]のアイコンをクリックします。
モデルをセットして、[Prompt]にテキストを入力し、[Generate]をクリックします。
元画像の線画を維持したまま、SDXLの高画質画像が生成できました。
使用したプロンプト、生成パラメータは以下のとおりです。
左が「元画像」、真ん中が「抽出した線画(Preprocessor)」、右が「抽出した線画にモデル+プロンプトの要素を加えた画像」になります。
生成時に画像が乱れる場合は、VAEやRefinerの設定を見直してください。
VAE、Refinerの設定方法は以下の記事で解説しています。
もっと自由な画像生成を
Stable Diffusionを実行する環境で、次のような悩みをお持ちではないでしょうか?
- 画像生成が遅い
- 使いたいGPUが使えない
- GPUメモリ(VRAM)が足りない
- ランタイムがリセットされる度にデータが消えるため、設定のやり直しが大変
- 画像データのバックアップが面倒
- Web UIの起動に時間がかかる
- コンピューティングユニットの制限がストレス
- 動作が不安定
制限を気にせず、高速かつ格安に画像生成がしたいなら、GPUクラウドサービス「GPUSOROBAN」がおすすめです。
まとめ
この記事では、Stable Diffusion Web UIにSDXL版 ControlNetをインストールする方法を紹介しました。
SDXL版ControlNetを使うことで、高画質な画像のコントロールがしやすくなります。
Stable DiffusionやControlNetに関する記事を以下のページでまとめていますので、あわせてご覧ください。