AI 画像生成

【Stable Diffusion】ランダムに画像を生成してくれる拡張機能「DynamicPrompts」【web UI】

指定したプロンプトでランダム生成してくれる拡張機能「DynamicPrompts」を紹介します

機能は色々あるんですけど
今回は基本的な使い方とワイルドカードの使い方を紹介します

特にワイルドカードは複数の髪型や髪色、服装等を指定して生成したい時何かに使うと便利だと思います

導入方法

https://github.com/adieyal/sd-dynamic-prompts

web UIのExtensionsから「sd-dynamic-prompts」を探してインストールしてください

コードを入力するか「Ctrl+F」で探すのが楽だと思います

インストールに成功していればt2iとi2iに「Dynamic Prompts」が追加されます

画像のようにDynamic Prompts enabledにチェックが入っていれば適用されます

基本的な使い方

まずは基本的な使い方なんですけど

{A |B | C}
こんな感じでプロンプトを{}で囲って|で区切るとABCの中からランダムに画像が生成されます

例えば髪色をランダムに選択したい場合は
{Black | Red | Blue} hair,にすれば三色の中からランダムで髪色が選ばれる事になります

この方法だと確率は平等ですけどプロンプトの前に実数値を入力することで偏りを作る事もできます

{数値::A | 数値:: B | 数値:: C}
この時合計が1になる必要はありません

ランダム生成で偏らせるってもよくわかりませんけどね

ワイルドカードの使い方

次はワイルドカードの使い方です
多分この機能が1番便利な気がしますね

使い方は簡単でランダム生成したいプロンプトを入力したテキストファイルを用意して
stable-diffusion-webui\extensions\sd-dynamic-prompts\wildcardsに入れるだけです

テンプレートというかサンプル的なファイルも用意されていていますが簡単なプロンプトだったら自分で用意した方が良いかなといった感じでした
web UI内のWildcard Managerで編集することが出来るんですけどサンプルファイルを使おうとすると
動きが悪く微妙に使い難かったので

ワイルドカードの例としてはこんな感じ

今回は服装を幾つか入力してみました

準備はこれで終わりです

後はプロンプト内に__テキストファイル名__と入力します
_は2つ並べてください

今回用意したワイルドカードの場合は「__test__」ですね

画像生成

ちょっと解りにくいと思うので実際に画像を生成してみます

基本

Pronmpt:
super fine illustration,an extremely cute and beautiful girl,highly detailed beautiful face,nanachi,short stature,furry girl,running shorts,{rabbit | cat | dog} ear,Yellow eyes,blown hair,short hair,bright skin,looking at viewer,extremely_detailed_eyes_and_face<hypernet:furry_kemono:1>

Negative prompt: 
nsfw,lowres, bad hands, text,error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts,signature, watermark, username, blurry, artist name,fat,red face,nude,long body

Steps: 20, Sampler: DPM++ 2M Karras, CFG scale: 7, Seed: 4100616438, Face restoration: GFPGAN, Size: 704x512, Model hash: c8c5a542cc, Denoising strength: 0.6, Clip skip: 2, ENSD: 31337, Hires upscale: 1.6, Hires upscaler: Latent,models:MeinaPastelV4 

このプロンプトの場合はケモミミをランダムで生成出来ます

ちなみにCombinatorial generationにチェックを入れると全部生成してくれます
この場合はバッチカウント等より優先されるので3枚イラストが生成されます

生成した画像をPNG infoで確認すると

super fine illustration,an extremely cute and beautiful girl,highly detailed beautiful face,nanachi,short stature,furry girl,running shorts,rabbit ear,Yellow eyes,blown hair,short hair,bright skin,looking at viewer,extremely_detailed_eyes_and_face

こんな感じで{rabbit | cat | dog} ear,が無くなっていました

ワイルドカード

Pronmpt:

super fine illustration,an extremely cute and beautiful girl,highly detailed beautiful face,nanachi,short stature,furry girl,rabbit  ear,Yellow eyes,blown hair,short hair,bright skin,looking at viewer,extremely_detailed_eyes_and_face,__test__<hypernet:furry_kemono:1>

MeinaPastelV4 のモデルは初めて使いましたがかなり良いですね
ただ服装によっては顔がアップになりやすい感じでした
running shortsは結構全体が写っている画像が多かったです

今回は1つしか使用しませんでしたが複数のワイルドカードを使用することもできます

髪型等色々な組み合わせをランダムで生成出来るのは結構良いかもしれませんね

-AI, 画像生成