1.Stable Diffusion 2.1用のControlNetのセットアップ方法まとめ
・ControlNetは元のモデルがStable Diffusion 1.5を使用していたためStable Diffusion 2.1がベースになっているモデルには流用できなかった
・2.1用のControlNetのトレーニングが別々の方が異なるデータを使ってStable Diffusion 2.1用にトレーニングした結果を公開してくれた
・ControlNetはモデルの格納場所なども変更が発生しており、必要な設定も今後変わる可能性があるがセットアップ方法について解説を書いた
2.Stable Diffusion 2.1用のコントロールネットとは?
2023年4月追記)相変わらずStable Diffusion 1.5ベースですが6モデルを追加したControlNet1.1が公開されています。
ControlNetは元のモデルがStable Diffusion 1.5を使用していたため、Stable Diffusion 1.5がベースになっているモデルには流用できましたが、Stable Diffusion 2.1がベースになっているモデルには流用できませんでした。
Stable Diffusion 1.5がベースになっているモデルを使っている人は現在も多いので、あまり影響を感じていない人が多いようなのですが、Waifu Diffusion 1.5等のStable Diffusion 2.1をベースにしたモデルには使う事ができないので、私はちょっと不便を感じていました。
2.1用のControlNetのトレーニングは、かなり頑張れば出来そうなレベルではあるので、誰もやらないのならばチャレンジしてみたい気持ちもあるけれども、ほぼ確実に先を超されそうなので、そうなったらどうしようとか、うんぬんかんぬん迷っていたら、私の知る限りほぼ同時に2名の方が別々のデータを使ってトレーニングした結果を公開してくださってました。
furusuさん
Waifu Diffusion 1.5向けに、女性が一名描かれている画像を使ってトレーニングしたとの事
※poseモデルは14000枚のumamusume画像を使ってトレーニングをしたとの事なので、走るポーズに相当偏っている可能性があります。
thibaudさん
stablediffusion 2.1のトレーニングに使われたlaion/laion-artを使ってトレーニングしたとの事
って事で、さっそく使ってみました。
Stable Diffusion 2.1用のContolNetのインストール/セットアップ
注意点:設定を変更して色々と試していると、Out of Memoryとメモリ不足エラーになる事が何度かあったので、ControlNetはまだ十分に安定はしていない気がします。
また、モデルの格納場所なども変わっていて、ある程度落ち着いてから丁寧な使い方に関する解説を書こうと思っており、以下暫定版です。※AUTOMATIC1111が最新にアップデートされていないと動かない可能性があります。AUTOMATIC1111のアップデートは運が悪いとトラブルってしまう可能性があるのでバックアップ/もしくは戻す手順を確認してから作業を行ってください。
ControlNet拡張機能のインストール
「Extensions」タブ→「Install from URL」タブ
URL for extension’s git repositoryに以下を記入
「https://github.com/Mikubill/sd-webui-controlnet.git」
INSTALLボタンを押してインストール
モデルのダウンロード
thibaud版
・以下から2.1用のモデル(.safetensors)をダウンロード
「https://huggingface.co/thibaud/controlnet-sd21/tree/main」
どれをダウンロードするべきか迷った場合は以下のモデルカードのページを見てやりたい事をイメージしましょう。
「https://huggingface.co/thibaud/controlnet-sd21」
Cannyは元画像の詳細を捕らえるので、元画像の影響を強く受けますが忠実度を上げる事ができます。
Depthは奥行と輪郭だけなので顔の中身をざっくりと置き換える事ができます、等々
・ダウンロードしたモデルを以下に格納
extensions/sd-webui-controlnet/models
(今後、models/ControlNetに変わる可能性があります)
・設定の変更
上段「Settings」タブ → 左側メニュー「ControlNet」を開く
出てきた場面の一番上の「Config File For Control Net models」の「cldm_v15.yaml」を「cldm_v21.yaml」に変える
「Apply settings」 → 「Reload UI」
furusu版
モデル(.safetensors)に加えてyamlファイルも配布されているため、上記のcldm_v15.yamlの書き換えをダウンロードしたyamlファイルにしてください。後は同様です。
「https://huggingface.co/furusu/ControlNet」
Stable Diffusion 2.1用のContolNetの使い方
txt2img or img2imgタブの下の方にContolNetという表示が出ているはずなので、右側の△を押して展開
最低限、以下を設定
・ポーズの参考にしたい画像をドロップ
・Enableをチェック
・Preprocessorsに自分がダウンロードしたモデルに対応するものを選ぶ
・Modelに自分がダウンロードしたモデルを選ぶ
・モデルが出てこなかったら、右端のリロードを押す
後は通常通りにGenerateを押せば動いてくれるはずです。
そして私がやりたかったこと
WD 1.5はBeta 2でAesthetic版というより綺麗なイラストが描ける版が出ており、カスタムモデルでも以下のように大変綺麗なイラストが描けるようになりました。
そして、ContolNetで取り込みたいポーズはもちろん、これですね。
そして、結果がこれです。
なんでじゃー!
3.Stable Diffusion 2.1用のControlNetのセットアップ方法関連リンク
1)github.com
Mikubill/sd-webui-controlnet
2)huggingface.co
furusu/ControlNet
thibaud/controlnet-sd21