Stable Diffusion WebUI(1111版)で捗る拡張機能6選
実際にほぼ毎日使っている拡張機能のまとめです。
拡張機能をうまく活用することで、画像生成の品質向上、時短に繋がります。
なお、モデルマージやLoRAに関連した拡張機能は省いています。
また、技術的な話もほぼ省略しています。
ローカル環境の導入はこちらにもざっくり記事にしてあります。参考までに。(ぶっちゃけググって一番上に出てきたwikiなり記事を見た方がわかりやすいです。)
拡張機能のインストール方法
以下の画像のURLを入力するところに、この記事の各見出しのリンク先URLを入れることでインストールできます。
1.sd-webui-controlnet
言わずと知れた便利機能。
ざっくり言うと、出力される画像をプロンプトと組み合わせることで、より正確に制御できます。
以下openposeを例にすると、
のプロンプトで生成したものは、例えば以下のようになります。
次に、例えばどうしても「真正面から両手をあげるように」ポーズを取って欲しい時、プロンプトに指定してもなかなか思った通りに出力してくれません。
そこで以下のような棒人間を作ります。(簡単に作れる拡張機能は次の章に掲載しています。)
これを導入したControlNetのモデル領域に貼り付けます。
例のように予め作成されたものを使用する場合、Preprocesserはnoneにします。(使い始めた頃、ここがよくわかってなかった。)
モデルについては予め以下のリンクから入手しておきます。
extensions/sd-webui-controlnet/models
の中に予め入れておきます。
適用して生成させたものが以下です。
かなりお手軽ですね。
注意点として、かなり無茶なポーズを取らせることもできるので、意図せずとんでもないものが出来上がったりします。
なので、既にある画像からポーズだけを抽出して、それを適用させる方法もあります。この場合アニメ画像よりも、リアルな人物から抽出した方が精度が高いです。
最近ではさらに応用させ、実写映像からアニメーションを作れるようなので、この技術、ものすごい可能性を感じます。
openposeのみ例にしましたが、深度情報から生成させたり、ラフなスケッチから生成させる方法もあります。が、自分はまずまず使わないので省略させていただきました。
2.openpose-editor
いわゆる棒人間をWEB UI上で操作できます。
インストールすると、以下のようなタブと画面が追加されます。
このカラフルな棒人間はマウスカーソルでつまんで自由なポーズを取らせることが出来ます。
上の章を例にすると、高さを768にしたのちに「txt2imgに転送」を押して転送させています。
3.sd-dynamic-prompts
これは滅茶苦茶オススメです。
プロンプトの組み合わせを、指定した範囲でランダムに実行してくれます。
シチュエーションを決めた後に、例えば髪型をどうしよう、と悩んだ際、
{straight hair|wavy hair|braid ponytail|twintails|tired hair|twin braids},
とプロンプトの合間に入れると、これら「|」で区切られた単語がランダムに選ばれます。
何か1つ明確に作る以外で、様々なバリエーションで大量に出してみたい場合にオススメです。
4.a1111-sd-webui-tagcomplete
txt2img等、プロンプトを入力する際に適切な単語をサジェストしてくれます。
スペルが曖昧な時重宝します。
5.sdweb-easy-prompt-selector
最近知ったのですが、こちらも入力補助としてかなりはかどります。
インストールすると、生成(generate)ボタン下部に「タグを選択」のボタンが追加されます。
ここからカテゴリー化されているタグを選んでプロンプトに追加できます。
自分で定義を追加することもできるので、頻繁に使うプリセットを作っておくとかなり便利です。
extensions\sdweb-easy-prompt-selector\tags
の中にあるファイルをメモ帳で開くと、なんとなく編集方法がわかります。
6.stable-diffusion-webui-two-shot
これもなかなか奥が深い便利機能です。
txt2imgでプロンプトから生成する場合、2人以上のキャラで異なる特徴、属性を指定した場合、まずまず混ざります。
それを抑制してくれる機能です。
インストールしたデフォルト状態では2分割できるようになっています。
パラメータをいじることで、さらに細かく弄れるそうです。が、3分割までしかやったことがないです……
参考として、デフォルト(2分割)状態で以下のプロンプトを入れた場合として、どうなるかを載せておきます。
参考として適用させない場合、同じプロンプトの例です。(ちょっと画像サイズが違いますが)
番外編
以下は、自分は使っていないですが、便利な拡張機能または、その他です。
sd-webui-depth-lib
崩れやすい「手」などを予めオーバーレイさせておくことで安定性を向上させます。
openposeとdepthを組み合わせるとよいそうです。
自分は後で「手」でなおせば良いや、って考えなので使って無いです。
ただ、活用すると間違いなく便利でしょう。ほぼほぼWEB UIで完結してしまいます。
stable-diffusion-webui-localization-ja_JP
日本語化の拡張機能です。
大変助かります。
拡張機能を起動時に読み込ませないために
不要な拡張機能はアンインストール(フォルダから削除)してしまってもよいですが、起動時に読み込ませないようにするだけ、というのも出来ます。
起動時になんでもかんでも読み込みさせると無駄に重くなるだけなので、たまにしか使わないものは外しておいた方が良いでしょう。