「Stable Diffusion」で画像を生成するには「プロンプト」と呼ばれる入力が必要です。
実際に「Stable Diffusion」で思い通りの綺麗な画像ができないと悩んでいる方もいると思います。
この記事では、どうすれば思い通りの画像を生成することができるのか、プロンプトの仕組みや入力のコツについて調べてみました。
Stable Diffusionのプロンプトとは?
プロンプト(Prompt)は、AIツールで生成するために希望を伝達する文字列を総称して呼ばれることが多くなりました。別名「呪文」とも呼ばれています。
Stable Diffusionのプロンプトとは、AIが画像生成するために入力する特定のテーマや条件を示す文章やキーワードのことを指します。
プロンプトの内容次第で生成される画像が大きく変わってくるので、Stable Diffusionを使いこなす上で重要な要素です。
Stable Diffusionのプロンプトの基本
Stable Diffusionで画像生成をするプロンプトの種類は細かく無数にあります。
実際に同じ画像生成でも、プロンプトの技術が低いと低品質な画像が生み出されてしまいます。
Stable Diffusionで、思い通りに画像を生成する基本的なポイントをStable Diffusion(Stability AI社)が公開しているプロンプトガイドラインに沿って説明していきます。
1.コアプロンプト
コアプロンプトとは、主に画像の中心に位置する被写体や中心的なテーマ、主題を指します。
プロンプトの内容例には次のようなものがあります。
- a cat(猫)
- cool guy(イケメン)
- background illustration(背景イラスト)
Stable Diffusionでは、シンプルであればあるほど良いとされています。
2.スタイル
スタイルは、Stable Diffusionで画風を決めるワードを表します。
プロンプトの内容例には次のようなものがあります。
- 現実的な(Realistic)
- 油絵(Oil painting)
- 鉛筆画(Pencil drawing)
- コンセプトアート(Concept art)
- cel anime (アニメ風)
Stable Diffusionが要求されたスタイルを認識できない場合、最も一般的なスタイルをデフォルトで使用します。
3.アーティスト
アーティストとは、スタイルを具体的にし、画像に一貫性を持たせるために使用される実在するアーティストの名前です。
プロンプトの内容例には次のようなものがあります。
- ポール・セザンヌ(Paul Cézanne)
- レオナルド・ダ・ヴィンチ(Leonardo da Vinci)
- ミケランジェロ(Michelangelo)
Stable Diffusionでは、入力されたアーティストの画風をそのまま画像に反映することができます。
複数のアーティストを連ねると、これまでにない画風の絵に仕上がる可能性があります。
4.最終仕上げ
最終仕上げとは、生成結果を理想に近づけるために追加する要素です。
プロンプトの内容例には次のようなものがあります。
- デジタル ペイント(digital paint)
- 8k
- 色あせた色(triadic color scheme)
- ドラマチックな照明(dramatic lighting)
- epic composition(壮大な構図)
Stable Diffusionでは、作品の中で強調したい要素を追加して仕上げを行います。
Stable Diffusionプロンプトの使い方
それでは実際にStable Diffusionプロンプトの使い方を説明していきます。
4つのプロンプトを順番に入力して、どのような画像が生成されるのか検証してみます。
ガイドライン通りに、「蛇」「鉛筆画」「ピカソ」「夜」の4単語で生成を開始します。
「a snake,Pencil drawing,picasso,night」
鉛筆画で描かれたピカソ風の蛇の絵が出来上がりました!
夜の背景を仕上がりに含めましたが、見た目には認識されませんでした。
次に、少し応用して人物像の画像を生成してみます。
人物像を生成する場合は、ボディーパーツと装飾品を細かく指定します。
屋外を一人で歩く女性をビューワー(カメラマン)目線で描きます。
プロンプトの内容は、[女の子1人、イヤリング、宝石、黒髪、ビューアを見て、ぼやけた背景、茶色の目、屋外、上半身、ショートヘア、夜、現実的、ソロフォーカス、被写界深度、道路、ソロ、シャツ、黒いシャツ、ストリート]です。
簡単にまとめると、屋外を歩いている黒髪で茶色い目をしてイヤリングを付けている一人の女性にピントを合わせて生成するといった内容です。
「1girl, earrings, jewelry, black hair, looking at viewer, blurry background, brown eyes, outdoors, upper body, short hair, night, realistic, solo focus, depth of field, road, solo, shirt, black shirt, street」
細かくプロンプトを指定した甲斐があって、希望に近い画像が生成されました。
Stable Diffusionプロンプトのコツ
Stable Diffusionでプロンプトを効果的に使用するためにはコツがいくつかあります。
生成したい画像の精度や質を上げていくにはプロンプトの入力規則をマスターする必要がありますが、このアクションは「プロンプトエンジニアリング」と呼ばれ、AIを使いこなす上で最も需要な要素です。
順番が大事
Stable Diffusionのプロンプトは、基本的に前に記述する単語が優先され、後ろの単語は優先度が下がります。
Stable Diffusionはプロンプトを75単語で1グループとして認識しています。
そのため、76単語目を入力すると、新しいグループとして認識されるため、76単語目の影響力が75単語目より強くなってしまいます。
すると、思い通りの画像を生成することが難しくなるので注意が必要です。
含めたい要素があれば、入力欄の最初の方に入力するようにしましょう。
パーツごとに区切る
Stable Diffusionのプロンプトは前に記述した単語の影響力が強くなります。
その順番に変化を与えることができるのが「BREAK構文」です。
先ほど説明した通り、Stable Diffusionはプロンプトを75単語で1グループと認識しています。
「BREAK」を入れることにより、強制的に区切り、BREAKの次に来る単語は2グループ目の先頭76単語目として扱われ影響力を強めます。
次の画像では、BREAKを入れることによって右上の単語数の分母が75から150に拡張されていることがわかります。
プロンプトの使い方の章で生成したプロンプトをそのまま利用し、「night」の前にBREAKを設置して生成してみます。
「1girl, earrings, jewelry, black hair, looking at viewer, blurry background, brown eyes, outdoors, upper body, short hair, BREAK night, realistic, solo focus, depth of field, road, solo, shirt,black shirt, street」
※BREAK入力の際は前後を半角スペースで囲むのを忘れないようにしましょう。
BREAK有り
BREAK無し
BREAK以降の夜道やリアル感、黒いシャツが認識されて構図が大きく変わりました。
その代わり、人物の存在感や表情などが失われてしまいました。
BREAK構文のさらに詳しい使い方は、下記のページでも紹介していますのでぜひご覧ください。
ネガティブプロンプトを活用する
ネガティブプロンプトとは、生成画像に含めたくない要素を指示するプロンプトを指します。
これまでは、含めたい要素を積み重ねて記述してきましたが、逆の発想で精度を上げていく手法になります。
ネガティブプロンプトは、ボディーパーツのエラーや欠損を防ぎ、作画の矛盾や崩壊を抑制するなど一定の効果があります。
実際にネガティブプロンプトを加えて、質の変化を比較してみます。
入力したネガティブプロンプトの内容は、画質の向上と人物描写に関するエラーを排除するプロンプトです。
[低品質、最悪の品質、悪い解剖学、欠けている腕、余分な腕、突然変異した手、余分な脚、悪い手、描画が不十分な手、奇形の手、欠落している手足、浮遊する手足の焦点が合っていない、醜い、エラー、JPEG アーティファクト、低解像度、ぼやけた、ボケ味、長い首、長い胴体、変形した]
「low quality, worst quality, bad anatomy, missing arms, extra_arms, mutated hands, extra_legs, bad hands, poorly_drawn_hands, malformed_hands, missing_limb, floating_limbsout of focus, ugly, error, JPEG artifacts, low resolution, blurry, bokeh, long_neck, long_body, deformed」
ネガティブプロンプト有り
ネガティブプロンプト無し
ネガティブプロンプト入力前と後では大きく印象が違うのが分かります。
最初は画像生成を繰り返しながら、不要な要素があったらネガティブプロンプトに追加していく方法で精度を上げていくと良いでしょう。
Stable Diffusionでプロンプトを使いこなそう!
Stable Diffusionは、少し複雑なプロンプトを入力するだけでも生成に時間がかかってしまうため、画像を繰り返し生成しながら修正していくとなると大きな処理能力のあるPCが必要となります。
しかし、PICSOROBANを使えばストレスなくStable Diffusionで画像生成が行うことができ、いつでもすぐに使用できるため便利です。
PICSOROBANは、インストールの必要なくブラウザで簡単にStable Diffusionを利用できます。
さらに、今ならリリースキャンペーンとして無料会員登録するだけで、2,000ポイント貰えます!
詳しい使い方は下記の記事で紹介しています。
\約2時間無料で使える!/