見出し画像

WildCardとDynamicPromptsを使ったランダムな画像作成

皆様、こんにちは!
とんでもなく美しい女性をAIartで表現しているStmic | AIGirl_Photoです!
今回はWildCardとDynamicPromptsを使ったランダムな画像作成について解説します。
WildCardとDynamicPromptsを知らない方はもちろん、既に知っている方もファッション用語などをまとめたテキストファイルのリンクを置いてるので興味ある方は最後までお読み下さい!
(※2023/3/21追記
DinamicPromptsにWildCardの機能も追加されたようで、DynamicPromptsだけでいいかもしれません)

TASUKU様がお作りになったChilloutMixが登場して以降、リアル系美女AI画像界には革命が起こり、自分の好みの女の子を表現することが可能になりました。

そして、安定した美しい顔を表現出来るからこそ服装やアクセサリーで幅を持たせたい!という願望を持つのは僕だけではないと思います。

しかし、僕はファッションに疎く、女性のファッションアイテムがなんのこっちゃという状態で、まず服装のアイデアが浮かんでこない。調べようにも知らない単語だらけ!(ブラウス、キャミソールもなんのことか知らなかった)

そこで、とりあえず一般的に使われてるファッション用語をまとめたGoogle SpreadSheetを作成しました。
ですが、これらをどのように組み合わしたらいいのか、どの組み合わせがオシャレなのかがピンとこず、全パターンするのは時間が足りないし、服装以外でもやってみたいことがいっぱいあるし・・・といった感じであんまり上手く活用できていないのが実情でした。

しかし、ある日僕に革命が起きます!!!
それが、WildCardとDynamicPromptsを使ったランダムな服装選択です!
↓の画像が2つを使って作った画像になってます。

WildCardとは?


まず、WildCardついて説明します。
WildCardはあらかじめ用意したテキストファイルに羅列された単語の内どれか一つをプロンプト実行時にランダムに選択するというものです。

例えば、以下のような内容のテキストファイル(靴.txt)を用意します。
(本来は全部英語ですが、説明のため日本語で書いています。)

スニーカー
ヒール
ブーツ

そして、プロンプトに__靴__(アンダーバー*2で挟む)と入力すると、靴.txtを参照して、「スニーカー、ヒール、ブーツ」のどれかから一つを選択し、プロンプトには選択後の単語が入ります。

例えば、以下のようなプロンプトを書いた場合、このように変換されます。
1girl, __靴__, outdoor

1girl, スニーカー, outdoor

こうすることで、同じプロンプトを何回も実行しているにも関わらず、色んな組み合わせの服装を生成してくれるのです!
今回は靴だけをWildCardで使いましたが、髪型、胸の大きさ、トップス、ボトムス、アクセサリー、果てはLoRAの適用率までランダムにすることができます。
ここまで複数の要素を指定すると数百〜数千パターンからランダムに選択されるので、寝る前とかに実行すると朝にはとんでもない幅の作品が出力されているのです!そう、WildCardならね!

DynamicPrompts

DynamicPromptsは{}で括った単語の中を自動選択してくれる機能です。
これだけなら、WildCardの劣化版ですが、この機能の良さは{}の中から選択する数も指定できるのと、空文字を指定出来ることです。

例えば{2$$ セーター|パーカー|シャツ}と書けば、この中から2つ選択して実行してくれます。
WildCardだと上記の単語は全部トップスに入っていますが、トップス同士の重ね着もオシャレになるので、オススメです!
そして、一見セーターとパーカーなんて意味ないやん、って組み合わせでもAIだと神がかり的な化学反応を起こしたりします。

また、違う使い方として空文字にする方法があります。
例えば、Yシャツを着ている人がいて、その人にネクタイをつけた画像とネクタイなしの画像両方を作りたいとします。
そんな時に{ネクタイ| }という書き方をすれば50%の確率でプロンプトにネクタイが含まれ、50%の確率で含まれなくなります。
これは|による仕切りの数によって確率の調整が可能で
{ネクタイ |  |  }とすれば33%ですし、仕切りを3本にすれば25%にできます。

まとめ

もちろん、自分でこういった組み合わせを考えるのが楽しいのに、そこをランダムにするなんて勿体無い!!って方もいると思いますが、アイデアの種を見つけるという使い方も出来るので、一回試してみてはいかがでしょうか!
それでは良いAIライフを!!

最後に実際に使う人向けのあれこれ

僕が使っているテキストファイル群です。
https://drive.google.com/drive/folders/135AqcoFRlU03bP7BsTZTYl_oWIAgCpj-?usp=sharing

直接noteにファイルを貼る機能があるのですが、なぜか貼ったファイルが認識されなかったので、google driveで共有いたします。

WildCardの導入は色んな記事があるので詳しくは割愛しますが、WebUIを使っている人はExtensionsにリポジトリを追加して、
/stable-diffusion-webui-wildcards/wildcards/下にテキストファイルを置けばOKです。

DynamicPromptsも同様にExtensionsにリポジトリを追加するだけでプロンプトで使えます。
(※2023/3/21追記
extensions/sd-dynamic-prompts/wildcardsにWildCardのtxtを追加すれば、使えるっぽいです)

最後をまでお読み頂きありがとうございます! Twitter、Instagramなどで作品を投稿しているので偉そうに検証しているやつの作品がどんなもんか是非お確かめ下さい! 結構露出が多い画像が多いので、苦手な人は苦手を克服するチャンスだと思って是非遊びに来てください!