🎮
Docker上のStable Diffusion (AUTOMATIC1111)でControlNetを動かす
Stable DiffusionでControlNet
Stable Diffusionで好きな構図の絵が描けると話題の技術です。動かし方は色々なサイトに載っていますが、Docker上のAUTOMATIC1111版Stable Diffusionで使う方法をメモ的に残しておきます。
ControlNetセットアップ方法
Stable Diffusion Docker版セットアップ
Dockerでセットアップした前提です。詳しくは以下参照ください。
ControlNet追加
ExtentionsタブでInstall from URLで以下のアドレスを入力して「Install」をクリックします。
https://github.com/Mikubill/sd-webui-controlnet
続いて、txt2imgにControlNetの機能が追加するため、「Apply and Restart UI」をクリックしてリスタートします。
ControlNetモデル追加
使用するモデルは以下サイトからダウンロードします。
今回はOpenPoseを使うので以下のモデルをダウンロードします。
control_openpose-fp16.safetensors
ダウンロードしたモデルは、Dockerの場合は以下に格納します。ここがDocker版で一番気をつける点です。逆に言えば、後は同じです。
~/stable-diffusion-webui-docker/data/config/auto/extensions/sd-webui-controlnet/models
ControlNetを使う
OpenPoseとダウンロードしたモデルを選択して、Enableにチェックを入れて、Preview anotater resultをクリックすると、以下のようにControlNetが有効になり、プレビューが見られます。
ポーズ素材は、いつもお世話になっているフリー素材「変デジ研究所」のロンスタさんを使用させていただきました。
あとは、いつもと同じように画像を生成すればOKです。
生成画像例
素材
姿勢推定結果
生成画像
まとめ
ControlNetの使い方を書きました。恐ろしいほど簡単ですね。
実はi2iと本質的に何が違うのかとかあんまり分かってないですが、余裕あればコードや論文を追ってみたいと思います(分かるとは言っていない)。
参考
使い方
学習
コード・論文
Discussion