今回は、画像生成AI「Stable Diffusion」で生成される画像の品質に対し、プロンプト・ネガティブプロンプトが与える影響について調べていきたいと思います!
具体的には、以下のような画像を生成できるモデル「Linaqruf/anything-v3.0」を使って
- prompt: red hair, long hair, ahoge, red eyes, gothic fathion, frill, neck ribbon, floating string,floating ribbon
- negative_prompt: nsfw, poor quality, bad face, bad fingers, bad anatomy, missing fingers, low res, retro style cropped, signature, watermark, username, artist name
- model: Linaqruf/anything-v3.0
- scale: 11
scaleとmodelは固定したまま、promptに品質呪文を加えたり、negative_promptを減らしたり増やしたりしながら、どのように画像が変わるのかを見ていきます。
長くなりますが、それではさっそく見ていきましょう(・ω・)/
- 実験1. ネガティブプロンプトを無しにして、ポジティブプロンプトでクオリティを操作する
- 実験2. ネガティブプロンプトを無しにして、ポジティブプロンプトで「○○ quality」という形式でクオリティを操作する
- 実験3. ネガティブプロンプトを加えて、実験2と同じパターンを検証する
- 実験4. ネガティブプロンプトを少しずつ減らし、影響度の高いネガティブプロンプトを調査する
- 実験結果まとめ
実験1. ネガティブプロンプトを無しにして、ポジティブプロンプトでクオリティを操作する
クオリティを示す英語を50段階で列挙してください
【chatGPT】以下に、クオリティを示す英語を50段階で列挙します。
……いま37個目だけど、全部一緒っぽい(゜-゜)
ネガティブプロンプトの指定が無いせいかな?それとも、qualityって追加してないからかな??
実験2. ネガティブプロンプトを無しにして、ポジティブプロンプトで「○○ quality」という形式でクオリティを操作する
【chatGPT】以下に、クオリティを示す英語を「○○ quality」という形式で10段階にして列挙します。
低品質プロンプトを入れたからと言っても、低品質になるわけでもないし、高品質プロンプトを入れたからと言っても、高品質になるわけではなさそう。
実験3. ネガティブプロンプトを加えて、実験2と同じパターンを検証する
negative_prompt: bad face, bad fingers, bad anatomy, missing fingers, low res, retro style cropped, signature, watermark, username, artist name
ネガティブプロンプトを加えると、どの「○○ quality」をポジティブプロンプトを入れても関係なく、綺麗なイラストが生成される。
品質への影響は、ポジティブプロンプトの影響よりも、ネガティブプロンプトの影響の方が圧倒的に大きい
実験4. ネガティブプロンプトを少しずつ減らし、影響度の高いネガティブプロンプトを調査する
negative_prompt: bad face, bad fingers, bad anatomy, missing fingers, low res, retro style cropped, signature, watermark, username, artist name
の要素を1個ずつ削除してみます
「bad anatomy」を無くすと、体などのバランスがおかしくなり始める
「retro style」を無くすと、色や作画が昭和っぽくなる
「watermark」を無くすと、画質が悪くなる
ということがわかった。
これらのネガティブプロンプトは、生成画像の品質に大きく影響するため、自分が作りたいイラストの雰囲気に合わせて正しく使い分けたい。
実験結果まとめ
- ネガティブプロンプトが何も指定されていない場合、ポジティブプロンプトに高品質呪文を入れても、高品質なイラストが生成されにくい
- ネガティブプロンプトが画像品質に与える影響は、ポジティブプロンプトの影響よりも圧倒的に大きい
- ネガティブプロンプトの中でも、特に影響度が大きいのは「bad anatomy」「retro style」「watermark」