出典:civitai.com
Stable Diffusionで高品質な画像を生成するには、プロンプト(AIへの指示文)だけでなく、ネガティブプロンプトも活用する必要があります。
画像を生成する際に除外したい内容のテキストを入力すること。
しかし、
- ネガティブプロンプトの使い方がわからない
- 具体的に何を入力すればいいかわからない
- ネガティブプロンプトを長々と書くのが面倒
上記のように考えている方が多いでしょう。
結論からいうと、ネガティブプロンプトに入力した内容は絵に反映されにくくなり、Embeddingを使用すれば少ない記述で大きな効果が得られます。
今回は、Stable Diffusionでネガティブプロンプトを入力する方法や記述例などを解説します。
おすすめのEmbeddingも紹介するので、生成する絵の品質を高めたい方は本記事をぜひ最後までご覧ください。
そもそもStable Diffusionの概要や導入方法がわからない場合は、以下の記事を先にチェックしてくださいね。
ネガティブプロンプトの特徴や入れ方
ここでは、ネガティブプロンプトの特徴を中心とした、以下5つのポイントを解説します。
- 記述した内容が反映されにくくなる
- Negative Prompt欄に入力する
- 書き方は通常のプロンプトとほぼ同じ
- 書きすぎると効果が薄くなる
- EmbeddingやLoraで簡略化できる
1.記述した内容が反映されにくくなる
ネガティブプロンプトを入力すると、生成される絵に記述した単語が反映されにくくなります。
たとえば、通常のプロンプトに「1 girl, in room」と入力すると、部屋の中にいる女の子の絵が生成されます。
上記に加えて、ネガティブプロンプトに「window」と入力すれば、窓がない部屋を生成することが可能です。
ネガティブプロンプトに入力しても効果は確実ではない点に注意してください。
2.Negative Prompt欄に入力する
ネガティブプロンプトを入力する箇所は、プロンプトの入力欄の隣にある「Negative Prompt」です。
入力する箇所を間違えると逆効果となるので気を付けましょう。
なお、利用するサービスによっては、あらかじめネガティブプロンプトが入力されている場合もあります。
入力されている単語は高品質な絵を生成するのに役立ちますが、不要であれば削除しても構いません。
3.書き方は通常のプロンプトとほぼ同じ
入力する箇所が異なる点を除けば、ネガティブプロンプトの書き方自体は通常のプロンプトとほぼ同じです。
基本は単語をカンマで区切り、前に書いた単語ほど効果が強くなります。
そのため、なるべく絵に反映させたくない単語は最初に書くようにしましょう。
プロンプトの詳細な書き方やコツについては、以下の記事を参考にしてください。
4.書きすぎると効果が薄くなる
通常のプロンプトと同様に、ネガティブプロンプトのトークン数(単語数)が多くなりすぎると効果が薄くなります。
ネガティブプロンプトに必ず書いておきたい単語は多いものの、すべてを入力すると肝心な要素を除外しにくくなる場合があるでしょう。
また、ネガティブプロンプトの入力のしすぎは、生成される絵のクオリティを下げる要因にもなることも。
ネガティブプロンプトの効果が思ったとおりに現れないときは、単語の数を減らすなどして調整してみてください。
特定の単語をとくに強調したいときは(単語:数値)のように書いて重ね付けする方法も効果的です。
5.EmbeddingやLoraで簡略化できる
ネガティブプロンプト用に作られたEmbeddingやLoraを使うことで、高頻度で使われている単語の入力を省略できます。
EmbeddingおよびLoraはモデルの拡張データで、入力欄にトリガーワードを記述すれば効果を発揮します。
たとえば、EasyNegativeというEmbeddingを使うときは、指定の場所にデータをダウンロードして、ネガティブプロンプトにトリガーワード「EasyNegative」と入力するだけ。
少ない記述量で高品質な絵を生成しやすくなるので、自分で入力するのが面倒だと感じたら試してみるとよいでしょう。
EmbeddingやLoraについては以下の記事でも解説しています。
Stable Diffusionの汎用的なネガティブプロンプト一覧
ネガティブプロンプトを使う主な目的は以下のとおりです。
- 低品質を防ぐ
- nsfw(性的描写など)を避ける
- テキスト(文字)やロゴ表示を除外する
- 体の部位の欠損や奇形を防ぐ
- コマ割り・分割する表現を避ける
- 特定の画風やスタイルを避ける
- 特定の要素を取り除く
ここでは、それぞれの目的で使用されやすい汎用的な単語を一覧で紹介します。
低品質を防ぐ
単語 | 意味 |
---|---|
lowers | 低画質 |
normal quality | 普通の品質 |
low quality | 低品質 |
worst quality | 最悪の品質 |
poor quality | 乏しい品質 |
low resolution | 低解像度 |
bad art | 下手なアート |
ugly | 醜い |
out of focus | フォーカスが合っていない |
blurry | ぼやけている |
bokeh | ピンボケ |
jpeg artifacts | JPEG圧縮 |
低品質を表す単語をネガティブプロンプトに入力することでクオリティの低い絵が生成されないようにします。
高品質な絵を生成するのであれば必須となるでしょう。
nsfw(性的描写など)を避ける
単語 | 意味 |
---|---|
nsfw | Not Safe For Work(職場での閲覧が危険) |
nude | 裸 |
nipples | 乳首 |
pubic hair | 陰毛 |
bare navel | へそ出し |
exposed skin | 露出した肌 |
exposed chest | 露出した胸 |
blood | 血 |
Bruises | あざ |
wound | 傷 |
nsfw(性的描写や暴力的表現)を避ける際に用います。
Webサービスでは利用が制限される可能性があるため、生成したい内容に応じて適切に入力しましょう。
テキスト(文字)やロゴ表示を除外する
単語 | 意味 |
---|---|
text | テキスト |
watermark | 透かし |
logo | ロゴ |
signature | 署名 |
username | ユーザー名 |
stamp | スタンプ |
date | 日付 |
title | タイトル |
QR code | QRコード |
bar code | バーコード |
意味をなさない文字列やアーティストのサイン、ロゴ表示などが含まれないように入力します。
体の部位の欠損や奇形を防ぐ
単語 | 意味 |
---|---|
bad anatomy | 不正確な人体構造 |
bad parts | 不正確な部位 |
missing parts | 欠損した部位 |
extra parts | 余分な部位 |
fewer parts | 少ない部位 |
partial parts | 部分的な部位 |
long parts | 長い部位 |
mutated parts | 変形した部位 |
strange parts | 奇妙な部位 |
malformed parts | 奇形な部位 |
distorted parts | 歪んだ部位 |
disconnected parts | つながっていない部位 |
floating parts | 浮いている部位 |
liquid parts | 溶けた部位 |
fused parts | 融合した部位 |
人物を生成すると、手足や体の構造がおかしくなることが多々あります。
ネガティブプロンプトを利用して、できるだけ正しい形になるようにしましょう。
表中のparts部分は、以下のような体の部位と置き換えてください。
- hands(手)
- fingers(指)
- arms(腕)
- foots(足)
- limb(四肢)
- body(体)
- neck(首)
- eyes(目)
コマ割り・分割する表現を避ける
単語 | 意味 |
---|---|
panel layout | コマ割り |
split view | 画面分割 |
grid view | グリッド表示 |
multiple angle | 複数の角度 |
two shot | ツーショット |
イラストを生成する際、マンガなどで使われるコマ割り表現を避けるために入力してみてください。
特定の画風やスタイルを避ける
単語 | 意味 |
---|---|
realistic | リアル調 |
anime | アニメ調 |
illustration | イラスト |
cartoon | カートゥーン |
watercolor | 水彩画 |
oil painting | 油絵 |
sketch | スケッチ |
monochrome | モノクロ |
retro | レトロ調 |
flat color | 影のない平坦な塗り |
2D | 2次元(平面的) |
3D | 3次元(立体的) |
避けたいスタイルなどがあれば、ネガティブプロンプトに書いて防ぎましょう。
特定の要素を取り除く
単語 | 意味 |
---|---|
makeup | 化粧 |
rouge | 口紅 |
mascara | マスカラ |
mole | ほくろ |
open mouth | 開いた口 |
half-open eyes | 半開きの目 |
obesity | 肥満 |
muscle | 筋肉質 |
hairy | 毛深い |
生成した絵に余計なものが含まれているときは、ネガティブプロンプトで入力してなるべく除去できるようにしましょう。
ネガティブプロンプトに使えるおすすめのEmbedding5選
ネガティブプロンプトにトリガーワードを書いて使用するEmbeddingのうち、5つのおすすめを紹介します。
- EasyNegative
- Deep Negative V1.x
- badhandv4
- CyberRealistic Negative
- Style Asian Less
Embeddingを簡単に説明すると、長文のネガティブプロンプトの入力を短縮できる追加学習機能です。
他のEmbeddingが気になる方は、Civitaiのモデル一覧ページで検索するなどの方法で探してみてください。
EasyNegative
まずは試してみてほしい、Embeddingの定番です。
EasyNegativeを入れるだけで、生成される絵の質が大幅に改善されます。
Counterfeitというアニメ系のモデルを使って訓練されているため、とくにアニメ系の絵を生成するときに利用するとよいでしょう。
トリガーワード「EasyNegative」をネガティブプロンプトに入力して使います。
Deep Negative V1.x
人体の構造について重点的に学習しているのが特徴のEmbeddingです。
手足がおかしかったり多かったりするときに使用すれば改善が期待できます。
リアル系の画像で学習しているため、実写の人物絵を生成するときに効果が発揮されやすいでしょう。
なお、使用するバージョンによってトリガーワードの数字が異なるので注意してください。
たとえば、V1.75Tを使うときは「NG_DeepNegative_V1_75t」のようにネガティブプロンプトに入力します。
badhandv4
絵のスタイルにあまり影響を与えずに手の形を改善できるEmbeddingです。
画像を生成する中でとくに形が崩れやすい手足や指先を整えるために使えます。
AnimeillustDiffusionモデル用に作られているためアニメ絵向きですが、実写系を生成する際も効果が見込めるでしょう。
トリガーワードは「bandhandv4」をネガティブプロンプトに入力して利用してください。
ちなみに、badhandv4を使うときはCFGスケールの設定は11以上が推奨されています。
CyberRealistic Negative
CyberRealistic系のモデルに特化したEmbeddingです。
アニメ系とリアル系の2バージョンが用意されているため、生成したい系統に応じて使い分けられます。
アニメ系に対応したEmbeddingを使いたい場合は、ダウンロードページのタブを「Anime v1.0」に切り替えてダウンロードしてください。
v1.0のトリガーワードは「CyberRealistic_Negative」、anime v1.0のトリガーワードは「CyberRealistic_Negative_Anime」です。
Style Asian Less
アジア系の文化や特徴を取り除くのに使えるEmbeddingです。
アジア系の特徴が反映されにくくなれば、その他の地域の文化が色濃く反映されやすくなります。
アニメ系の特徴を出しにくくすることも可能なので、西洋的なリアル系の絵を生成するのに重宝するでしょう。
4つのバージョンが用意されており、それぞれトリガーワードも異なります。
- Asian-Less2-Neg:比較的新しいモデルに対応。トリガーワード「Asian-Less2-Neg」をネガティブプロンプトに入力。
- Asian-Less-Neg:旧バージョン。トリガーワード「Asian-Less-Neg」をネガティブプロンプトに入力。
- Asian-Less:アジア系のモデル利用時など、効力を追加したいときに使用。トリガーワード「Asian-Less」をポジティブプロンプトに入力。
- Asian-Less-Toon:アニメ的な特徴を削除するのに使う。トリガーワード「Asian-Less-Toon」をポジティブプロンプトに入力。
Stable Diffusionのネガティブプロンプトに関するQ&A
Stable Diffusionのネガティブプロンプトに関する、よくある質問と回答を紹介します。
- アニメ系や実写系といったスタイルの違いがあっても有効ですか?
- ネガティブプロンプトに入力しても効果がありません
- ネガティブプロンプトを書くときの注意点は?
- Embeddingのトリガーワードがわかりません
- EmbeddingはSDXLでも使えますか?
- アニメ系や実写系といったスタイルの違いがあっても有効ですか?
-
今回紹介したネガティブプロンプト向きの単語は、アニメ系でも実写系でも効果が出る可能性は高いでしょう。
ただし、使用しているモデルによっては効果がない場合も。
たとえば、アニメ系のイラストを中心に学習したモデルを使用しているときに、ネガティブプロンプトで「anime」と入力しても効果が薄いのです。
実際にネガティブプロンプトを入力し、何回も試す中で効果を確認してみてください。
- ネガティブプロンプトに入力しても効果がありません
-
プロンプトに入力しても反映されない場合があるのと同様に、ネガティブプロンプトの内容が絵に現れることもあります。
入力した単語の量が多いと効果が分散されるので、除外したい要素をできるだけ絞って記述するよう気を付けましょう。
また、Embeddingは多くの単語を内包しているため、追加で入力した単語の効果が出ないことも。
場合によっては、Embeddingを使わずに手入力するのも一つの手です。
- ネガティブプロンプトを書くときの注意点は?
-
ネガティブプロンプトで入力する前に、いったん画像を生成してプロンプトを整えるとよいでしょう。
ネガティブプロンプトには、今回紹介した単語のように、必須レベルで入力したい単語が多いのです。
入力量が多くなりすぎないよう、まずはプロンプトで必要なものを入力してから、足りない部分をネガティブプロンプトで補うと、絵をうまく生成しやすくなります。
- Embeddingのトリガーワードがわかりません
-
Embeddingのトリガーワードは、ダウンロードページの概要文や説明文に書かれています。
Civitaiの場合、ダウンロードページの表に書かれているので確認してみてください。
- EmbeddingはSDXLでも使えますか?
-
EmbeddingはSDXL(Stable Diffusion XL)でも使えます。
ただし、今回紹介したEmbeddingはStable Diffusion 1.5のみに対応したものがほとんどなので、SDXLでは使用できません。
モデル選択画面のフィルターで、モデルタイプを「Embedding」に、Base modelを「SDXL 1.0」などに設定して探してみてください。
SDXLに対応したモデルには、unaestheticXLやUltimate Text Embeddings SDXL Packなどがあります。
まとめ
本記事では、Stable Diffusionのネガティブプロンプトについて解説しました。
最後に、記事の内容をおさらいしておきましょう。
- ネガティブプロンプトは特定の要素を除外するために使用する
- 低品質やNSFW、体の欠損などを避けた絵を生成しやすくなる
- 配布されているEmbeddingを導入すれば簡略化も可能
- Embeddingを使用するにはデータのダウンロードとトリガーワードが必要
ネガティブプロンプトを活用すれば、通常のプロンプトだけでは難しい高品質な画像を生成できる確率が高まります。
本記事で紹介した単語やEmbeddingをもとに、より品質の高い絵を作れるネガティブプロンプトを探してみてください。
ネガティブプロンプトを書く際、通常のプロンプトの書き方を解説している以下の記事が参考になるでしょう。