AI画像生成を行うときに、出力して欲しくない要素を明確に示しておかなければなりません。それを指定するものが「ネガティブプロンプト」になります。
ここでは「ネガティブプロンプト」を色々まとめています。
最初に以下のページをご覧ください。
「Stable Diffusion」を利用するにあたって学んだことをまとめています。これからAIイラストの環境を構築して始める方の参考になれば幸いです。
【使用】
「Stable Diffusion web UI(AUTOMATIC1111版)」
「Anything-v4.0.ckpt」
画像の出来映えを左右するネガティブプロンプト
「プロンプト」の記述
AI画像生成は「プロンプト(prompt)」と呼ばれるワードを入力します。これは「呪文」と呼ばれることもあります。
出力される画像は、列挙されたプロンプトを基にして作成されています。「1 boy(一人の少年)」というプロンプトが含まれている場合には、一人の少年のみが描き出されます。
人物の描写について知りたい方は以下のページもあわせてご覧ください。
行動やポーズに関するプロンプトは以下のページをご覧ください。
髪型や髪色に関するプロンプトは以下のページをご覧ください。
顔に関するプロンプトは以下のページからご確認ください。プロンプト一覧とサンプル画像があります。
背景に関するプロンプトは以下のページをご覧ください。
プロンプトによって出力される結果は、利用しているモデルによって大きく異なります。また、有効となる(=結果に反映されやすい)プロンプトもモデルによって異なるようです。
使用する「モデル」によって推奨されている「プロンプト」があることもあるので、「モデル」をダウンロード時に説明を確認してください。
「ネガティブプロンプト」の記述
「ネガティブプロンプト(negative prompt)」は、AIイラストの中に描いてほしくない要素を除外したり抑制したりすることを目的として記述するワードです。
AIによって生成された画像は、人物の描写に問題が含まれていることも少なくありません。そうした問題を予め防いでおく必要があります。
そのために、「プロンプト」と併せて「ネガティブプロンプト」と呼ばれるワードを指定することになります。
こちらも使用する「モデル」によって推奨されている「ネガティブプロンプト」があることがありますので、「モデル」をダウンロード時に説明を確認してください。
品質の向上に関わるプロンプトは以下をご覧ください。
「ネガティブプロンプト」の一例
「ネガティブプロンプト」は早い時期からAI画像生成を学習している先人たちが公開してくださっているものがたくさんあります。そういったものを参考にしつつ、あるプロンプトを削除したり別のプロンプトを追加したりしてみてはいかがでしょうか。
よく分からないという方は、以下の「ネガティブプロンプト」をそのまま入力してみてください。
最低限度のものが入力されていれば、あとは「プロンプト」の内容を精査していけば問題ない画像が出力されると思います。
「ネガティブプロンプト」は特に問題がなければ同じものを使い続けても差し支えないと思います。
入力が面倒であれば以下の方法がおすすめです。
「ネガティブプロンプト」の一覧
以下の「ネガティブプロンプト」を入れたからといって問題がなくなるわけではありません。
もしかすると、シンプルで正確な「プロンプト」を入力することのほうが重要かもしれません。「プロンプト」の中に矛盾する要素が含まれている場合に奇異な画像が生成される頻度が高いと感じます。
画像の品質劣化を防ぐもの
綺麗な画像を生成するためには、問題のある要素を除外するようなネガティブプロンプトを入力しておく必要があります。
これらの要素からいくつかを選んで入れてみてください。
flat color フラットカラー |
フラットカラー | 単調な色使いを防ぐ 色彩に欠いた表現を防ぐ |
flat shading フラット シェイディング |
CGに関わる要素? | 低画質を防ぐ |
retro style レトロスタイル |
レトロ調 | 低画質を防ぐ |
worst quality ワースト クオリティ |
最悪の品質 | 低品質を防ぐ |
low quality ロークオリティ |
低品質 | 低品質を防ぐ |
poor quality プアクオリティ |
低品質 | 低品質を防ぐ |
low res ローレゾ |
低解像度 | 低解像度を防ぐ |
jpeg artifacts ジェイペグ アーティファクト |
圧縮アーティファクト | 画像の圧縮時にみられる歪みを防ぐ |
blurry ブルーリィ |
ぼやけた・かすんだ | ぶれやボケを防ぐ |
cropped クロップド |
切り取り | 一部が切り取られることを防ぐ |
nsfw エヌエス エフダブリュ |
職場閲覧注意 Not safe for work |
公共の場での閲覧にそぐわないものを防ぐ 目的によっては削除 |
人物の描写に関わるもの
AI画像生成を繰り返し行っていると、人物の手足の描写に難があるということが経験的にも分かってきます。また、事物の正確な描写にも問題があることが多いです。このようなことはあちこちで言われていることですから、既にご存じの方も多いと思います。
たとえば、手が含まれる画像を出力すると指の数が増えたり減ったりしてしまいます。これと同じように人物の全体像を描こうとすると足が3本になるといったことが起こります。
このような問題が起こらないようにネガティブプロンプトを入力する必要があります。人物の足を上手く描きたいというときは、「missing legs」といった表現を入れてみるのもありだと思います。単数形と複数形の違いも念のために考慮します(たとえば、finger → fingers)。
ugly アグリー |
正確な描写 | |
bad face バッドフェイス |
顔の正確な描写 | |
bad hands バッドハンズ |
手指の正確な描写 | |
bad fingers バッドフィンガーズ |
手指の正確な描写 | |
extra digit エクストラディジット |
手指の正確な描写 | |
missing fingers ミッシング フィンガーズ |
手指の正確な描写 | |
missing arms ミッシングアームズ |
腕の正確な描写 | |
missing legs ミッシングレッグス |
足の正確な描写 | |
extra legs エクストラレッグス |
足の正確な描写 | |
bad feet バッドフィート |
足の正確な描写 | |
bad anatomy バッドアナトミー |
正確な身体の描写 | 解剖学的構造・生体構造 |
humpbacked ハンプバックド |
正確な姿勢の描写 | 猫背など |
bad proportions バッドプロポーション |
正確な姿勢の描写 | 全体のバランスのズレを防ぐ |
huge breasts ヒュージブレスト |
正確な胸部の描写 | 胸部が大きくなりがち それを防ぐ |
好ましくない言葉がどうしても多くなってしまうため、直接的な表現をあえて避けています。これらはあくまでも二次元の画像に対する表現であり、現実世界および実在する人物とは一切関係がありません。
人物の全体像を表現したいという場合は、背景に関するプロンプトを入力して引きの画像を生成するという手もあります。
文字の混入を防ぐもの
次のような「ネガティブプロンプト」を入れることで、余計な文字が混入することを避けられます。
signature シグネチャー |
サイン | サインのような文言が入ることを防ぐ |
watermark ウォーターマーク |
透かし | 透かしが入ることを防ぐ |
username ユーザーネーム |
使用者名 | ユーザー名に類する文言が入ることを防ぐ |
artist name アーティストネーム |
アーティスト名 | アーティスト名のような文言が入ることを防ぐ |
text テキスト |
文字・文章 | 字や言葉が入ること自体を防ぐ |
ネガティブプロンプトの効果的な利用
画像を生成していると予期せぬ表現が見られることがあります。
たとえば、褐色の人物を指定したときに「エルフの耳」になってしまうことがあります。これは「dark skin」を学習する際にファンタジー作品によく登場する「dark elf」が参照されたことの結果なのではないかと個人的に解釈しています。
そして、そういうときに「elf ear(elf ears)」をネガティブプロンプトの中に入れると望んだとおりの表現にすることができます。
「ネガティブプロンプト」は基本的な要素を指定しておいて、別の要素を必要なときに一時的に加えることによって有効に活用できそうです。