構図を自由に指定できることで話題になったControlNetですが、AUTOMATIC1111で使用することができます。
この記事ではAUTOMATIC1111にControlNetを導入する方法について解説します。
AUTOMATIC1111の導入
AUTOMATIC1111の環境構築は終わっている前提で話します。
まだの方は以下の記事を参考にして下さい。
ControlNetモデルのダウンロード
下のリンクからcontrol~で始まるモデルを全てダウンロード。
ダウンロードしたモデルを
stablediffusionのフォルダ\extensions\sd-webui-controlnet\models
に配置します。
ControlNetの導入
WebUIを起動し、Extentionsタブを開きます。
Install from URLに下のURLを入れ、Installをクリック。
https://github.com/Mikubill/sd-webui-controlnet
インストール後、InstalledタブからApply and Restart UIをクリック。
以上でインストール完了です。
ControlNetの使用
例としてopenposeを使用してみます。
txt2imgの下にControlNetが追加されているので、ここに画像をドロップに元にしたい画像を入れ、
PreprocessorとModelをopenposeに設定します。
また、Enableにチェックを入れるのを忘れないようにしましょう。
後は通常通りpromptを入力し、画像を生成します。
上手くいけば元にした画像と同じポーズの画像が生成されます。
エラーの解決法
私の環境でControlNetを実行した時に発生したエラーのまとめです。
FileNotFoundError: [Errno 2] No such file or directory
cldm_v15.yamlが存在するはずなのに
FileNotFoundError: [Errno 2] No such file or directory: (パス省略)\cldm_v15.yaml
のエラーが発生しました。
確認するとyamlファイルの場所が正しく指定出来ていない事が原因でした。
解決法
SettingsからControlNetをクリックし、パスを以下のように変更します。
extensions\sd-webui-controlnet\models\cldm_v15.yaml
extensions\sd-webui-controlnet\models\sketch_adapter_v14.yaml
Apply Settingsで変更を適用します。
RuntimeError: mat1 and mat2 shapes cannot be multiplied
v2.1を使用すると発生するエラーです。v1.5を使用すればエラーは発生しません。
現状のControlNetはv2.1には対応していないようです。(2023/05/02時点)
コメント