画像生成AIのプロンプトとは?
画像生成AIのプロンプトにはポジティブプロンプトとネガティブプロンプトの2種類があります。ポジティブプロンプトのことを単にプロンプトと呼ぶこともあります。
- ポジティブプロンプト(プロンプト):生成してほしい要素を指定する
- ネガティブプロンプト:除外してほしい要素を指定する
プロンプトの考え方
プロンプトの作り方を具体例を交えながら説明します。
Positive prompt | (masterpiece), (high quality), beautiful detailed sky, school building, dynamic angle, 1 girl, standing, (evil smile:0.3), looking at viewer, blue eyes, blond hair, long wavy hair, balck school blazer uniform, middle pleats skirtred, red bow |
Negative Prompt | lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, worst quality, low quality, normal quality, signature, watermark, username, blurry, artist name, ((hair ornament)) |
上記プロンプトを使って作られたイラストがこちらです。
ポジティブプロンプトの基本
Positive prompt | (masterpiece), (high quality), beautiful detailed sky, school building, dynamic angle, 1 girl, standing, (evil smile:0.3), looking at viewer, blue eyes, blond hair, long wavy hair, balck school blazer uniform, middle pleats skirtred, red bow |
プロンプトの書き方
プロンプトは英語で記述します。カンマ「,」&半角スペース「 」で区切りながらイラストの情報を単語で羅列するスタイルが一般的です。ですが、実はStableDiffusionはカンマを付けなくても問題なく処理されます。カンマを付けないと可読性が低くなるので付けている人が多いようです。
ポジティブプロンプトの構成
私は以下の構成でポジティブプロンプトを書くことが多いです。例で挙げたプロンプトもこの構成になっています。
[クオリティを上げる呪文]+ [場所・構図]+[主題]+[主題の特徴]+[その他情報(LoRAなど)]
さらに私は意味の連なりで改行を挟むことで、後で編集しやすいようにしています。
ただ、この構成にした方がいいという決まりはありません。人それぞれ好きな構成でプロンプトを書けばいいと思います。
単語の順序
先ほど好きな構成にすればよいといいましたが、実は単語の順序はイラストに影響を与えます。
一般的には単語の影響度は次のようになっていると言われています。
- 初めに書いた単語の影響度は高い
- 中間に書いた単語の影響度は中くらい
- 一番最後に書いた単語の影響度は高い
うまく表現したい特徴がでなかった場合は、要素をプロンプトの初めか後ろに書いてみるとよいでしょう。
クオリティを上げる呪文
プロンプトには書くだけでイラストのクオリティをあげる便利な呪文があります。
その代表的な呪文のひとつがmasterpiece(傑作)です。masterpieceは効果が高いのでオススメの呪文です。
その他にも、以下のような呪文があります。
masterpiece High quality ultra-detailed beautiful detailed 8k , 16k
masterpieceはモデルごとに学習した最適な顔(マスピ顔と呼ばれる)に収束することが多いです。誰が作っても似たような顔立ちになるというデメリットもあります。
キャラクターの特徴
イラストにキャラクターを入れたい場合は、出力したいキャラの特徴を詳細に書いていきます。
例えば以下のように特徴を記述します。
- 人数:1 girl
- ポーズ:standing
- 表情:(evil smile:0.3), looking at viewer
- 髪型、髪色:blond hair, long wavy hair
- 瞳の色:blue eyes
- 洋服:balck school blazer uniform, middle pleats skirtred, red bow
要素を盛り込みすぎると指定が無視されたり絵が崩れたりするので、あまり盛り込みすぎずにAIに自由に描かせた方がよい場合もあります。
色指定の考え方
画像生成AIは色の指定をすると、その色に他の要素が引っ張られることがあります。この現象を色汚染といいます。
たとえば、red hair(赤髪), black t-shirt(黒Tシャツ)と書いたら服が赤くなったりします。
これはAIが単語を上から順に処理したとき、近い位置にある単語の意味が混ざり合ってしまうためです。
なので色の指定するときは、文字を離したところに置くと上手に色分けできる場合が多いです。
色の記載の間にBREAKを挿入して色汚染を回避する方法もあります。(例:red hair BREAK black t-shirt)
内部的にはBREAKを入れた箇所が75トークン分空白で埋め尽くされる処理となり、色が混ざりにくくなります。
強調と抑制
( )で囲むことで1.1倍に要素を強調できます。
重ねて使うこともでき(( ))とすると1.1×1.1 = 1.21倍に協調します。
また[ ]で要素を囲むと1.1倍その要素を控えめにできます。これも[[ ]]と重ねて使用できます。
影響度を直接数字で指定することも可能です。文字の後ろに「:〇.〇」と書きます。この数字は[Ctrl] + [↑↓キー]で0.1ずつ操作できます。
ネガティブプロンプトの基本
Negative Prompt | lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, worst quality, low quality, normal quality, signature, watermark, username, blurry, artist name, ((hair ornament)) |
ネガティブプロンプトの定型文
ネガティブプロンプトには除外してほしい要素を入れます。例えばこんな感じです。
- クオリティの低い絵を出さないためにlow quality(低品質)を入れる
- AIが苦手な手を綺麗に出すためにbad hands(悪い手)、missing fingers(消失した指)を入れる
- 学習データに含まれる文字を消すためにsignature(サイン)、watermark(ウォーターマーク)を入れる
これらの要素は毎回入れた方がいいので、ネガティブプロンプトは定型文になりがちです。
EasyNegative
ネガティブプロンプトを毎回つらつらと長く記載するのは面倒ですよね。StableDiffusionWebUIには、これらをまとめてEasyNegativeという1単語で表現できる拡張機能があります。
プロンプトがスッキリしますし、簡単にイラストのクオリティが上がるので、普段はEasyNegativeを使うのがオススメです。
定型文で対処できない要素
EasyNegativeなどの定型文ではどうしても対処できなかった要素を最後に書いていきます。
例えば今回はred bow(赤い蝶々結びのリボン)という言葉に引っ張られて、頭に赤いリボンを付けたイラストが多く生成されてしまいました。
頭には何もつけたくなかったのでhair ornament(髪飾り)を()で強調して書いています。
良いプロンプトを作るコツ
良いプロンプトを自力でゼロから作るのはとても難しいです。
最初のうちは他の優秀なAI術師のプロンプトを真似しながら、自分なりのアレンジを加えていくのが良いと思います。
こちらの記事で呪文研究にオススメなサイトを紹介しているので参考にしてみてください。
プロンプトの限界
ここまでプロンプトのコツを紹介してきました。
しかし、実はプロンプトだけではいつか限界にぶち当たります。そして、打ちひしがれます。
どんなに頑張っても、思った構図・色・特徴が出せないことがあるからです。そもそもモデルの学習データに含まれていないものは再現できません。
そういう時は次のことを試してみるといいでしょう。
- 作りたい絵に合わせたモデルを使用する
- text to imageだけでなくimage to imageも併用する
- WebUI拡張機能のControlNetやLoRAを使用する
おわりに
呪文研究の道は果てしなく深淵です。
ここまでつらつらと長い文章を書いてきましたが…私は未だにプロンプトが難しくて日々格闘しています。
人間同士ですら理解しあうのが難しいのですから、アーキテクチャの異なる人とAIが相互理解を深めるには多くの困難があるのでしょう。
しかし…この広大な呪文空間を探索する旅は、いつも驚きと興奮に満ちています。
さぁ一緒に魔術の根源を目指して、この旅を続けませんか?
コメント