Stable Diffusion web UI + ControlNet + Openpose Editor (WSL + Ubuntu利用)
ブログの引っ越し
当ブログはtakemi.blogに移行しました。
より見やすいControlNet & Openpose Editorの使い方 (WSL+Ubuntu環境)をご利用ください。
作成日時
2023/03/03
概要
ついにポーズまで指定できるようになったと聞いて、自分の環境にも適用しました。
引き続きWSLかつUbuntu環境の方は参考にしてください。
※ Stable Diffusion web UIのインストール方法はこちら
拡張機能のインストール
Stable Diffusion web UIには拡張機能として簡単に機能を追加できる方法があります。
まず、以下を参考にUI経由で「Extensions -> Install from URL」を選択します。
そしたら上側のテキストボックスに
https://github.com/Mikubill/sd-webui-controlnet.git
と入力します。そして入力後にInstallボタンを選択します。
そうするとインストール完了後に以下の文字が出るのでStable Diffusion web UIを再起動。
Installed into /home/user/stable-diffusion-webui/extensions/sd-webui-controlnet. Use Installed tab to restart.
再起動すると、いつもの画面にControlNet
が追加されているはずです。
モデル追加
実際に利用するには対応するモデルが必要になります。モデルには種類があるのですが、そのうち使うだろうし全部落としておきます。
https://huggingface.co/webui/ControlNet-modules-safetensors/tree/main
モデルはmodels/ControlNet
ディレクトリに格納します。
以下は各モデルをダウンロードするコマンドです。ここはUbuntuから操作します。
cd ~/stable-diffusion-webui wget https://huggingface.co/webui/ControlNet-modules-safetensors/resolve/main/control_canny-fp16.safetensors -O ./models/ControlNet/control_canny-fp16.safetensors wget https://huggingface.co/webui/ControlNet-modules-safetensors/resolve/main/control_depth-fp16.safetensors -O ./models/ControlNet/control_depth-fp16.safetensors wget https://huggingface.co/webui/ControlNet-modules-safetensors/resolve/main/control_hed-fp16.safetensors -O ./models/ControlNet/control_hed-fp16.safetensors wget https://huggingface.co/webui/ControlNet-modules-safetensors/resolve/main/control_mlsd-fp16.safetensors -O ./models/ControlNet/control_mlsd-fp16.safetensors wget https://huggingface.co/webui/ControlNet-modules-safetensors/resolve/main/control_normal-fp16.safetensors -O ./models/ControlNet/control_normal-fp16.safetensors wget https://huggingface.co/webui/ControlNet-modules-safetensors/resolve/main/control_openpose-fp16.safetensors -O ./models/ControlNet/control_openpose-fp16.safetensors wget https://huggingface.co/webui/ControlNet-modules-safetensors/resolve/main/control_scribble-fp16.safetensors -O ./models/ControlNet/control_scribble-fp16.safetensors wget https://huggingface.co/webui/ControlNet-modules-safetensors/resolve/main/control_seg-fp16.safetensors -O ./models/ControlNet/control_seg-fp16.safetensors wget https://huggingface.co/webui/ControlNet-modules-safetensors/resolve/main/t2iadapter_keypose-fp16.safetensors -O ./models/ControlNet/t2iadapter_keypose-fp16.safetensors wget https://huggingface.co/webui/ControlNet-modules-safetensors/resolve/main/t2iadapter_seg-fp16.safetensors -O ./models/ControlNet/t2iadapter_seg-fp16.safetensors wget https://huggingface.co/webui/ControlNet-modules-safetensors/resolve/main/t2iadapter_sketch-fp16.safetensors -O ./models/ControlNet/t2iadapter_sketch-fp16.safetensors
利用方法
以下の画像を参考にControlNet
関連の設定を行います。必要な場所に赤枠を付けたので参考にしてください。
※ 利用する画像はポーズが判断できれば何でも大丈夫です。著作権の問題あるので、ここでは画像は載せません。
- Enable: 機能有効
- Preprocessor: 次のModelと同じのを選択
- Model: 利用するModel (canny or openpose 辺りがオススメ)
- Canvas Width: 利用する画像の幅
- Canvas Height: 利用する画像の高
後は通常通りPromptを指定して画像を生成します。
Openpose Editorを機能追加
もっと手軽に利用できるようにOpenpose Editor
をインストールしましょう。これはStable Diffusion web UIを使ってポーズ用の棒人間を作れる拡張機能です。
拡張機能なので先程とインストール方法は同じです。以下のURLを指定してインストールしてください。
https://github.com/fkunn1326/openpose-editor.git
完了すると以下のタブが増えます。右の棒人間を操作してポーズを作ります。
ポーズが出来たら右下(赤枠)のSend to txt2img
or Send to img2img
から画像を指定できます。
その後は先程と同じでPrompt等を指定します。その際にModelはopenpose
を指定。Preprocessorはnone
を指定してください。
これは作成者のリポジトリにControlNetの "Preprocessor" には、何も指定しないようにしてください。
と書かれているためです。
そしてGenerate!
この時にffmpeg
が見つからない的なErrorがでたら以下で解決できます。
sudo apt-get -y install ffmpeg
これが生成した画像です。完璧じゃないけど、指定したポーズに近いとは思う。
おわりに
他にもポーズ指定の方法はあるみたいで、色々試して遊びたい。