ControlNetを使うと、Stable Diffusionで、ポーズや構図を指定して作成可能ということで早速使ってみます。
sd-webui-controlnetをインストールする
通常通り、「Stable Diffusion Web UI」を起動します。
起動したら、拡張のタブを表示し、Intall from URLを選択します。
![ControlNetを使ってみる](https://res.cloudinary.com/dz7ruywxa/images/f_auto,q_auto/v1684238908/5fedbd12e265b67a24a455e648047493/5fedbd12e265b67a24a455e648047493.png?_i=AA 1914w, https://res.cloudinary.com/dz7ruywxa/images/w_300,h_123,c_scale/f_auto,q_auto/v1684238908/5fedbd12e265b67a24a455e648047493/5fedbd12e265b67a24a455e648047493.png?_i=AA 300w, https://res.cloudinary.com/dz7ruywxa/images/w_1024,h_421,c_scale/f_auto,q_auto/v1684238908/5fedbd12e265b67a24a455e648047493/5fedbd12e265b67a24a455e648047493.png?_i=AA 1024w, https://res.cloudinary.com/dz7ruywxa/images/w_768,h_315,c_scale/f_auto,q_auto/v1684238908/5fedbd12e265b67a24a455e648047493/5fedbd12e265b67a24a455e648047493.png?_i=AA 768w, https://res.cloudinary.com/dz7ruywxa/images/w_1536,h_631,c_scale/f_auto,q_auto/v1684238908/5fedbd12e265b67a24a455e648047493/5fedbd12e265b67a24a455e648047493.png?_i=AA 1536w)
URL欄に、「https://github.com/Mikubill/sd-webui-controlnet」を入力して、インストールします。
インストールが完了すると、以下が表示されます。
![ControlNetを使ってみる](https://res.cloudinary.com/dz7ruywxa/images/f_auto,q_auto/v1684239139/f90f525281590841c2071962cda3575d/f90f525281590841c2071962cda3575d.png?_i=AA 1282w, https://res.cloudinary.com/dz7ruywxa/images/w_300,h_42,c_scale/f_auto,q_auto/v1684239139/f90f525281590841c2071962cda3575d/f90f525281590841c2071962cda3575d.png?_i=AA 300w, https://res.cloudinary.com/dz7ruywxa/images/w_1024,h_144,c_scale/f_auto,q_auto/v1684239139/f90f525281590841c2071962cda3575d/f90f525281590841c2071962cda3575d.png?_i=AA 1024w, https://res.cloudinary.com/dz7ruywxa/images/w_768,h_108,c_scale/f_auto,q_auto/v1684239139/f90f525281590841c2071962cda3575d/f90f525281590841c2071962cda3575d.png?_i=AA 768w)
Installedタブに遷移すると、「sd-webui-controlnet」が表示されているのを確認して、「Apply and restart UI」を実行します。
![ControlNetを使ってみる](https://res.cloudinary.com/dz7ruywxa/images/f_auto,q_auto/v1684239221/debb1f0d5826607176b405ad9125ebe6/debb1f0d5826607176b405ad9125ebe6.png?_i=AA 1000w, https://res.cloudinary.com/dz7ruywxa/images/w_300,h_107,c_scale/f_auto,q_auto/v1684239221/debb1f0d5826607176b405ad9125ebe6/debb1f0d5826607176b405ad9125ebe6.png?_i=AA 300w, https://res.cloudinary.com/dz7ruywxa/images/w_768,h_275,c_scale/f_auto,q_auto/v1684239221/debb1f0d5826607176b405ad9125ebe6/debb1f0d5826607176b405ad9125ebe6.png?_i=AA 768w)
再起動したら、URLが変わるので、ColaboratoryのタブにURLが表示されているので、そちらを開きます。
「txt2img」のタブに以下のように「ControlNet」が表示されていればOKです。
![ControlNetを使ってみる](https://res.cloudinary.com/dz7ruywxa/images/f_auto,q_auto/v1684239497/44660f48ce55b2915119da67e783dcad/44660f48ce55b2915119da67e783dcad.png?_i=AA 1404w, https://res.cloudinary.com/dz7ruywxa/images/w_300,h_163,c_scale/f_auto,q_auto/v1684239497/44660f48ce55b2915119da67e783dcad/44660f48ce55b2915119da67e783dcad.png?_i=AA 300w, https://res.cloudinary.com/dz7ruywxa/images/w_1024,h_556,c_scale/f_auto,q_auto/v1684239497/44660f48ce55b2915119da67e783dcad/44660f48ce55b2915119da67e783dcad.png?_i=AA 1024w, https://res.cloudinary.com/dz7ruywxa/images/w_768,h_417,c_scale/f_auto,q_auto/v1684239497/44660f48ce55b2915119da67e783dcad/44660f48ce55b2915119da67e783dcad.png?_i=AA 768w)
ControlNetのモデルデータをダウンロードする
以下のURLから、「control_openpose-fp16.safetensors」をローカルにDLします。
![ControlNetを使ってみる](https://res.cloudinary.com/dz7ruywxa/images/f_auto,q_auto/v1684239850/d3e8045fe849afa5f18cf2e26966d35d/d3e8045fe849afa5f18cf2e26966d35d.png?_i=AA 1000w, https://res.cloudinary.com/dz7ruywxa/images/w_300,h_69,c_scale/f_auto,q_auto/v1684239850/d3e8045fe849afa5f18cf2e26966d35d/d3e8045fe849afa5f18cf2e26966d35d.png?_i=AA 300w, https://res.cloudinary.com/dz7ruywxa/images/w_768,h_176,c_scale/f_auto,q_auto/v1684239850/d3e8045fe849afa5f18cf2e26966d35d/d3e8045fe849afa5f18cf2e26966d35d.png?_i=AA 768w)
Colaboratoryのウィンドウを開き、ファイル情報を開き、「extensions」「sd-webui-controlnet」「model」とたどります。
![ControlNetを使ってみる](https://res.cloudinary.com/dz7ruywxa/images/f_auto,q_auto/v1684240011/9c2faf33ee4d3746232f13ca883bb181/9c2faf33ee4d3746232f13ca883bb181.png?_i=AA 644w, https://res.cloudinary.com/dz7ruywxa/images/w_167,h_300,c_scale/f_auto,q_auto/v1684240011/9c2faf33ee4d3746232f13ca883bb181/9c2faf33ee4d3746232f13ca883bb181.png?_i=AA 167w, https://res.cloudinary.com/dz7ruywxa/images/w_570,h_1024,c_scale/f_auto,q_auto/v1684240011/9c2faf33ee4d3746232f13ca883bb181/9c2faf33ee4d3746232f13ca883bb181.png?_i=AA 570w)
ここに、DLしたファイルをアップロードします。
![ControlNetを使ってみる](https://res.cloudinary.com/dz7ruywxa/images/f_auto,q_auto/v1684240134/a55652dccffeb2c16d5f88c82b9d112e/a55652dccffeb2c16d5f88c82b9d112e.png?_i=AA 756w, https://res.cloudinary.com/dz7ruywxa/images/w_251,h_300,c_scale/f_auto,q_auto/v1684240134/a55652dccffeb2c16d5f88c82b9d112e/a55652dccffeb2c16d5f88c82b9d112e.png?_i=AA 251w)
![ControlNetを使ってみる](https://res.cloudinary.com/dz7ruywxa/images/f_auto,q_auto/v1684240255/8e9b3dadabae003a27cbc1e35f908868/8e9b3dadabae003a27cbc1e35f908868.png?_i=AA 746w, https://res.cloudinary.com/dz7ruywxa/images/w_300,h_97,c_scale/f_auto,q_auto/v1684240255/8e9b3dadabae003a27cbc1e35f908868/8e9b3dadabae003a27cbc1e35f908868.png?_i=AA 300w)
画像を生成してみる
「txt2img」タブの最下部に、「ControlNet」があるのでクリックして表示します。
![ControlNetを使ってみる](https://res.cloudinary.com/dz7ruywxa/images/f_auto,q_auto/v1684240629/7394e93fb03d69aec95ee03ad600d065/7394e93fb03d69aec95ee03ad600d065.png?_i=AA 1350w, https://res.cloudinary.com/dz7ruywxa/images/w_258,h_300,c_scale/f_auto,q_auto/v1684240629/7394e93fb03d69aec95ee03ad600d065/7394e93fb03d69aec95ee03ad600d065.png?_i=AA 258w, https://res.cloudinary.com/dz7ruywxa/images/w_881,h_1024,c_scale/f_auto,q_auto/v1684240629/7394e93fb03d69aec95ee03ad600d065/7394e93fb03d69aec95ee03ad600d065.png?_i=AA 881w, https://res.cloudinary.com/dz7ruywxa/images/w_768,h_893,c_scale/f_auto,q_auto/v1684240629/7394e93fb03d69aec95ee03ad600d065/7394e93fb03d69aec95ee03ad600d065.png?_i=AA 768w, https://res.cloudinary.com/dz7ruywxa/images/w_1321,h_1536,c_scale/f_auto,q_auto/v1684240629/7394e93fb03d69aec95ee03ad600d065/7394e93fb03d69aec95ee03ad600d065.png?_i=AA 1321w)
「Enable」にチェックを入れ、Preprocessorの行の更新ボタンを押してモデルを更新します。
Preprocessorは、openposeを選択して、Modelは、control_openpose-fp16にします。
ポーズの画像を上部にアップロードします。
この状態で通常通り、画像の生成を行います。
![ControlNetを使ってみる](https://res.cloudinary.com/dz7ruywxa/images/f_auto,q_auto/v1684241537/21332cd724c7fe3ff1a184dfa245235a/21332cd724c7fe3ff1a184dfa245235a.png?_i=AA 1180w, https://res.cloudinary.com/dz7ruywxa/images/w_300,h_108,c_scale/f_auto,q_auto/v1684241537/21332cd724c7fe3ff1a184dfa245235a/21332cd724c7fe3ff1a184dfa245235a.png?_i=AA 300w, https://res.cloudinary.com/dz7ruywxa/images/w_1024,h_370,c_scale/f_auto,q_auto/v1684241537/21332cd724c7fe3ff1a184dfa245235a/21332cd724c7fe3ff1a184dfa245235a.png?_i=AA 1024w, https://res.cloudinary.com/dz7ruywxa/images/w_768,h_277,c_scale/f_auto,q_auto/v1684241537/21332cd724c7fe3ff1a184dfa245235a/21332cd724c7fe3ff1a184dfa245235a.png?_i=AA 768w)
なぜかポーズが反映されていません。
Colaboratoryのウィンドウを見ると、以下のエラーがでていました。
Loading model: control_openpose-fp16 [9ca67cc5]
Error running process: /content/stable-diffusion-webui/extensions/sd-webui-controlnet/scripts/controlnet.py
ググると以下のページがでてきました。
何を対処したのか不明です。
ノートブックを新規作成から作り直してみました。
openposeのモデルは、一旦、Web UIを停止して、Colaboratoryから実行しました。
!wget https://huggingface.co/webui/ControlNet-modules-safetensors/resolve/main/control_openpose-fp16.safetensors -O /content/stable-diffusion-webui/extensions/sd-webui-controlnet/models/control_openpose-fp16.safetensors
上記実行後に、Web UIを起動しました。
!python launch.py --share --xformers --enable-insecure-extension-access
再度、modelを指定して画像を作成してみたら動作しました。
modelを自分でDLして、アップロードしたから動かなかったのでしょうか。
動作するようになりましたが、以下のエラーが出るようになりました。
Solution: Please download YAML file, or ask your model provider to provide [/content/stable-diffusion-webui/extensions/sd-webui-controlnet/models/control_openpose-fp16.yaml] for you to download.
Hint: You can take a look at [/content/stable-diffusion-webui/extensions/sd-webui-controlnet/models] to find many existing YAML files.
以下のように、生成された画像とポーズが表示されるようになりました。
![ControlNetを使ってみる](https://res.cloudinary.com/dz7ruywxa/images/f_auto,q_auto/v1684246343/33bf75b4160fa53e1581ffa7aaa5eae7/33bf75b4160fa53e1581ffa7aaa5eae7.jpg?_i=AA 612w, https://res.cloudinary.com/dz7ruywxa/images/w_205,h_300,c_scale/f_auto,q_auto/v1684246343/33bf75b4160fa53e1581ffa7aaa5eae7/33bf75b4160fa53e1581ffa7aaa5eae7.jpg?_i=AA 205w)
![ControlNetを使ってみる](https://res.cloudinary.com/dz7ruywxa/images/f_auto,q_auto/v1684246354/8407cff5f7335a777bd3da062f4616b2/8407cff5f7335a777bd3da062f4616b2.png?_i=AA 668w, https://res.cloudinary.com/dz7ruywxa/images/w_223,h_300,c_scale/f_auto,q_auto/v1684246354/8407cff5f7335a777bd3da062f4616b2/8407cff5f7335a777bd3da062f4616b2.png?_i=AA 223w)
まとめ
Google Colaboratoryで以下をDLする。
!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
%cd /content/stable-diffusion-webui
civitaiのヘルパーをインストールする。
%cd /content/stable-diffusion-webui/extensions/
!git clone https://github.com/butaixianran/Stable-Diffusion-Webui-Civitai-Helper /content/stable-diffusion-webui/extensions/Stable-Diffusion-Webui-Civitai-Helper
%cd /content/stable-diffusion-webui
Stable Diffusion Web UIを起動する。
!python launch.py --share --xformers --enable-insecure-extension-access
stable-diffusion-webuiが起動したら、ControlNetを拡張タブからDLしUIを再起動する。
https://github.com/Mikubill/sd-webui-controlnet
一旦、webuiを落として、以下の2つをDLする。
!wget https://huggingface.co/webui/ControlNet-modules-safetensors/resolve/main/control_openpose-fp16.safetensors -O /content/stable-diffusion-webui/extensions/sd-webui-controlnet/models/control_openpose-fp16.safetensors
!wget https://huggingface.co/webui/ControlNet-modules-safetensors/blob/main/control_scribble-fp16.safetensors -O /content/stable-diffusion-webui/extensions/sd-webui-controlnet/models/control_scribble-fp16.safetensors
再度、webuiを起動する。
!python launch.py --share --xformers --enable-insecure-extension-access
上記でエラーになったため、以下にオプションを変えています。
!python launch.py --share --enable-insecure-extension-access --disable-safe-unpickle
ControlNetの設定で、Multi ControlNet: Max models amount (requires restart)を2にする。
![ControlNetを使ってみる](https://res.cloudinary.com/dz7ruywxa/images/f_auto,q_auto/v1684625148/68e13ad07d88ff160416e327b6002894/68e13ad07d88ff160416e327b6002894.png?_i=AA 1000w, https://res.cloudinary.com/dz7ruywxa/images/w_300,h_76,c_scale/f_auto,q_auto/v1684625148/68e13ad07d88ff160416e327b6002894/68e13ad07d88ff160416e327b6002894.png?_i=AA 300w, https://res.cloudinary.com/dz7ruywxa/images/w_768,h_194,c_scale/f_auto,q_auto/v1684625148/68e13ad07d88ff160416e327b6002894/68e13ad07d88ff160416e327b6002894.png?_i=AA 768w)
Apply Settingsを押して、Reload UIをします。
![ControlNetを使ってみる](https://res.cloudinary.com/dz7ruywxa/images/f_auto,q_auto/v1684625816/8fb9645a628b77348d39c55947877fab/8fb9645a628b77348d39c55947877fab.png?_i=AA 1000w, https://res.cloudinary.com/dz7ruywxa/images/w_300,h_76,c_scale/f_auto,q_auto/v1684625816/8fb9645a628b77348d39c55947877fab/8fb9645a628b77348d39c55947877fab.png?_i=AA 300w, https://res.cloudinary.com/dz7ruywxa/images/w_768,h_194,c_scale/f_auto,q_auto/v1684625816/8fb9645a628b77348d39c55947877fab/8fb9645a628b77348d39c55947877fab.png?_i=AA 768w)