今回はAUTOMATIC1111の機能を拡張する、ControlNetのインストールする方法を解説します。ControlNetを使用することで、Stable Diffusionで生成するイラストの自由度が大幅に上がりますので、ぜひ活用してみてください。
また、当ブログのStable Diffusionに関する記事を以下のページでまとめていますので、あわせてご覧ください。

Stable Diffusionとは
Stable Diffusion(ステーブル・ディフュージョン)は2022年8月に無償公開された描画AIです。ユーザーがテキストでキーワードを指定することで、それに応じた画像が自動生成される仕組みとなっています。
NVIDIAのGPUを搭載していれば、ユーザ自身でStable Diffusionをインストールし、ローカル環境で実行することも可能です。
(出典:wikipedia)
ControlNetとは
ControlNetは深度計測や骨格検出などのアルゴリズムを使って、AIで生成する画像の構図を細かく指示することができるツールです。ControlNetをAUTOMATIC1111に組み込むアドオンが公開されたため、Stable Diffusionを使ったが画像生成でも簡単に使用できるようになりました。
このControlNetを使用することで、これまで呪文(プロンプト)とガチャ要素に頼っていたキャラクターのポーズを、自在にコントロールできるようになりました。
ControlNetの入手先
ControlNetの公式リポジトリは以下となります。

モデルの種類
ControlNetを使用する際、画像から生成に必要な情報を抽出するためのモデルが必要になります。モデルは2023/2現在、以下の8種類が用意されています。
モデル名 | 機能 |
---|---|
canny | エッジ検出、被写体の輪郭を検出します。 |
depth | 画像の深度を推定します。 |
hed | Deep Leraningで線画抽出します。(HEDエッジ検出) |
mlsd | 画像のワイヤーフレームを検出します。(M-LSDライン検出) |
normal | 法線マップ(Normal Maps)使用します。 |
openpose | ポーズ検出を使用します。 |
scribble | 落書きを使用します。 |
seg | セマンティックセグメンテーションを使用します。 |
モデルは以下のページからダウンロードできます。
ControlNetのインストール
ここからは、ローカル環境とGoogle Colabそれぞれのインストール手順を解説していきます。
ローカル環境
AUTOMATIC1111を起動したら「Extensions」タブをクリックします。

「Install from URL」タブ①をクリックし、「URL for extension’s git repository」②に以下のURLを入力します。
https://github.com/Mikubill/sd-webui-controlnet.git
URLの入力が完了したら「Install」をクリックします。

「Install」ボタンの下にメッセージが表示されたら完了です。(少し時間がかかる場合があります)

「Installed」タブの「Apply and restart UI」をクリックしてUIをリロードします。

これでローカルPCでのインストールは完了です。
Google Colab
Google Colabで使用する場合は、AUTOMATIC1111を実行するjyupte Notebookに以下の処理を追加します。
ControlNet本体のインストール
Google ColabでControlNet本体を配置するディレクトリは以下となります。
このディレクトリにカレントディレクトリを変更したら、githubからリポジトリをダウンロードします。
#ControlNet本体をインストール
%cd /content/stable-diffusion-webui/extensions/
!git clone https://github.com/Mikubill/sd-webui-controlnet
%cd /content/stable-diffusion-webui
モデルのダウンロード
Google Colabでモデルを配置するディレクトリは以下となります。
Google Driveに保存しておいて起動前にコピーしても良いのですが、各モデルのサイズがかなり大きいため先ほど紹介したhuggingfaceの公式ページから、wgetコマンドで直接ダウンロードする方法をとりました。
#ControlNetで使用するモデルをダウンロード
%cd /content/stable-diffusion-webui/extensions/sd-webui-controlnet/models/
!wget https://huggingface.co/webui/ControlNet-modules-safetensors/resolve/main/control_canny-fp16.safetensors
!wget https://huggingface.co/webui/ControlNet-modules-safetensors/resolve/main/control_depth-fp16.safetensors
!wget https://huggingface.co/webui/ControlNet-modules-safetensors/resolve/main/control_hed-fp16.safetensors
!wget https://huggingface.co/webui/ControlNet-modules-safetensors/resolve/main/control_mlsd-fp16.safetensors
!wget https://huggingface.co/webui/ControlNet-modules-safetensors/resolve/main/control_normal-fp16.safetensors
!wget https://huggingface.co/webui/ControlNet-modules-safetensors/resolve/main/control_openpose-fp16.safetensors
!wget https://huggingface.co/webui/ControlNet-modules-safetensors/resolve/main/control_scribble-fp16.safetensors
!wget https://huggingface.co/webui/ControlNet-modules-safetensors/resolve/main/control_seg-fp16.safetensors
%cd /content/stable-diffusion-webui
毎回全てのモデルをダウンロードする必要はありませんので、その時に使いたいモデル以外の行はコメントアウトしても問題ありません。
「maintained by Akaibu」での実装例
AUTOMATIC1111の公式で公開されている「maintained by Akaibu」のjyuptenotebook「StableDiffusionUI-Voldemort V1.3.ipynb」を例に説明します。「maintained by Akaibu」の使い他については以下の記事で解説しています。

