忘却まとめ

Blenderの中級者・上級者向けの踏み込んだ情報や、アドオン・3DCGに関する情報を記事にします

【AIアート】呪文生成のノウハウ【Stable Diffusion web UI(AUTOMATIC1111版) / プロンプト / ネガティブプロンプト】

AIアート

更新日:

まえがき

同じプロンプトでも、使うモデルによって結果が全く異なる。

あるモデルでいい感じの結果が得られるプロンプトでも、他モデルでは意味をなさない場合がある。
結局出せる絵の限界は各モデルに左右されるので注意。

AI関連の技術は現在急成長しているので、近い将来的にプロンプトのノウハウなど無意味になる可能性も十分有り得る。

呪文の基本

指示テキスト(プロンプト・呪文とも)や除外テキスト(ネガティブプロンプト)を試行錯誤する。
試行錯誤しながら、何度も生成することで良い絵を見つける。

Ctrl + Enterで生成を実行できるので、ショートカットキーを使えば繰り返し調整しやすい。

プロンプトのテンプレ呪文

((((masterpiece)))), high quality, very_high_resolution, large_filesize, full color

とりあえずこれを入れておけば絵の質は上がるおまじない。

ただ、masterpieceは良くも悪くも「マスピ顔」「NovelAI絵」っぽさが出る。
他のプロンプトで絵が安定できて定番顔から脱却したいなら抜いていい。

ネガティブプロンプト

lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts,signature, watermark, username, blurry, artist name, multiple legs, malformation,

除外してほしい要素はネガティブプロンプトに入れる。
生成途中で、やたらと意図しない要素が入ってくるようになったら、その都度除外したい要素を追加していく。

上記は、悪い要素を弾く基本的なおまじない。
Abyss系のような、モデルによっては推奨されるネガティブプロンプトがある場合があるので、各説明書きを読むこと

下記のように簡素な方が良い結果が出る場合がある。

(low quality, worst quality:1.4), (bad_prompt_v2:0.8),

基本的な書き方

  • 登場するキャラの人数・ポーズ・状況を入れる。
  • キャラの特徴を入れる。
    • 性別・髪型・髪の色・服・服の色・飾り・表情・既存キャラなら名前など、とにかく詳細に書き込む。
    • 入れ過ぎると指示を無視したり絵が崩れてくるので、適宜必要なものだけに削減しつつ調整する。
  • 背景を入れる。
    • 特に気にしないのなら入れなくてもよい。
    • 指示しないと、キャラのモノや服から勝手に想像して入れてくれる。

名称は頻繁に調べる

「モノ自体は知ってるけど、なんて呼べばいいのか知らない」「英語名がわからない」というのが結構あるので、その度に調べてみることは大事。

呪文の仕様

  • 後ろの文ほど無視されやすい。
  • (テキスト)とすると、その部分をより意識される。
    • ((((テキスト))))とすると、より意識される。
    • 後ろの文で、より意識してほしいテキストを指示するのにも使える。
    • これでどんなに強調しても絵に影響してる気がしないなら、無意味なテキストかも。
  • [テキスト]とすると、その部分をより重視しないようになる。
    • [[[[テキスト]]]]とすると、さらに重視しないようになる。
    • 「影響が強すぎる」・「うっすら要素は入ってほしいけど重要ではない」要素などに使える。
  • テキスト選択しながらShift + ↑↓キーで、(テキスト:1.0) のようにカッコで囲われる。
    • これは、ステップのうちそのテキストをどの程度の割合で意識するか。
    • デフォルトが1.0で、それより低いほど気にせず、高いほど意識する。
    • これは、(テキスト)のように囲むのと同じ効果。
  • テキストがその言葉通りになるとは限らない。
    • データセットに情報がなくて受け付けなかったり、その意味だけではなく別の意味が含まれる場合がある。

内部の仕組み

