SoreNutsからのお知らせ
新規記事
5/14にComfyUIで背景を削除できるノードを公開!
5/3に既存のプロンプトをローカルLLMを使って拡張【ComfyUI IF AI tools】を公開!
更新記事
5/11に髪型のプロンプト(呪文)一覧を更新!
5/5に環境・背景・場所のプロンプト(呪文)一覧を更新!
Stable Diffusionの品質に影響するネガティブプロンプト(Negative Prompt)の一覧と解説です。ネガティブプロンプトとEmbedding(Textual Inversion)の使い方チュートリアルもあるので参考にどうぞ。
チュートリアル
ネガティブプロンプトとは
通常のプロンプトは、ユーザーがモデルに何を生成させたいかを指定するためのものです。ネガティブプロンプトはその逆で、ユーザーが生成される内容で見たくないものを指定します。
例えば、AIが人物のイラストを生成する際に、茶髪だけはどうしても生成して欲しくないときにネガティブプロンプトにBrown hairと記載することで茶髪が生成されるのを抑制できるようになります。
これを利用してネガティブプロンプトに品質が悪いと記載すると、なんと正直に品質が悪い画像を除外してくれる。
使い方
通常のプロンプトの下にNegative prompt(ネガティブプロンプト)を記載するテキストボックスがある。
そこに
クリックでコピーできるよ | (worst quality, low quality:1.4) |
こう記載して生成してみよう。
これだけで品質が格段に上がったのが分かると思います。
このネガティブプロンプトのテクニックは必須級です。
プロンプトの書き方について少し説明します。
()かっこをつけると中に入っているプロンプトの倍率を指定できるようになります。
(worst quality, low quality:1.4)
この場合プロンプトの効力が1.4倍になるという意味になります。
詳しく知りたい方へ
少し用語の解説から
トークンとは?
トークンは、テキストデータを小さな単位に分割したものを指します。たとえば、
文章 “I love ice cream.” をトークン化すると
[“I”, “love”, “ice”, “cream”, “.”]
のように分割されることが一般的です。この場合、各単語や句読点がトークンとして扱われます。
生成ボタンの左側に13/75と8/75と書かれていますね。
これがトークン数です。
通常のプロンプトに指示を加えると、プロンプトのトークン数が増えてしまうため、制限内で詳細な指示を行うのが難しくなる場合があります。しかし、ネガティブプロンプトの方法では、このトークン数の制約を受けずに指示を行うことができるとのこと。
ネガティブプロンプト一覧
コピー可能なテーブル
品質を表す言葉
日本語訳 | 英語 | 日本語訳 | 英語 |
---|---|---|---|
低品質 | low | 最悪の品質 | worst |
貧弱・悪い | poor | 悪い | bad |
ひどい | terrible | ひどく悪い | awful |
みじめな | pathetic | 陰気な | dismal |
劣悪 | inferior | 平均以下 | subpar |
不良 | defective | 欠陥がある | flawed |
不満足 | unsatisfactory | 粗悪 | shoddy |
基準以下 | substandard | 平凡 | mediocre |
粗雑 | crude | 最低 | lousy |
ぱっとしない | unimpressive | 期待外れ | disappointing |
不十分 | inadequate | 精練されていない | unrefined |
不足している | insufficient |
コピペ用
日本語訳 | 英語 | 日本語訳 | 英語 |
---|---|---|---|
低品質 | low quality | 最悪の品質 | worst quality |
貧弱・悪い | poor quality | 悪い | bad quality |
ひどい | terrible quality | ひどく悪い | awful quality |
みじめな | pathetic quality | 陰気な | dismal quality |
劣悪 | inferior quality | 平均以下 | subpar quality |
不良 | defective quality | 欠陥がある | flawed quality |
不満足 | unsatisfactory quality | 粗悪 | shoddy quality |
基準以下 | substandard quality | 平凡 | mediocre quality |
粗雑 | crude quality | 最低 | lousy quality |
ぱっとしない | unimpressive quality | 期待外れ | disappointing quality |
不十分 | inadequate quality | 精練されていない | unrefined quality |
不足している | insufficient quality |
日本語訳 | 英語 | 日本語訳 | 英語 |
---|---|---|---|
低品質 | (low quality:1.4) | 最悪の品質 | (worst quality:1.4) |
貧弱・悪い | (poor quality:1.4) | 悪い | (bad quality:1.4) |
ひどい | (terrible quality:1.4) | ひどく悪い | (awful quality:1.4) |
みじめな | (pathetic quality:1.4) | 陰気な | (dismal quality:1.4) |
劣悪 | (inferior quality:1.4) | 平均以下 | (subpar quality:1.4) |
不良 | (defective quality:1.4) | 欠陥がある | (flawed quality:1.4) |
不満足 | (unsatisfactory quality:1.4) | 粗悪 | (shoddy quality:1.4) |
基準以下 | (substandard quality:1.4) | 平凡 | (mediocre quality:1.4) |
粗雑 | (crude quality:1.4) | 最低 | (lousy quality:1.4) |
ぱっとしない | (unimpressive quality:1.4) | 期待外れ | (disappointing quality:1.4) |
不十分 | (inadequate quality:1.4) | 精練されていない | (unrefined quality:1.4) |
不足している | (insufficient quality:1.4) |
人体の描写に関する言葉
日本語訳 | 英語 | 日本語訳 | 英語 |
---|---|---|---|
人体の不正確な構造 | bad anatomy | 背が高い体型 | long body |
顔立ちが悪い | ugly face | 異形の目 | deformed eyes |
顔の一部 | partial face | 頭の一部 | partial head |
不快な顔 | bad face | 腕がない | missing arms |
余分な腕 | extra_arms | 欠落している四肢 | missing_limb |
切り離された四肢 | disconnected_limbs | 浮遊する四肢 | floating_limbs |
四肢の形が正確でない | inaccurate limb | 異常な手 | mutated hands |
手の形がおかしい | bad hands | 手の描写が雑 | poorly_drawn_hands |
手の異常な形状 | malformed_hands | 手の状態が悪い | bad fingers |
溶けるような指 | liquid fingers | 指の描き方が下手 | poorly drawn fingers |
余分な指 | extra_fingers | 欠けている指 | missing fingers |
追加の指 | extra digit | 指が少ない | fewer digits |
余分な足 | extra_legs | 変質・変異・変形した | deformed mutated disfigured |
切り落とされた | cropped |
ネガティブプロンプト一覧 | 解説
この記事を書く中で衝撃の事実が判明してきました。
実は一般的に使われているworst qualityやlow quality以外にも品質を表す言葉なら、生成される画像が全く違うものになります。
では実際にどう変わるのか少し見ていきましょう。
Substandard – 基準以下
ネガティブプロンプトにSubstandardだけではイラストの品質は変わりません。
Substandardにqualityをつけることで初めて効果がでます。
一応qualityのみで生成しましたがこちらも品質は全く上がりませんでした。
(low quality:1.6)と(substandard quality:1.6)の比較
正直ここまで変わると思っていなかったので流石に驚きました。
内部でどういった画像が除外されているのか分かりませんが画風や品質に極めて大きな影響があることは間違いないでしょう。
注意点としてモデルによって影響が全く違う場合が多いので、これは試行錯誤するしかないでしょう。
更に大きな違いがあって、これらは全てCFG Scaleに大きく左右されます。
しかしながらimg2imgで使う場合は、あまり違いがないので深く考える必要はありません。
LoRAを使う場合は更に違いがなくなります。
人体の描写に関する言葉
こちらは個人的にあまり推奨しません。
ugly face – 顔立ちが悪い
bad anatomy – 人体の不正確な構造
実際に変化はあるのですが、正直違いが分かりませんでした。
やんわりと良くなったかな・・?くらいで明確な差はありません。
low qualityやworst qualityなどのクオリティタグでそもそも品質の低い画像がカットされているので、あまり気にする必要はないと考えます。
Embedding(Textual Inversion)
自分または第三者が作成したプリセットを使うことができます。
主にCivitaiからダウンロードできます。
Embeddingにチェックを入れてソートしてみましょう。
一番有名なのがEasyNegativeですね。
ダウンロードして使ってみましょう。
ダウンロードしたファイルを
stable-diffusion-webui\embeddings
embeddingsフォルダに入れてください。
Generate(生成)ボタンの下の赤いマークのボタンを押します。
Textual Inversionタブになっていることを確認し、
一番右にあるRefreshボタンから再読み込みをしてください。
そうするとダウンロードしたファイルが表示されるので、あとはクリックすると自動的にネガティブプロンプトにテキストが挿入されて簡単に使うことができるようになります。
デメリットは何が埋め込まれているか分からない点ですね。
掲示板