【StableDiffusion】AUTOMATIC1111にControlNetを導入する

StableDiffusion
記事内に広告が含まれています。

構図を自由に指定できることで話題になった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が追加されているので、ここに画像をドロップに元にしたい画像を入れ、

PreprocessorModelを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時点)

コメント

タイトルとURLをコピーしました