プロンプトのテキストには、それに対応するAIの解釈(特徴量)がある。
その特徴量は、AIが持つ空間内に、それに似ている要素は近く、違うものは遠く配置されている
画像生成の実行時には、指示されたテキストと似た特徴量の方向に向かうように、AIが「予測」して、ノイズ復元を繰り返す。

このため、指示していなくても近い位置に配置されている要素が出てくることがある。

AIの仕組みざっくり解釈

ライティングの質を上げる

high quality, very high resolution, large filesize,
high detailed,
((distant wide shot)),
straight hair, dark hair, very long hair, smile, flat chest, expressionless,
white dress, frill, very long dress,
music live,
((Uyuni salt lake)), walking on the water,
((Rembrandt lighting)), colorful refraction, ((lens flare)), bloom, (((film Reflection))),
Negative prompt: lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts,signature, watermark, username, blurry, artist name, multiple legs, malformation, close up,
big breasts, loli, glasses, sun,
Steps: 20, Sampler: DPM++ 2M, CFG scale: 7, Seed: 2605302381, Size: 2048x1024, Model hash: 6569e224, Denoising strength: 0.7, Clip skip: 2, ENSD: 31337, First pass size: 0x0

下記のようなライティングに関するテキストを追加すれば、絵に美しい光の表現を取り入れることができる。
美しく見せたい光源があるとより効果的。

beautiful detailed glow,
light particles,
HDR,
Rembrandt lighting,
colorful refraction,
lens flare,
bloom,
film Reflection,
colorful refraction,
chromatic aberration,
light diffusion,

  • beautiful detailed glow - グロー
    • 光の広がり。
  • light particles - 光の粒
    • 謎の光の粒で幻想的な雰囲気にできる。
  • HDR - ハイダイナミックレンジ
    • 暗すぎる・明るすぎる明暗を、より幅広く捉えて表現できる映像や写真の技術。
    • 効果としては、単に高品質なライティングになる?
  • Rembrandt lighting - レンブラントライティング
    • 対象物の横からライトを当てて、陰影を印象的にする。頬に小さな三角形の光を作るやつ。
    • 対象物が影って、横からのライティングされる感じになる。
  • colorful refraction - カラフルリフレクション
    • 虹色の反射。
  • lens flare - レンズフレア
    • カメラ撮影時に強い光が写った時の表現。
    • 主張がうるさくなる場合は[ ]で弱めるとよい。
  • bloom - ブルーム
    • ぼや~っとした光の広がり。
    • グローと同じか?モデルによっては影響がないかも。
    • やりすぎると花の方のブルームが出る。
  • film Reflection - フィルムリフレクション
    • 映画的な反射?
    • リフレクション単体よりこちらの方が良さげ。
    • 鏡が出るので、mirrorをネガティブに入れるとよい。
  • colorful refraction - 色収差
    • 赤・青・緑の原色がズレて見える表現。
  • light diffusion - 光の拡散
  • 反射させすぎてメガネが出た場合は、ネガティブにglassesを入れるとよい。

光の表現ワードの比較

光の表現ワードでも構図がかなり変わる。
(Rembrandt lightingはどうもこのプロンプトだとうまくいっていない)

小ネタ

絵文字も使える

プロンプト

((((masterpiece)))), high quality, very high resolution, large filesize,
cute girls, smile, cheerful smile,
Delicious Yummy❗️✨🤟😁👍Thank you❗️🙌✨Thank you❗️🙌✨I want to eat a lot again❗️🍖😋🍴✨Delish!! ️🙏✨ Sha!! ️🙏✨ Sha!! ️🙏✨ Sha!! ️🙏✨ Sha!! ️🙏✨ Sha!! ️🙏✨ Shut up!! happy 🌟 smile ❗️👉😁👈
Negative prompt: lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts,signature, watermark, username, blurry, artist name, multiple legs, malformation, close up,
Steps: 20, Sampler: DPM++ 2M Karras, CFG scale: 7, Seed: 176804607, Size: 1024x512, Model hash: 42cd7875, Clip skip: 2, ENSD: 31337