「StableDiffusionUI-Voldemort V1.3.ipynb」の③と④のセルの間に、ControlNetをインストールするセルを追加します。

赤枠のセルが追加したControlNetのインストール処理になります。

モデルのダウンロードは使用するもの以外はコメントアウトした方が早く終わります。
#ControlNet本体をインストール
%cd /content/stable-diffusion-webui/extensions/
!git clone https://github.com/Mikubill/sd-webui-controlnet
#ControlNetで使用するモデルをダウンロード
%cd /content/stable-diffusion-webui/extensions/sd-webui-controlnet/models/
!wget https://huggingface.co/webui/ControlNet-modules-safetensors/resolve/main/control_canny-fp16.safetensors
!wget https://huggingface.co/webui/ControlNet-modules-safetensors/resolve/main/control_depth-fp16.safetensors
!wget https://huggingface.co/webui/ControlNet-modules-safetensors/resolve/main/control_hed-fp16.safetensors
!wget https://huggingface.co/webui/ControlNet-modules-safetensors/resolve/main/control_mlsd-fp16.safetensors
!wget https://huggingface.co/webui/ControlNet-modules-safetensors/resolve/main/control_normal-fp16.safetensors
!wget https://huggingface.co/webui/ControlNet-modules-safetensors/resolve/main/control_openpose-fp16.safetensors
!wget https://huggingface.co/webui/ControlNet-modules-safetensors/resolve/main/control_scribble-fp16.safetensors
!wget https://huggingface.co/webui/ControlNet-modules-safetensors/resolve/main/control_seg-fp16.safetensors
%cd /content/stable-diffusion-webui
ControlNetをインストールするセルを追加したら、全てのセルを実行すればControlNetが使用な状態になります。
動作確認
動作確認のためAUTOMATIC1111のUIを起動します。
起動すると「Seed」の入力欄の下に「ControlNet」の項目が追加されています。

「◀」ボタンをクリックすと、以下のようにControlNetのUIが展開されます。

今回は例としてOpenOpseのモデルをダウンロードしましたので、「Preprocessor」の項目を「openpose」を選択し、隣の「model」のドロップダウンリストをクリックすると、ダウンロードしたモデルのファイル名が選択できるようになりました。

ControlNetが正常に動作していることが確認できました。
ControlNetで使用するポーズデータを作成する
ControlNetのセットアップが完了したら、実際にControlNetでキャラクターにポーズをとらせるためのデータを作成します。
デザインドールで作成する
ポーズデータの作成には、無料で使えるデザインドール(DESIGN DOLL)というツールを使用します。
デザインドールのインストールと使い方を以下の記事で解説していますので、事前にポーズデータを作成しておいてください。

