2023/09/16 # Stable Diffusion web UI + ControlNet + Openpose Editor \(WSL + Ubuntu利用\) ## ブログの引っ越し 当ブログは[takemi.blog](https://takemi.blog/)に移行しました。 より見やすい[ControlNet & Openpose Editorの使い方 (WSL+Ubuntu環境)](https://takemi.blog/c08610315cad48bb8c010c7850d96d3a/)をご利用ください。 ## 作成日時 2023/03/03 ## 概要 ついにポーズまで指定できるようになったと聞いて、自分の環境にも適用しました。 引き続きWSLかつUbuntu環境の方は参考にしてください。 ※ Stable Diffusion web UIのインストール方法は[こちら](/2023/01/30.0109.html) ## 拡張機能のインストール 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から操作します。 ```sh 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がでたら以下で解決できます。 ```sh sudo apt-get -y install ffmpeg ``` これが生成した画像です。完璧じゃないけど、指定したポーズに近いとは思う。  ## おわりに 他にもポーズ指定の方法はあるみたいで、色々試して遊びたい。 ControlNet Openpose Editor Stable Diffusion Ubuntu WSL