ほんの少しだけ生成結果を変える小ワザ

意味のない「,」を追加することで、少しだけ違う結果を得ることができる。
シード固定でほんの少しだけ印象を変えたい時に使えるかも。

プロンプトの順番には影響がある

(((fat)))をクオリティ呪文の後に

((fat))を最後に

1枚目は、(((fat)))が入っているのに細い。
2枚目は、一番最後に((fat))を持ってきたら太い女の子になった。

このように、同じテキストを使ってもプロンプトの順番で影響が変わってしまう

それとは別に、dynamic angleなどの構図決定は最初付近に置いた方が腕の破綻が少ない模様。

1枚目
((((masterpiece)))), high quality, very high resolution, large filesize, 1girl,solo, (((fat))),little girl, ((cute face)), (((sober girl))), smile, clothes, long skirt, [[thick outline]], [[watercolor]] and oil, [[flat color]], thick line, walking the streets with my lover, standing,
Negative prompt: lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts,signature, watermark, username, blurry, artist name, multiple legs, malformation, close up, bikini, nude, shiny, fat, pregnant, ((loli)), body line, photorealistic, [[blush]], slender,
Steps: 20, Sampler: DPM++ 2M, CFG scale: 7, Seed: 4072475725, Size: 512x768, Model hash: 6569e224, Clip skip: 2, ENSD: 31337

2枚目
((((masterpiece)))), high quality, very high resolution, large filesize, 1girl,solo, little girl, ((cute face)), (((sober girl))), smile, clothes, long skirt, [[thick outline]], [[watercolor]] and oil, [[flat color]], thick line, walking the streets with my lover, standing, ((fat)),
Negative prompt: lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts,signature, watermark, username, blurry, artist name, multiple legs, malformation, close up, bikini, nude, shiny, fat, pregnant, ((loli)), body line, photorealistic, [[blush]], slender,
Steps: 20, Sampler: DPM++ 2M, CFG scale: 7, Seed: 4072475725, Size: 512x768, Model hash: 6569e224, Clip skip: 2, ENSD: 31337

(前の絵作りが原因でネガティブにfatが入ったままだったが、除去してみても結果は変わらず)

同じ文章でも、少しでも変更すると印象が変わる

テキストの並び順も結果に影響があり、同じ内容のテキストを並び替えただけでも印象が変わる。
このため、作ったあとのプロンプトの並び順を整理しようとすると、欲しい結果が出なくなる事がある。

要素が混ざりやすい

((((masterpiece)))), high quality, very_high_resolution, large_filesize,
2girls, multiple girls,
young girl blue hair , loli child red hair
Negative prompt: lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts,signature, watermark, username, blurry, artist name, multiple legs, malformation, close up,
Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 1205259151, Size: 768x512, Model hash: 6569e224, Clip skip: 2, ENSD: 31337

上画像例では、「青髪の若い女性と赤髪の子供」というプロンプトの絵。
結果は、どちらも青髪になってしまっている。

特定の箇所「だけ」に特定の要素を指示することは難しい。
登場人物が複数人いる場合は、特徴を共有してしまう

また、特に色の情報が記載されているだけでも、意図しない場所に色移りしやすい。
(上画像の服の色が赤くなっているように)

色の薄い順に記述すると比較的うまくいきやすい?

AND構文を使うと混ざりにくい

() AND () 構文を利用すれば、()内のどちらも両立して生成しやすい。
(あくまで混ざりにくいだけであり、確実ではない)

サンプラーの DDIM と PLMSでは、AND構文を使用することができないので注意。

((((masterpiece)))), high quality, very_high_resolution, large_filesize,
2girls, multiple girls,
(young girl, blue hair) AND (loli, child, red hair)
Negative prompt: lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts,signature, watermark, username, blurry, artist name, multiple legs, malformation, close up,
Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 1205259151, Size: 768x512, Model hash: 6569e224, Clip skip: 2, ENSD: 31337

