この記事では,Stable Diffusion WebUI (AUTOMATIC1111)でControlNet 1.1の使い方等を示していきます.
ControlNet 1.1とは?
ControlNet 1.1は旧ControlNet(ControlNet 1.0)の改良版です.
V1.0のモデルはすべて含まれており,さらに新しいモデルの追加が行われています.
「そもそもControlNetって何?」という方は,下記記事より,ControlNet 1.0の使い方やインストール方法を参照してください.
ControlNet 1.1は現在研究用途として開発されており,A1111用で使用する場合はControlNetへのマージもしくはsd-webui-controlnetの更新を待機する必要があります.直接公式リリースをA1111で使用することは非推奨となっています.(2023/05/04現在)
現在,ControlNet 1.1はsd-webui-controlnetでβ版を使用可能です.
ControlNet 1.1の新機能について
ControlNet 1.1モデル名称 | ControlNet 1.0モデル名称 | 備考 |
---|---|---|
Depth | Depth | 機能改良 |
Normal | Normal | 機能改良 |
Canny | Canny | 機能改良 |
MLSD | MLSD | 機能改良 |
Scribble | Scribble | 機能改良 |
Soft Edge | HED | 機能を大幅に改良 名前を変更 |
Segmentation | Segmentation | 機能改良 |
Openpose | Openpose | 機能改良 |
Lineart | 新規追加 | |
Anime Lineart | 新規追加 | |
Shuffle | 新規追加 | |
Instruct Pix2Pix | 新規追加 | |
Inpaint | 新規追加 | |
Tile | 新規追加 |
プリプロセッサとの対応表
各モデルごとに対応しているプリプロセッサが異なります.公式サイトをもとに対応しているプリプロセッサを下記にまとめておきます.(Anyはなんでもいいという意味です.)
モデル | プリプロセッサ |
---|---|
Depth | Depth_Midas, Depth_Leres, Depth_Zoe |
Normal | Normal BAE |
Canny | Canny |
MLSD | MLSD |
Scribble | Synthesized scribbles (Scribble_HED, Scribble_PIDI, etc.) or hand-drawn scribbles |
Soft Edge | SoftEdge_PIDI, SoftEdge_PIDI_safe, SoftEdge_HED, SoftEdge_HED_safe |
Segmentation | eg_OFADE20K (Oneformer ADE20K), Seg_OFCOCO (Oneformer COCO), Seg_UFADE20K (Uniformer ADE20K)) or manually created masks |
Openpose | Openpose |
Lineart | Lineart and Lineart_Coarse |
Anime Lineart | アニメ風の線画,Anything V3が推奨されている |
Shuffle | Any |
Instruct Pix2Pix | Any |
Inpaint | Any |
Tile | Any |
ControlNet 1.0からの移行方法
ここでは,ControlNet 1.0を使用している方向けにControlNet 1.1に移行する手順を記載しています.
拡張機能の更新
下記手順で拡張機能を更新します.
- Check for Updatesをクリック
- 更新の確認
- Apply and restart UIをクリック
ControlNetのアップデートに成功した場合,下図のように「ControlNet」→「ControlNet v1.1.xxx」という形に変更されています.
また,preprocessorが次のように増えていることが確認できます.
モデルの更新
下記URLがControlNet 1.1の公式モデルです.V1.0と同様に.pth
と.yaml
ファイルをダウンロードしてください.
https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main
ダウンロードしたファイルをV1.0と同様に/path/to/stable-diffusion-webui/extensions/sd-webui-controlnet/models
に置けば準備完了です.
モデル名の型式仕様
ControlNet 1.0では,下記のような型式名でした.
- control_sd15_canny
- control_sd15_depth
- control_sd15_hed
- control_sd15_mlsd
- control_sd15_normal
- control_sd15_openpose
- control_sd15_scribble
- control_sd15_seg
V1.1にこのような命名では,バージョン仕様がよくわからないという問題が発生しました.ControlNet 1.1下記のような命名規則を適用することになりました.
- control_v11p_sd15_canny
- control_v11p_sd15_mlsd
- control_v11f1p_sd15_depth
- control_v11p_sd15_normalbae
- control_v11p_sd15_seg
- control_v11p_sd15_inpaint
- control_v11p_sd15_lineart
- control_v11p_sd15s2_lineart_anime
- control_v11p_sd15_openpose
- control_v11p_sd15_scribble
- control_v11p_sd15_softedge
- control_v11e_sd15_shuffle
- control_v11e_sd15_ip2p
- control_v11f1e_sd15_tile
このような命名としたことから,ファイルを共存させることが可能になりました.
下記のようにControlNet 1.0とControlNet 1.1を共存できます.
あとはV1.0と同様の使い方で使用可能です.
Stable Diffusion向けのGPU
Stable Diffusion(AUTOMATIC1111)はローカルマシンで演算するのでGPU性能がそれなりに必要です.
家庭用である程度有力なGPUを紹介しておきます.わりとメモリを使うので,それなりに積んでいるGPUがおすすめです.
演算能力よりもメモリ搭載量基準で価格を選ぶと良いと思います.
・長時間使用しなければ十分動作する性能のGPU
・快適に扱えるくらいの高性能GPU
・家庭用としては十分すぎるGPU(贅沢品)
さらに高額なNVIDIA A100やH100とかもありますが,もはや家庭用ではありません…
RTX4090など最新家庭用GPUは高価ですが,VRAM容量に限っていうと実はひと昔前のGPGPU向けGPUがお買い得だったりします.(演算向けなのでグラフィック出力がないので注意です)
GPU搭載のノートPCを購入すれば,
外出先でもAUTOMATIC1111で遊べていろいろ捗りますね(^▽^)