Openpose Editorで作成する
Openpose EditorというAUTOMATIC1111のUIを拡張するツールが公開されました。
Openpose Editorを使用することで、外部ツールを使うことなくAUTOMATIC1111のUI内でポーズデータを作成することができるようになりました。
Openpose Editorのインストール方法と使い方は、以下のページで解説しています。

デザインドールのデータを元にControlNetでポーズを指定して画像生成する
デザインドールでポーズデータを生成したら、そのデータをControlNetで読み込んで画像生成を行います。
ControlNetでデータを読み込む手順を以下のページで解説しています。

Stable Diffusionのローカル環境
Stable Diffusionを使用する際にGoogle ColaboratoryやWebサービスを利用されている方も多いかと思います。しかし、最近Google Colabの無料での使用範囲が大きく制限されたり、Webサービスでは月額費用がかかったりします。
欲しいイラストを生成するにはかなりの回数をトライする必要があるため、これらの制約に縛られることなく使用できるローカル環境を構築するのがおすすめです。
ローカルのPCに搭載するグラフィックボード
ローカルマシンで実行する上で重要になってくるのがグラフィックボードです。
Stable Diffusionでイラストを生成するために実行される推論処理を、グラフィックボード上のGPUを使って大幅に高速化することができます。
トライする回数が増えれば品質の高いイラストが生成される可能性が上がりますので、グラフィックボードは重要です。Stable Diffusionで使用するためのGPUは2022年に新たにNVIDIAから発売されたRTX4000シリーズのGPUとVRAM12GB以上のものがおすすめです。最近は半導体不足も一服したこともあり、新しい製品ながら価格が下がりつつあります。
エントリーモデルのGPU
予算を安く抑えたい方向けにはRTX4070を搭載したグラフィックボードがおすすめです。
予算に余裕がある方向け ミドル~ハイエンド
予算に余裕がある方向けにおすすめのRTX 4080、ビデオメモリ16GB以上搭載のモデルです。
大サイズの画像を高速に生成したい方向けのハイエンドGPU、RTX 4090 ビデオメモリ24GB搭載モデルです。
予算とパフォーマンスに合わせて選んでみてください。
画像生成AIについて学ぶ
動画学習プラットフォームUdemyでは、画像生成AIで高品質なイラストを生成する方法や、AIの内部で使われているアルゴリズムについて学べる講座が用意されています。
Udemyは講座単体で購入できるため安価で(セール時1500円くらいから購入できます)、PCが無くてもスマホでいつでもどこでも手軽に学習できます。
画像生成AIの使い方を学ぶ
Stable DiffusionやMidjourneyの使い方や活用方法を勉強したい方には、以下の講座がおすすめです。

画像生成AIの仕組みを学ぶ
画像生成AIの仕組みについて学びたい方には、以下の講座がおすすめです。
画像生成AIで使用される変分オートエンコーダやGANのアーキテクチャを理解することで、よりクオリティの高いイラストを生成することができます。

UdemyのStable Diffusionなど、AIアート関連の講座は海外のものも多いですが、ブラウザのリアルタイム翻訳機能を使うことで日本語字幕付きで視聴できます。
Udemyの海外講座の字幕を日本語化する方法
まとめ
今回はStable Diffusion生成するイラストの構図をコントロールできるControlNetのインストール方法について解説しました。次回は実際にControlNetを使って画像を生成する手順を解説する予定です。
また、以下の記事で効率的にPythonのプログラミングスキルを学べるプログラミングスクールの選び方について解説しています。最近ではほとんどのスクールがオンラインで授業を受けられるようになり、仕事をしながらでも自宅で自分のペースで学習できるようになりました。
スキルアップや副業にぜひ活用してみてください。

スクールではなく、自分でPythonを習得したい方には、いつでもどこでも学べる動画学習プラットフォームのUdemyがおすすめです。
講座単位で購入できるため、スクールに比べ非常に安価(セール時1200円程度~)に学ぶことができます。私も受講しているおすすめの講座を以下の記事でまとめていますので、ぜひ参考にしてみてください。

それでは、また次の記事でお会いしましょう。