プロンプトを見やすく書く

自分なりにある程度書き込む内容の順番を決めておき、改行を使って読みやすくする。
あらかじめ整理しておけば、後々編集・解読しやすくなる。

前述の通り、書く順番によって受ける影響は違うので、状況に応じて変えるとよい。

(//のようなコメントアウトは使えない模様)

// テンプレ呪文
((((masterpiece)))), high quality, very_high_resolution, large_filesize, full color

// ポーズ・アングル
full body shot, look back,

// 人物
1girl,solo,
white skin, flat chest
long hair, dark hair, twintails, fluttering hair

// 表情
cheerful smile

// 服
elegant dress, over shoulder, frill, blue Skirts, high detailed cloth ornament

// 背景
in top floor of skyscraper,
outdoor, sunset, red sky, lots of clouds, high detailed clouds
Night view, the light of the building seen in the distance

// ライティング
shadowlighting, bloom, open arms,

// ネガティブプロンプト
Negative prompt: lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts,signature, watermark, username, blurry, artist name, multiple legs, malformation, close up,

// 追加の除外情報
breasts, blush, ((loli)),

その他

大文字・小文字は、(大抵の場合は)関係ない

((((MASTERPIECE)))), HIGH QUALITY, VERY HIGH RESOLUTION, LARGE FILESIZE,
FULL BODY SHOT,
1GIRL,SOLO, LONG HAIR, DARK HAIR, SMILE,
WHITE DRESS, VERY LONG SKIRT, ELEGANT,
BIG BREASTS,
Negative prompt: LOWRES, BAD ANATOMY, BAD HANDS, TEXT, ERROR, MISSING FINGERS, EXTRA DIGIT, FEWER DIGITS, CROPPED, WORST QUALITY, LOW QUALITY, NORMAL QUALITY, JPEG ARTIFACTS,SIGNATURE, WATERMARK, USERNAME, BLURRY, ARTIST NAME, MULTIPLE LEGS, MALFORMATION, CLOSE UP,
Steps: 20, Sampler: DPM++ 2M, CFG scale: 7, Seed: 1126039172, Size: 1024x1536, Model hash: 6569e224, Denoising strength: 0.7, Clip skip: 2, ENSD: 31337, First pass size: 0x0

上記のシンプルなプロンプトで、ネガティブも含めて全て小文字化・大文字化したものを比較してみたが、結果は変わらなかった。

小文字
大文字化

上記の複雑なプロンプトで大文字小文字の結果を比較してみたら、結果が変わった。
おそらくミクの方には、大文字化に意味があるテキストがどこかにあって結果が変わった?

プロンプトにおいて大文字小文字は、基本的には代わりがないが、影響があるテキストもあるという感じ。

同じテキストを繰り返すのは有効

元画像
illustration強化

((((illustration)))),((((illustration)))),((((illustration)))),((((illustration)))),とかいうアホみたいなテキストも有効で、強く強調される。

プロンプトだけでは限界がある

プロンプトだけでは、必ずしも全てがテキスト通りにはならない。

WebUIには様々な補助機能があるので、プロンプトだけにこだわらず下絵を手書きしてimg2imgを使ったり、インペイントの部分修正したりするとよい

  • どんなに頑張っても出ない概念がある。
    • 出したいものが、そもそもその学習データに含まれていないかもしれない。
    • 含まれていない概念は自分でembeddingsなどを作るか、ネットで配布されているものを探す。
    • または別の適したモデルを探す。
    • ほしい要素の出せるモデルと画質を保証するモデルを結合する。
  • そのテキストに別の意味が含まれていて意図しない悪影響を与える場合がある。
    • 別の単語で同じ状況を示す他のテキストを使ってみるのも手。
    • 逆に似たテキストごとの特性を理解していればソレを活用できる。
  • 要素が混ざりやすい。

-AIアート

Copyright© 忘却まとめ , 2024 All Rights Reserved Powered by STINGER.