【Stable Diffusion Web UI】Dynamic Promptsについて【ランダム生成】
Stable DiffusionでのDynamic Prompts(動的プロンプト)とは、生成される画像に多様性や変化を持たせるために、プロンプトを動的に変更する技法です。以下に、Dynamic Promptsの詳細な説明を含め、実際の使用方法について詳しく解説します。
Dynamic Promptsとは?
Dynamic Promptsは、テキスト生成や画像生成のプロンプトに変数や条件を組み込み、複数の異なる出力を得るための手法です。Stable Diffusionなどの生成モデルでは、特定のキーワードやフレーズを動的に変更することで、多様な画像生成が可能になります。
Dynamic Promptsのインストール方法
簡単に。
[Extensions]タブを開きます。
[Install from URL]タブを開きます。
[URL for extension's git repository]に以下のURLを入力します。
"GitHub - adieyal/sd-dynamic-prompts: A custom script for AUTOMATIC1111/stable-diffusion-webui to implement a tiny template language for random prompt generation"[Install]ボタンを押します。
Dynamic Promptsのメリット
多様性の向上:
プロンプトを動的に変更することで、同じテーマでも異なるバリエーションの画像を生成できる。
効率の向上:
一度に多くのバリエーションを生成できるため、手作業でプロンプトを変更する手間が省ける。
創造性の拡大:
予想外の組み合わせや新しいアイデアを発見する手助けとなる。
Dynamic Promptsの基本
Dynamic Promptsでは、以下のような形式でプロンプトを設定することで、複数の選択肢からランダムに要素を選択できます。
プロンプト内で
{A|B|C},
とするこで、A または B または C のプロンプトの単語を使用して画像生成を行います。
簡単な例:外または教室のどちらかのイラストを生成したい場合
他単語,{outdoor|classroom},他単語
,{outdoor|classroom},
これにより、以下の2つが使用されます。
他単語, outdoor, 他単語
他単語, classroom, 他単語
となり、画像が生成されます。
さらに多くのDynamic Promptsを使用して、指定された要素をランダムに組み合わせるプロンプトの設定方法を簡単に説明します。
使用するプロンプト
以下のテンプレートを使用して、各属性の選択肢からランダムに組み合わせを生成します。
{black eyes|brown eyes|silver eyes|green eyes|red eyes},
{flat chest|small breasts|medium breasts|normal breast},
{brown hair|black hair|dark silver hair|blonde hair},
{medium hair|wavy hair|long hair|short hair|hime_cut|middle hair},
{blunt bangs|diagonal bangs|half updo|hime cut| }
指定されたテンプレートに基づいて、すべての組み合わせを考えると、可能なプロンプトの総数は各選択肢の数の積となります。
各カテゴリの選択肢の数
目の色(eye color):5個(black eyes, brown eyes, silver eyes, green eyes, red eyes)
胸のサイズ(chest size):4個(flat chest, small breasts, medium breasts, normal breast)
髪の色(hair color):4個(brown hair, black hair, dark silver hair, blonde hair)
髪の長さとスタイル(hair length and style):6個(medium hair, wavy hair, long hair, short hair, hime_cut, middle hair)
前髪のスタイル(bangs style):5個(blunt bangs, diagonal bangs, half updo, hime cut, 空白)
計算
各カテゴリの選択肢の数を掛け合わせることで、すべての組み合わせの総数が得られます。
5(目の色) × 4(胸のサイズ) × 4(髪の色) × 6(髪の長さとスタイル) × 5(前髪のスタイル) = 2,400
5(目の色) × 4(胸のサイズ) × 4(髪の色) × 6(髪の長さとスタイル) × 5(前髪のスタイル) = 2,400
したがって、最大で2,400個の異なるプロンプトの組み合わせが作成可能です。
組み合わせの例
black eyes, flat chest, brown hair, medium hair, blunt bangs
black eyes, flat chest, brown hair, medium hair, diagonal bangs
black eyes, flat chest, brown hair, medium hair, half updo
black eyes, flat chest, brown hair, medium hair, hime cut
black eyes, flat chest, brown hair, medium hair,
black eyes, flat chest, brown hair, wavy hair, blunt bangs
black eyes, flat chest, brown hair, wavy hair, diagonal bangs
black eyes, flat chest, brown hair, wavy hair, half updo
black eyes, flat chest, brown hair, wavy hair, hime cut
black eyes, flat chest, brown hair, wavy hair, ...
このように、すべての組み合わせを列挙するのは大変ですが、Dynamic Promptsを使用することで、これらの組み合わせの中からランダムに選ばれたプロンプトを用いて多様な画像を生成することができます。