【Stable Diffusion】 ControlNet 1.1の新機能とV 1.0からの移行方法

この記事では,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モデル名称備考
DepthDepth機能改良
NormalNormal機能改良
CannyCanny機能改良
MLSDMLSD機能改良
ScribbleScribble機能改良
Soft EdgeHED機能を大幅に改良
名前を変更
SegmentationSegmentation機能改良
OpenposeOpenpose機能改良
Lineart新規追加
Anime Lineart新規追加
Shuffle新規追加
Instruct Pix2Pix新規追加
Inpaint新規追加
Tile新規追加

プリプロセッサとの対応表

各モデルごとに対応しているプリプロセッサが異なります.公式サイトをもとに対応しているプリプロセッサを下記にまとめておきます.(Anyはなんでもいいという意味です.)

モデルプリプロセッサ
DepthDepth_Midas, Depth_Leres, Depth_Zoe
NormalNormal BAE
CannyCanny
MLSDMLSD
ScribbleSynthesized scribbles (Scribble_HED, Scribble_PIDI, etc.) or hand-drawn scribbles
Soft EdgeSoftEdge_PIDI, SoftEdge_PIDI_safe, SoftEdge_HED, SoftEdge_HED_safe
Segmentationeg_OFADE20K (Oneformer ADE20K), Seg_OFCOCO (Oneformer COCO), Seg_UFADE20K (Uniformer ADE20K)) or manually created masks
OpenposeOpenpose
LineartLineart and Lineart_Coarse
Anime Lineartアニメ風の線画,Anything V3が推奨されている
ShuffleAny
Instruct Pix2PixAny
InpaintAny
TileAny

ControlNet 1.0からの移行方法

ここでは,ControlNet 1.0を使用している方向けにControlNet 1.1に移行する手順を記載しています.

拡張機能の更新

下記手順で拡張機能を更新します.

  1. Check for Updatesをクリック
  2. 更新の確認
  3. 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で遊べていろいろ捗りますね(^▽^)

よかったらシェアしてね!
目次