画像の生成AIでは、通常のプロンプト(ポジティブプロント)とは別にネガティブプロンプトと呼ばれるものがあります。※使えない画像生成AIもあります。
この記事では、ネガティブプロンプトについて説明します。
コンピュータの専門学校がプログラミング及び、コンピュータの基礎を学び、その後、日本電気の子会社で働きました。その後、いくつかの開発の仕事を経て,コンピュータの専門学校の講師兼担任を経験し、その後はフリーにてシステムエンジニアやプログラマーの開発の仕事を担当、そのかたわらプログラミングスクールや職業訓練所、企業の新人教育などを担当しました。 25年以上のシステムエンジニア、プログラマーの仕事の経験があります。
ネガティブプロンプトとは?
ネガティブプロンプトとは聞き慣れないという人もいるかもしれませんが、Stable Diffusionで画像の生成を行う場合には大切な知識となります。
ここでは、通常のプロンプト(ポジティブプロンプト)とネガティブプロンプトの違いや、ネガティブプロンプトの必要性ついて説明しています。
ネガティブプロンプトとポジティブプロンプトの違い
以下は、ネガティブプロンプトとポジティブプロンプトとの比較表です。
項目 | ポジティブプロンプト | ネガティブプロンプト |
目的 | 生成する画像に含めたい要素やスタイルを指定 | 生成する画像から排除したい要素やスタイルを指定 |
効果 | 画像に求める具体的な特徴やデザインを強調 | 画像から望ましくない特徴を除去 |
指定方法 | 明確に含めたい要素をリストアップ | 排除したい要素をリストアップ |
適用 | 画像の内容やスタイルの方向性を決定 | 画像の品質や仕上がりを改善 |
結果への影響 | 画像の完成度や表現力を向上 | 画像のクリーンさや明瞭さを向上 |
例 | 「青空」「女性」「美しい夕日」「リアルな質感」 | 「低品質」「アーティファクト」「ノイズ」「ぼやけ」「歪み」 |
結論的に言うと、ネガティブプロンプトは、画像生成AIで生成時に避けたい要素やスタイルを指定し、望ましくない結果を排除するための指示です。
AIイラスト生成におけるネガティブプロンプトの重要性
通常は生成AIに指示をだして目的とする画像を生成しますが、大抵の場合は満足とする画像はなかなか生成されません。そこでプロンプトを工夫して次々と生成したい画像の条件をプロンプトに足していき目的とする画像を生成しようとしますが、プロンプトが複雑になり長文化していく傾向があります。
そういう場合に、足すのではなく引く、いらない要素を指定できるとうまくいくことがあります。そこで使われるのがネガティブプロンプトです。
ネガティブプロンプトのメリット
次にネガティブプロンプトのメリットについて紹介します。メリットは以下の4つです。
- 高品質な画像生成をすることが出来る
- 表情やポーズを調整することが出来る
- 不自然な描写を防いでくれる
- 実写やアニメ調など、どんな画像であっても適用できる
詳しく見ていきましょう。
高品質な画像生成をすることが出来る
ネガティブプロンプトで指示することによって、低品質な要素(例: 低解像度・ぼやけた画像・醜い要素など)を排除することができて、よりクリアな美しい画像を生成することができます。
例えば、「low quality」や「blurry」といったネガティブプロンプトによって、AIにこれらの要素を排除した画像を生成させることができます。
例としては、
- 風景画像の生成: 「美しい風景」というプロンプトに対して、「ゴミ、曇り空、汚れ」といったネガティブプロンプトによって、晴れた日の清潔な風景画像が生成されやすくなります。
- 人物画像の生成: 「美少女」の画像を生成する際に、「ugly」や「bad proportions」といったネガティブプロンプトを使うことで、自然で美しいプロポーションのキャラクターを得ることができます。
表情やポーズを調整することが出来る
ネガティブプロンプトを使って指示をすることで、特定の表情を排除できます。例えば、「not sad」や「not angry」といった指示を与えることで、悲しんだり怒ったりしている表情を避け、よりポジティブな表情を生成することが可能です。
また、特定のポーズを排除することもできます。例えば、「not unnatural position」や「not awkward pose」といった指示を与えることで、自然で魅力的なポーズを得ることができます。
例としては
- 表情の生成: 例えば、「happy」というプロンプトに対して、「not angry」や「not sad」といったネガティブプロンプトによって、喜んでいる表情を強調し、他の感情を排除することができます。
- ポーズの生成: 「ダンスをしている人物」というプロンプトに対して、「not awkward pose」や「not stiff」といったネガティブプロンプトによって、自然で流れるようなダンスのポーズを生成することができます。
不自然な描写を防いでくれる
ネガティブプロンプトを使って指示をすることで、AIが生成する画像において不自然な描写を排除できます。例えば、「ugly face」や「bad anatomy」といった指示を与えることで、人体の顔や形状の描写において不正確な画像を防ぐことができます。
また、手足の欠損や余分な指が描かれた不自然な画像を防ぐために、「missing limbs」や「extra fingers」といった指示を与えます。
例としては
- 人体の描写: 例えば、「人物が立っている」というプロンプトに対して、「missing limbs」や「bad anatomy」といったネガティブプロンプトによって、人体の形状が不正確な画像や手足が欠けた画像を生成することを防ぎます。
- 顔の描写: 「笑顔の人物」というプロンプトに対して、「deformed eyes」や「ugly face」といったネガティブプロンプトによって、醜い顔や歪んだ目の描写を排除し、より自然で魅力的な顔を生成することができます。
実写やアニメ調など、どんな画像であっても適用できる
ネガティブプロンプトを使って指示することで、特定のスタイルに合わせた画像を生成する際に、不要な要素を排除できます。例えば、アニメスタイルの画像を生成する際に「photorealistic」や「realistic」といった要素を排除することで、よりアニメらしい表現を強調できます。
また、アニメキャラクターの画像を生成する際に「bad anatomy」や「ugly face」といった指示を与えることで、キャラクターの形状や顔の描写が不正確な画像を防ぐことができます。
例としては
- アニメスタイルの生成: 「アニメキャラクターが笑っている」というプロンプトに対して、「bad anatomy」や「realistic」といったネガティブプロンプトによって、不自然な形状のキャラクターやリアルな描写を排除し、よりアニメらしいキャラクターを生成することができます。
ネガティブプロンプトの効果的な使い方
ネガティブプロンプトを効果的に使うにはいくつかの使い方があります。
基本的には具体的な指示を与えるネガティブプロンプトを選んでつかうことや、ネガティブプロンプトを複数指定することがあげられます。
複数のネガティブプロンプトは以下のように、いくつかのネガティブプロンプトを並べます。※”,”で区切って指定します。
以上の例は低品質を排除するネガティブプロンプトで、より高品質な画像の生成を得られます。
他にも効果的な使い方がありますので、ここでは3つの使い方について説明します。
ポジティブプロンプトとのバランス
大事なことのひとつは明確な指示を与えることです。ポジティブプロンプトで生成すべき画像の内容を明確にし、その後で、ネガティブプロンプトを使って排除したい要素を具体的に指定します。
また、優先順位をつけることも大事です。ポジティブプロンプトで先に指示をして、その後にネガティブプロンプトを続けることで、AIが生成する際の優先順位を明確にします。例えば、「美しい風景、青い空、緑の草原」といったポジティブプロンプトを先に指示して、その後に「ぼやけた、暗い、低品質」といったネガティブプロンプトを追加します。
例としては、以下のようになります。
- 人物画像の生成: 「美しい女性が微笑んでいる」というポジティブプロンプトに対して、「不自然な顔、悪い比率、低品質」といったネガティブプロンプトを組み合わせることで、よりリアルで美しい画像を生成できます。
- 風景画像の生成: 「美しい山の風景」というポジティブプロンプトに対して、「ぼやけた、暗い、低コントラスト」といったネガティブプロンプトによって、鮮明で美しい山の風景を得ることができます。
テスト生成と細かい調整
画像生成AIを使ったことがある方はお分かりかと思いますが、一回のプロンプトの指示文で一発で望む画像が生成できることは稀です。まずはテスト生成を行いポジティブプロントやネガティブプロンプトを調整することが必要です。特にポジティブプロントでまず画像を作成して、その後に続いてネガティブプロンプトで指示を与えて変化を確認して、評価します。
ネガティブプロンプトの評価を、優先度を変更したり(順番によって先頭から優先度が高いです。)、今あるネガティブプロンプトを削除したり、新しいネガティブプロンプトを追加したりして繰り返しおこないます。
上記の作業を繰り返し反復処理を行って、望む画像が生成されるプロンプトを見つけ出します。
プロンプトの組み合わせテクニック
先程から説明していますが、ネガティブプロンプトは重要度の高い要素を前に配置すること需要です。画像生成AIは、プロンプトの先頭にある要素をより重視する傾向があり、最も重要な要素を前に配置することで、生成結果に大きな影響を与えることができます。
例えば、
その後、順番を変えたり、新しいネガティブプロンプトの追加を行い調整をおこないます。
【目的別】Stable Diffusionのネガティブプロンプト集!
Stable Diffusionでの創造力を最大限に引き出すためには、ネガティブプロンプトを活用することが大事であると説明してまいりましたが、ここでは、目的別に生成したくない要素を効果的に排除するためのネガティブプロンプト集をご紹介します。
ネガティブプロンプトは、具体的に指定することが大事です。目的別に紹介してありますので、ご自分の生成したい画像にあわせてコピーしてお使いください。
高品質にしたいときのネガティブプロンプト
画像の品質やクオリティーに関するプロンプトは常に入力するべきネガティブプロンプトとなります。
プロンプト | 日本語の意味 | 実際の効果 |
worst quality | 最低品質 | 最低の品質を排除します |
low resolution | 低解像度 | 解像度を向上させます |
blurry | ぼやけた | 全体のぼやけを排除します |
JPEG artifacts | JPEG圧縮による画質の低下 | JPEG 圧縮における画質低下を防ぎます |
ugly | ひどい・醜い | 醜さを排除します |
error | エラー | 生成のエラーを排除します |
lowers | 画質を下げる | 画質を向上させます |
poor quality | 乏しい質 | 質の向上 |
bokeh | ボケ | ピンぼけ等をなくします |
不適切な描写をしないようにするネガティブプロンプト
不適切な描写とは、特にアダルトサイト的な画像の要素のことです。
プロンプト | 日本語の意味 | 実際の効果 |
nsfw(Not Safe for Work) | 性的描写 | 成人向けの性的描写を排除します |
public hair | 局部の毛 | 局部における毛を排除します |
nipples | 乳首 | 乳首露出を排除します |
nude | 裸体 | 裸体の表現を排除します |
bare navel | へそを出す | へそ出しを排除します |
exposed skin | 肌の露出 | 肌の露出を排除します |
exposed chest | 胸の露出 | 露出した胸の表現を排除します |
不自然な描写を防ぐためのネガティブプロンプト
物体や人間の不自然な形状や細かいデッサンの崩れなどを防ぐネガティブプロンプトです。生成する画像のバランスや自然な見た目が保たれます。
プロンプト | 日本語の意味 | 実際の効果 |
bad anatomy | おかしい人体構造 | 人体のおかしな構造の出現を排除します |
deformed mutated disfigured | 変形している | 変形の要素を排除します |
missing arms | 腕の欠損 | 腕が足りない・あるいはないを排除します |
extra_arms | 腕が多い | 腕の数が多いの排除します |
malformed_hands | 奇形な手 | 通常ではない手を排除します |
disconnected_limbs | 繋がっていない足や手、四肢 | 分離する手足を排除します |
floating_limbs | 宙に浮く足や手、四肢 | 不自然に浮き上がらないようにする |
cropped | 切り取られている | 必要なのに切り取りされないようにします。 |
Powerful Biceps | 二の腕の筋肉 | 二の腕の筋肉の不自然な生成を排除します |
huge breasts | 大きすぎる胸 | 胸が大きくなりすぎるのを排除します |
bad proportions | 悪い姿勢 | 姿勢が悪いのを排除します |
cat ears | 猫耳 | 猫耳を生成しないように排除します |
humpbacked | 猫背 | 猫背にならないようにします |
torso length | 胴長 | 不必要に胴長にならないようにします |
deformed eyes | 歪んだ目 | 目が歪まないようにする |
partial head | 半分の頭 | 頭が半分にならないようにする |
liquid fingers | 下手な指 | 指の画像生成がおかしくならない様にします |
inaccurate limb | 不正確な四肢 | 四肢が不正確にならないようにします |
表情・肌関連のネガティブプロンプト
人物の表情や肌に関するネガティブプロンプトです。
プロンプト | 日本語の意味 | 実際の効果 |
ugly face | 醜い顔 | 醜い顔を排除します |
cross-eyed | 寄り目 | 寄り目を排除します |
Uneven Teeth | 不揃いの歯 | 不揃いの歯を排除します |
half-open eyes | 半開きの目 | 半開きの目を排除します |
open mouth | 口を開けた | 口を開けた表情を排除します |
make-up | メイク | メイクを排除します |
blush | 頬を赤く染める | 頬を赤く染めないようにします |
rouge | 口紅やチーク | 口紅やチークを排除します |
mascara | マスカラ | マスカラを排除します |
dot | ほくろ | ほくろを排除します |
freckles | そばかす | そばかすを排除します |
closed mouth | 閉じた口 | 閉じた口を排除します |
poorly drawn face | 下手に描かれた顔 | 下手に描かれた顔を排除します |
bad mouth | 悪い口 | 悪い口を排除します |
worst face | 最悪の顔 | 最悪の顔を排除します |
bad eyes | 悪い・低品質な目 | 悪い・低品質な目を排除します |
特定の作画スタイル・アートスタイルを避けるネガティブプロンプト
特定の作画スタイル・アートスタイルを排除するネガティブプロンプトです。
プロンプト | 日本語の意味 | 実際の効果 |
sketch | スケッチ画 | スケッチ画のスタイルを排除します |
watercolor | 水彩画 | 水彩画のスタイルを排除します |
flat shading | CGの要素 | 画像からCGの要素を排除します |
2D | 2次元 | 画像から2次元的な要素を排除します |
oil painting | 油絵 | 油絵のスタイルを排除します |
monochrome | モノクロ | モノクロのスタイルを排除します |
flat color | 単調な出来上がり | 単調な出来上がりを排除します |
retro style | レトロ調 | レトロ調のスタイルを排除します |
ink | ペンで書いたようなイラスト | ペンで書いたようなイラストの要素を排除します |
1girl,1boy | 一人 | 一人の画像を排除します |
multiple people | 複数人 | 複数人の画像の要素を排除します |
animal | 動物 | 動物の要素を排除します |
ロゴやテキスト(文字)を取り除くネガティブプロンプト
画像に生成されるテキストやロゴを排除するネガティブプロンプトです。
プロンプト | 日本語の意味 | 実際の効果 |
text | 文字 | 生成される画像からテキストを排除します |
signature | ロゴ | 生成される画像からロゴを排除します |
username | 名前 | 生成される画像から名前の要素を排除します |
date | 日付 | 生成される画像から日付を排除します |
watermark | 透かし | 生成される画像から透かしを排除します |
stamp | スタンプ | 生成される画像からスタンプを排除します |
artist name | アーティスト名 | 生成される画像からアーティスト名を排除します |
title | タイトル | 生成される画像からタイトルを排除します |
footer/header | フッター/ヘッダー | 生成される画像からフッター/ゲッターを排除します |
分割成分を避けるネガティブプロンプト
分割生成とは複数の角度からの生成や、分割された画面の生成のことで、それらの排除をするネガティブプロンプトです。
プロンプト | 日本語の意味 | 実際の効果 |
multipul angle | 複数の角度 | 複数の角度からの要素を排除します |
split view | 分割画面 | 画面が分割されるのを排除します |
two shot | 二人の人物が同じ画面に生成されている | 二人の人物が同じ画面に生成されるのを排除します |
glid view | グリッド表示 | グリッド表示を排除します |
ネガティブプロンプトのよくある失敗
ネガティブプロンプトを活用する際には、思わぬ失敗に直面することがあります。生成結果が期待通りにならない原因を把握し、改善するためのポイントを解説します。この章では、よくある失敗例とその対策を詳しく紹介します。
ネガティブプロンプトの数が多すぎる
ネガティブプロンプトを多く入れすぎると、生成結果が予期せぬ方向へ進むことがあります。例えば、「青い空」「赤い花」「緑の葉」「明るい光」など、多くの要素を同時に排除しようとすると、結果として曖昧で不自然な画像になることがあります。
改善策は以下になります。
- 優先順位をつける: 本当に排除したい要素を絞り込み、順番で先頭の方にもっていく。
- テストを重ねる: 少ない要素から始めて、必要に応じて調整する。
指示が抽象的すぎる
ネガティブプロンプトで指示が抽象的すぎると、AIが意図を正確に理解できず、期待通りの結果にならない場合があります。漠然としたネガティブプロンプトよりもより具体的なネガティブプロンプトを効果的に組み合わせて使うことが大事です。
改善策は以下になります。
- 具体性を持たせる: なるべく具体的な指示のネガティブプロンプトを選んで使う。
- 具体例をイメージし易いものを選ぶ: 具体的なイメージや状況が予想できるネガティブプロンプトを選ぶ。
過度に排除しすぎてしまう
ネガティブプロンプトで過度に要素を排除しすぎると、生成された画像が平坦で魅力に欠けることがあります。ネガティブプロンプトで紹介したプロンプトをあまりに一緒に指定すると立体感のないのっぺりとした画像になってしまうこともあり得ます。
改善策は以下になります。
- 必要最低限に絞る: 本当に排除したい要素だけを選ぶ。
- バランスを考える: 欲しい要素と避けたい要素のバランスを取る。
ネガティブプロンプトを活用してイメージ通りの画像生成を!
画像生成AIでは、ネガティブプロンプトを使うことで、不要な要素を排除し、望む画像を得やすくなります。
この記事は、ネガティブプロンプトのメリットや効果的な組み合わせ方を解説し、Stable Diffusionの具体例も紹介しています。
プロンプトは順番を変えたり、新しいものを追加したりして試行することが重要で、注意点も説明しています。ネガティブプロンプトを使いこなせば、理想の画像が得られます。
生成AIについての疑問や、生成AIを使ったアプリ開発・Webアプリ開発会社の選定に迷った場合は、実績豊富な株式会社Jiteraに一度ご相談ください。貴社の要件に対する的確なアドバイスが提供されると期待できます。