やりたいこと
Stable Diffusion WebUIを使って画像を生成する際、「なんだかイメージと違う…」「もっと細かく指示したいけど、どうすれば?」と感じることがあります。 AIが画像を生成するプロセスは、入力された「プロンプト(呪文)」 の質に大きく左右されます。
プロンプトエンジニアリングとは、まさにこのAIへの「言葉」による指示を最適化し、理想の結果を引き出す技術です。この記事では、、より高品質な画像を効率的に生成するためのプロンプトの書き方をご紹介します。
基本原則
プロンプトエンジニアリングとは、簡単に言えば、生成AI(Stable Diffusionのような)があなたの意図を正確に理解できるように、最適な指示を出すスキルのことです。AIは、あなたの言葉を元に画像を「創造」しますが、その「創造性」をどこへ向かわせるかは、プロンプト次第で大きく変わります。
効果的なプロンプトのポイント:
- 明確さ: 曖昧な表現を避け、具体的に何を描きたいかを明確に伝える。
- 優先順位付け: AIはプロンプトの先頭にあるキーワードを重視する傾向があるため、最も重要な要素から記述する。
- 品質の指示: 生成画像の全体的なクオリティを高めるためのキーワードを忘れない。
キーワードの選び方
プロンプトは単語のリストではありません。AIが画像を生成する際の「設計図」として、適切な構造でキーワードを配置することが重要です。
画像品質を向上させるキーワード
生成される画像の品質を底上げするために、以下のキーワードをプロンプトの冒頭に配置しましょう。これらは、AIに「高品質な画像を生成してほしい」と伝えるための共通言語のようなものです。
masterpiece
(傑作)best quality
(最高品質)ultra detailed
(超高精細)intricate detail
(複雑な細部)high resolution
(高解像度)8k
(8K解像度)
主題、特徴、画風、背景の記述
次に、具体的に描きたい内容を記述していきます。カンマ ,
で区切って羅列するのが基本です。
- 主題(被写体):
1girl
(1人の少女),cat
(猫),mountain landscape
(山岳風景) など。 - 被写体の特徴:
long blonde hair
(長い金髪),blue eyes
(青い瞳),wearing a school uniform
(制服を着た) など。 - 画風・スタイル:
digital art
(デジタルアート),photo-realistic
(写真のようにリアルな),anime style
(アニメ調),oil painting
(油絵) など。 - 環境・背景:
outdoors
(屋外),cityscape
(都市風景),cherry blossoms
(桜),night with stars
(星空の夜) など。
画風/スタイルの記述例
digital art
(デジタルアート)watercolor painting
(水彩画)oil painting
(油絵)anime style
(アニメ風)photo-realistic
(写真のようなリアルさ)fantasy art
(ファンタジーアート)pixel art
(ピクセルアート)
ネガティブプロンプトの活用術
ネガティブプロンプトは、「生成してほしくない要素」をAIに伝えるための非常に強力なツールです。これを適切に設定することで、画像の破綻や不要な要素(例えば、奇妙な手、ぼやけ、透かしなど)を大幅に減らし、クオリティを向上させることができます。
Stable Diffusion WebUIでは、通常のプロンプト入力欄の下に専用のネガティブプロンプト欄があります。
よく使用されるネガティブプロンプトの例: low quality, worst quality, bad anatomy, bad hands, deformed, blurry, out of focus, duplicate, watermark, signature, text, ugly, disgusting, easynegative, ng_deepnegative_v1_75t
easynegative
やng_deepnegative_v1_75t
は、コミュニティで開発された「ネガティブプロンプトのセット」のようなもので、これら一つで複数の一般的なネガティブ要素を効果的に抑制できます。
ForgeであればNegativePromptのテンプレートが用意されています。
強調と減衰
特定のキーワードを強く反映させたい、あるいは逆に影響を弱めたい場合は、プロンプトの重み付け(強調/減衰)構文を使用します。
- 強調:
((keyword))
または(keyword:1.X)
- 例:
((sparkling eyes))
(1.1
や1.2
のように数値で指定することもできます) - 括弧の数を増やしたり、
1.X
の数値を大きくするほど、そのキーワードの影響が強くなります。
- 例:
- 減衰:
(keyword:0.X)
- 例:
(too much light:0.7)
1.0
未満の数値を指定することで、そのキーワードの影響を弱めます。
- 例:
これらの構文は、AIが意図した通りに要素を生成してくれない場合や、逆に強すぎてしまう場合に、細かく調整するために役立ちます。
プロンプトの切り替え([A:B:C])
複雑なシーンや、時間の経過、状態の変化などを表現したい場合に便利なのが、プロンプトのブレンド(切り替え) です。
構文:[keywordA:keywordB:step]
keywordA
からkeywordB
へと徐々に変化していきます。step
は、生成全体のステップ数に対する比率や、具体的なステップ数を指定します。- 例:
[day:night:0.5]
→ 生成プロセスの半分で「day」から「night」に切り替わる。
- 例:
例: A person walking in a [sunny forest:dark forest:0.5] with [green leaves:autumn leaves:0.7]
(太陽が差し込む森から暗い森へと変化し、緑の葉から紅葉へと変化する人が歩いている)
これは非常に強力なテクニックですが、直感的に結果を予測するのが難しいこともあるため、試行錯誤が必要です。
結果
StableDiffusionでよりよい画像を生成するための記法を紹介しました。
コメント