ネガティブプロンプトはStable Diffusionで狙った画像を生成するために必要不可欠な項目です。
この記事では画質(絵のクオリティ)向上・不適切な内容の排除・作画崩壊・身体の奇形を防ぐといった効果を得る使い方や、簡単にネガティブプロンプトを入れるツール活用術を初心者向けに解説します。
Stable Diffusionでの画像生成AIにかかせないネガティブプロンプト
「ネガティブプロンプト」と呼ばれる要素は、不要な要素を排除し、画像の品質を高めるのに重要な役割を担っています。
プロンプトの入力と同じように英単語を入力して指示を出すことで生成クオリティをコントロールします。
使用法として、例えばエロ要素の排除には「nsfw」、画像にテキストが入る場合にテキストを除外するには「text」と入力すると効果的です。また、画質向上には「worst quality」や「JPEG artifacts」などの単語を入れることで効果を発揮することができます。
Stable Diffusionでのネガティブプロンプトの具体的な使用方法
- ネガティブプロンプトの入力欄にカーソルをあわせる
- ネガティブプロンプトの入力欄に直接入力するか、拡張ツールでプロンプトを入力する。
①ネガティブプロンプトの入力欄にカーソルをあわせる。
ネガティブプロンプトはプロンプトの入力欄の下にあります。プロンプト欄と同じように最初に入力したものが最も優先度が高くなります。
②ネガティブプロンプトの入力欄に直接入力するか、拡張ツールでプロンプトを入力する。
プロンプトと同じようにネガティブプロンプトも英単語の区切りにはカンマ( , )を入れます。
拡張機能は後で紹介するembeddingというツールで、ワンクリックで簡単にネガティブプロンプトを設定することができます。
コピペで使える基本のネガティブプロンプト
画質向上・顔まわりや手足の異常な形状を抑えるプロンプトをまとめています。こちらをコピーしてネガティブプロンプトの欄に貼り付けるだけでも生成画像のクオリティは上がります。
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 mutated disfigured
プロンプトと同じで効果を強調するためには鍵カッコでプロンプトを囲みます。例((low quality))
Stable Diffusionのネガティブプロンプト一覧
Stable Diffusionのネガティブプロンプトの一覧を表形式でまとめました。画像生成時に特定の要素を排除したり、品質を向上させる、背景の削除など目的に合わせて入力したいなどの場合に参考にしてください。
効果 | プロンプト | 説明 |
---|---|---|
画質向上 | low quality, worst quality, out of focus, ugly, error, JPEG artifacts, low resolution, blurry, bokeh | 低品質やピンぼけ、エラー、JPEG圧縮による劣化などを防ぐ |
NSFW内容排除 | nsfw, nipples, pubic hair | 成人向け要素、乳首、陰毛などを排除する |
作画崩壊防止 | bad anatomy, long_neck, long_body, deformed mutated disfigured, missing arms, extra_arms, mutated hands, extra_legs, bad hands, poorly_drawn_hands, malformed_hands, missing_limb, floating_limbs | 身体の奇形。不自然な形状、比例の破綻、描画の乱れなどを防ぐ |
特定要素排除 | text/username, logo, signature, watermark, username, artist name | テキスト、ロゴ、署名、透かし、ユーザー名、アーティスト名などを排除する |
画像分割排除 | multiple views, cropped, cross section | 画像内に被写体が2人以上、トリミングされた画像、断面図などを排除する |
その他排除 | monochrome, grey scale | 単色、グレースケールなどを排除する |
各プロンプトの指定してる内容
画質向上
low quality | 低画質 |
worst quality | 最悪な画質 |
low resolution | 低解像度 |
ugly | 醜い |
error | エラー |
JPEG | 荒くない画質にしたい意図で入力 |
artifacts | 人工物 |
out of focus | ピンボケ |
blurry | ぼやけた |
bokeh | ボケ |
作画崩壊防止
bad anatomy | 悪い解剖学 |
long_neck | 長い首 |
long_body | 長い胴 |
deformed mutated disfigured | 奇形 |
missing arms | 腕がない |
extra_arms | 余分な腕 |
mutated hands | 突然変異の手 |
extra_legs | 余分な足 |
bad hands | 悪い手 |
poorly_drawn_hands | 下手な手 |
malformed_hands | 奇形の手 |
missing_limb | 手足がない |
floating_limbs | 浮いた手足 |
Muscular Physique Bulging Muscles | 筋肉質な体 |
Sculpted Chest | 彫刻のような胸筋 |
ネガティブプロンプトの有無でどれほど違いが出るのかを検証
赤いジャージを来たショートボブの女の子がピースサインをする画像を生成して検証しました。
プロンプト:masterpiece, best quality, short bob cut, brown hair, blue eyes, upturned eyes, upper body, evil smile, v sign, medium breasts, red tracksuit, simple background
ステップ数: 20
サンプラー: Euler
スケール: 7
シード値: 280385220
画像サイズ: 512×512
モデル: anything-v4.5-pruned
VAE: kl-f8-anime2.ckpt
手と指の表現がおかしいですが、ネガティブプロンプトを入力することで生成された画像の印象が大きく変わっていることがわかると思います。
次にネガティブプロンプトの順番を入れ替えることで生成画像にどのような変化が起きるか検証しました。
画質向上のネガティブプロンプト→作画崩壊防止のネガティブプロンプトの順番で生成した場合と、逆に作画崩壊防止のネガティブプロンプト→画質向上のネガティブプロンプトの順番で画像を生成したものを比較してみました。
同じネガティブプロンプトでも順番が変わるだけで仕上がりに差が生まれることがわかります。
今回の生成画像では画質→作画崩壊防止の順番でネガティブプロンプトを入力したほうが指の大きな崩れが抑えられましたが生成枚数、サンプラー変更、シード値など設定が変われば結果も大きく変わるので一概にこの順番がいいとは限らないのが画像生成の難しいところです。
拡張機能embeddingで簡単にネガティブプロンプトを設定できる
ネガティブプロンプトに加え、embeddingを併用することでさらに効果を高めることができます。例えば『EasyNegative』はネガティブプロンプトの欄に「EasyNegative」と入力するだけで簡単に画像品質を向上させることができます。
ここでは筆者が持っているembeddingを用いて生成した場合の画像の違いを並べてみます。
embeddingで生成結果に違いがあり、2つ入力してみるとより破綻の無い画像が生成されるのかも調べて試したところ微妙な結果になってしまいました。
ネガティブプロンプトをembeddingだけ使用したり、先程提示したネガティブプロンプトをコピペしたりと生成方法は様々ですが、ひとまずembeddingで画像を多く生成→追加で欲しい結果に合わせてネガティブプロンプトを追加し調整する。という流れがおすすめです。
Stable Diffusionでネガティブプロンプトを入れるときの注意点
あまりに指示をたくさん出しすぎても優先度が下がってしまうのかうまく反映されなくなります。
背景をシンプルにするためにのネガティブプロンプトに「人がいない、建物がない、雲が無い、木が無いetc」など多くのことを入力するより。プロンプトに「シンプルな背景」と入力して強調をしたほうがうまく行くことがあります。
先にプロンプトで指定 ⇒ 生成した画像を見て排除したい要素をネガティブプロンプトで指定。
この順番で生成してみるようにしましょう。
ネガティブプロンプトだけでは手の表現はとても難しい
生成した画像を見てもらったらわかると思いますが、ネガティブプロンプトだけでは手の表現を綺麗に生成するのは難しく、生成のガチャを回すか、ペイントソフトで修正する。もしくはStable Diffusionの拡張機能であるコントロールネットなどを使うなど色々手を尽くす必要があります。
まとめ
Stable Diffusionのネガティブプロンプトは、画像生成の質を高め、より具体的な結果を得るために不可欠です。
画像生成で求める画像を出すには何度も生成をする必要はありますが、ネガティブプロンプトを活用することでその工数を大きく減らすことができるので試行錯誤を繰り返しながら自身の求める絵を手に入れるコツを見つけましょう。