大量のキャラをランダム生成する方法(Stable Diffusion)
こんにちは、画像生成AIでひたすら猫のイラストを生成している じょじお(@jojio‗illust)です。
今回もStable Diffusionの記事です!
前回、同一キャラの大量のバリエーションを簡単に一括生成する方法について紹介しました。
今回も似たような拡張機能を見つけたので紹介したいと思います。
▲AI画像の大量ファイルをプロンプトと一緒に簡単に整理する方法はこちら。
Stable Diffusionのプロンプトエンジニアリングの基本について理解したい方には、初心者向けのプロンプトガイドを作りましたのでそちらを見てください!
Dynamic promptsとは?
今回紹介するのは「Dynamic prompts」というStable diffusion WebUIの拡張機能です。
Dynamic promptsは、あらかじめ用意した単語リストからランダムに単語を選択して、プロンプトを作成し、画像生成を行える機能です。
Dynamic promptsのインストール方法
インストールしてみます。
▲「Extensions」タブ > Availlableタブ > Load Formボタンをクリック。
▲「Dynamic prompts」という拡張機能をインストールします。見つけられない人はCtrl+Fで検索窓を表示してdynamicというワードで検索してみてください。
▲インストールできましたら、Installedタブに移り、インストール済みのプラグインの中に「Dynamic prompts」があることを確認してください。
Dynamic promptsの基本的な使い方
▲Dynamic Promptsというプルダウンが追加されています。クリックします。
▲Dynamic Prompts Enabledというチェックをオンにします。
ここでオフオンの切り替えを行います。
基本的な使い方
best quality, A {cat|dog|boy|young girl}, close-up
▲バッチを7にして生成したところ、boyが3、catが1、dogが2、young girlが1生成されました。
best quality, A {cat|dog|boy|young girl}, close-up
▲上の例の場合、下記のような組み合わせでプロンプトが生成されます。
- best quality, A cat, indoor, blue sky
- best quality, A girl, outdoor, snowing winter
- best quality, A dog, outdoor, snowing winter
- best quality, A girl, outdoor, snowing winter
- best quality, A cat, outdoor, blue sky
- best quality, A boy, indoor, blue sky
- best quality, A dog, outdoor, blue sky
- …
以上が最も基本的な使い方です。
ワイルドカードをファイルから指定する方法
単語リストファイルを使うこともできます。
単語リストは自作するか、拡張機能に用意された既存の単語リストを使うことができます。
1.用意されたファイルを使う方法
拡張機能にはデフォルトで単語リストが用意されています。
単語リストはいくつかのコレクションという単位でカタマリになっていて、コレクション単位でインポートできます。
ためしに「Artist」コレクションをインポートしてみます。
▲WebUI上のWildcards Managerタブをクリックします。
▲コレクションのプルダウンリストから「artist」を選択し、Copy collectionをクリック。
▲図のところに「artists」というコレクションがインポートできます。クリックできるようになっているのでクリックします。
▲コレクションはサブフォルダによる階層構造になっています。何回かクリックしてファイルを見てみましょう。「__ファイル名__」のように、名前の前後に「__(アンダースコア2つ)」がついているものがファイルです。ついていなければフォルダです。
▲ファイルをクリックすると、画面右側のペインにファイルの中身を表示できます。私がクリックした「artists/Japanese Art/ukiyoe」というファイルには、浮世絵のアーティスト名がリストされているようです。
ためしにここにリストされているアーティストに、ネコの絵を描いてもらいましょう。下記のプロンプトを書きました。
best quality, A cat, by __artists/Japanese Art/ukiyoe__
ファイル名を使うには「__(アンダースコア2つ)」を付けたファイル名を挿入したい箇所に書くだけです。
▲なんとなく浮世絵っぽいものが出来上がったので成功したっぽいです。
▲実際にそれぞれの絵がどんなプロンプト(アーティスト名)で生成されたかを確認するには、PNGInfoでメタタグを確認すればわかります。上の絵は「Yamamoto shoun」さんという名前がプロンプトに入りました。
PINGInfoや画像一覧をかんたんに見るにはEagleというツールが絶対おすすめです。
\ 30日間 無料で使える! /
2.ファイルを自作する方法
ファイルは自作することもできるよ。
下記のフォルダの中にテキストファイルを作成します。
C:\stable-diffusion-webui\extensions\sd-dynamic-prompts\wildcards
▲テキストファイルを作成します。名前は自由に決めます。「eye-color.txt」という名前にしました。
▲瞳の色のバリエーションをひとつずつ改行しながら書きます。保存して閉じます。
best quality, detailed eyes, detailed face, hires, A girl, __eye-color__
▲プロンプトはこんな感じで「__(アンダースコア2つ)」でファイル名を囲んで指定します。(拡張子は含めない)
▲ランダムな瞳の色でキャラクター生成できました。
ファイルの編集方法
自作ファイルも、既存ファイルもWebUI上の「Wild cards Manager」から編集できます。
自作ファイルが認識されないときはリフレッシュしてください。
Dynamic promptsのその他の機能
ワイルドカードを複数使う。
best quality, detailed eyes, detailed face, hires,
__sex__,
__eye-color__,
__hair-style__,
__emotion__,
__clothes__,
at __where__ in __seasons__
▲こんな感じ複数使うことができます。改行や空白は無視されるので、図のようにインデントして見やすく書いてもいいです。
ワイルドカードをネスト
テキストファイルは、ネスト(再帰的処理)することができます。
つまりテキストファイルの中で別のテキストファイルを呼ぶことができます。
Dynamic promptsのドキュメント
詳細は下記のドキュメントをごらんください。
https://github.com/adieyal/sd-dynamic-prompts
ワイルドカードを使ってみた感想
大量にキャラクターが必要な時や、スタイルの組み合わせの研究などに使えそうです。
また、デフォルトで用意されている単語が豊富なので、拡張機能を使わなくてもチートシートとしてインストールするのもありだと思います。
nsfw系のワードも豊富なので、エッ〇な人にもおすすめです!!!!
\ 30日間 無料で使える! /
コメント
コメント一覧 (2件)
stable deffusionってまじめに言ってんの?
教えてくれてありがとう。