見出し画像

Stable Diffusion WebUI(1111版)で捗る拡張機能6選

実際にほぼ毎日使っている拡張機能のまとめです。
拡張機能をうまく活用することで、画像生成の品質向上、時短に繋がります。
なお、モデルマージやLoRAに関連した拡張機能は省いています。
また、技術的な話もほぼ省略しています。

ローカル環境の導入はこちらにもざっくり記事にしてあります。参考までに。(ぶっちゃけググって一番上に出てきたwikiなり記事を見た方がわかりやすいです。)

拡張機能のインストール方法

以下の画像のURLを入力するところに、この記事の各見出しのリンク先URLを入れることでインストールできます。

この画像は日本語化の拡張機能を入れています。

1.sd-webui-controlnet

言わずと知れた便利機能。
ざっくり言うと、出力される画像をプロンプトと組み合わせることで、より正確に制御できます。

以下openposeを例にすると、

Red ribbon, red short-sleeved dress, black boots, brown hair, holding a fan in one hand, posing elegantly amidst dancing cherry petals
(赤いリボン、赤い半袖のワンピース、黒いブーツ、茶色の髪、片手に扇子を持ち、桜の花びらが舞う中で優雅なポーズをとっている)

のプロンプトで生成したものは、例えば以下のようになります。

次に、例えばどうしても「真正面から両手をあげるように」ポーズを取って欲しい時、プロンプトに指定してもなかなか思った通りに出力してくれません。
そこで以下のような棒人間を作ります。(簡単に作れる拡張機能は次の章に掲載しています。)

\(^o^)/

これを導入したControlNetのモデル領域に貼り付けます。
例のように予め作成されたものを使用する場合、Preprocesserはnoneにします。(使い始めた頃、ここがよくわかってなかった。)
モデルについては予め以下のリンクから入手しておきます。

extensions/sd-webui-controlnet/models
の中に予め入れておきます。

↑こんな感じ。しばしばEnableを入れ忘れるので注意。

適用して生成させたものが以下です。

\(・o・)/

かなりお手軽ですね。
注意点として、かなり無茶なポーズを取らせることもできるので、意図せずとんでもないものが出来上がったりします。
なので、既にある画像からポーズだけを抽出して、それを適用させる方法もあります。この場合アニメ画像よりも、リアルな人物から抽出した方が精度が高いです。

最近ではさらに応用させ、実写映像からアニメーションを作れるようなので、この技術、ものすごい可能性を感じます。

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
の中にあるファイルをメモ帳で開くと、なんとなく編集方法がわかります。

人.yml

6.stable-diffusion-webui-two-shot

これもなかなか奥が深い便利機能です。
txt2imgでプロンプトから生成する場合、2人以上のキャラで異なる特徴、属性を指定した場合、まずまず混ざります。
それを抑制してくれる機能です。

インストールしたデフォルト状態では2分割できるようになっています。
パラメータをいじることで、さらに細かく弄れるそうです。が、3分割までしかやったことがないです……

参考として、デフォルト(2分割)状態で以下のプロンプトを入れた場合として、どうなるかを載せておきます。

2girls,stands in front of a brick building in London
AND 2girls, (hakurei reimu),black hair,happy,stands in front of a brick building in London,red leather boots,In her hand, she holds a coffie cup.
AND 2girls, (kirisame marisa),hat,blonde hair,smile,stands in front of a brick building in London,black leather boots,In her hand, she holds a coffie cup.

要素が混ざらない!

参考として適用させない場合、同じプロンプトの例です。(ちょっと画像サイズが違いますが)

要素が混ざる!

番外編

以下は、自分は使っていないですが、便利な拡張機能または、その他です。

sd-webui-depth-lib

崩れやすい「手」などを予めオーバーレイさせておくことで安定性を向上させます。
openposeとdepthを組み合わせるとよいそうです。

予め深度情報を持った「手」等がたくさん格納されています

自分は後で「手」でなおせば良いや、って考えなので使って無いです。
ただ、活用すると間違いなく便利でしょう。ほぼほぼWEB UIで完結してしまいます。

stable-diffusion-webui-localization-ja_JP

日本語化の拡張機能です。
大変助かります。

拡張機能を起動時に読み込ませないために

不要な拡張機能はアンインストール(フォルダから削除)してしまってもよいですが、起動時に読み込ませないようにするだけ、というのも出来ます。

インストール済みタブから、不要な拡張機能のチェックを外す

起動時になんでもかんでも読み込みさせると無駄に重くなるだけなので、たまにしか使わないものは外しておいた方が良いでしょう。


いいなと思ったら応援しよう!