元素法典から学ぶPromptの書き方
「元素法典」というネーミングセンスは天才的すぎる。
Stable Diffusion
昨今巷を騒がせている、イラスト生成AI「Stable Diffusion」にまつわる話です。
今年の9月くらい?から急激に話題になりはじめ、今や一大ムーブメントになりつつあるイラスト生成AI。
Stable Diffusionはtext-to-image(txt2imgとも表記される)という、文字列をベースにしてイラスト・写真を生成してくれるAIプログラムです。
例えば以下の写真は、Stable Diffusionで生成した猫の写真です。
下のテキストがPromptという、AIに「こんな画像を作ってくれ」という指示文。
口語である必要はなく、要素を箇条書きにすることで、これらの要素を踏まえつつ「おおよそその画像といって差し支えない」ものを出してくれます。
全く同じPromptで改めて生成したら出てきた画像。
白い猫、ベッドの上、こっちを見ているという3か条は抑えつつ、アングルやシチュエーションが異なっています。
on the bedをstandingに変えてみたら、きちんと立っている状態の猫になりました。
たまたま外の写真になっていますが、次同じ文章で生成したら、今度は室内になるかも。
なので今度は自分でシチュエーションも指定します。
車の中で立ってこっちを見ている猫、というよく考えたら謎なシチュエーションが完成しました。
車の内装はある程度ファジーになっていますが、それを受け入れる大雑把さがAI絵を楽しむにあたって重要です。
更にこれに加えて、Negative promptという「これだけは絵に入れないでくれ」という指示文も入力ができ、例えば「車の中にいるのでは困る、室内にいる猫にしてくれ」というときは
prompt:cat, in house
とした上で
Negative prompt:in car
のように「車の中」をことさらNG指定しておくことで、AIへの指示文の強制力をコントロールすることができるのです。
Stable Diffusion web UI
Stable Diffusion自体は無料で使うことが出来る上に、Google Colabでオンライン利用だったり、全てDLしてきてローカル環境だったり、結構バリエーション広く扱うことが可能になっています。
私は「AUTOMATIC1111版」という、ローカルにDLしてきてWEBブラウザ経由で使う方式にしています。
ただし、昨今のAI関連の進化の速さは冗談抜きで日進月歩、記事を書いた一ヶ月後には陳腐化していておかしくない状態。
私は記事の情報の最新性を担保するだけの時間も労力もアンテナもないため、ここで導入の仕方はご案内できません。
検索すると、丁寧に画像を交えて紹介している記事が山ほどあるので、そちらを参考にしましょう。私もそうした。
なおローカルで動かすには、ゲーミングPCレベルのグラフィックボードが必要です。
ない場合は、オンラインで動かすサービスを使ってみましょう。
モデル
さて、先程までの画像生成は、Stable Diffusion本体の「モデル」によって生成した画像でした。
そう、AIにはプログラム本体である「Stable Diffusion」の他に、どんな画像をメインに学習したかで出力が変わる「学習モデル」が存在します。
AIとは究極的には「大量に見た絵から学んだパターン+指定のPromptを見て、ユーザーの要望に限りなく近い絵を提供する」システムです。多分。
よって学習元が絵画か、写真か、漫画絵かで同じPromptからでも全く違う絵が生成されるのです。
Trin art
画像生成AI「でりだモデル」をオープンソース化!
AIのべりすと内TrinArtで11月初頭まで稼働していたモデルで、構図/スタイルの自由度重視という点は引き継ぎ、安定感も高くなるよう繊細にチューニングされています。
こんな広い構図が思いのままにッ!https://t.co/D8UOhzAVZ7#ainovel #trinart pic.twitter.com/C5QKIecLxH— Sta @ Bit192 / Tone Sphere (@naclbbr) November 25, 2022
AIのべりすとなどのサービスを提供している「EleutherAI」が、ブラウザで提供しているイラスト生成AI「とりんさまアート」のモデルを、Stable Diffusionでも使えるように無償で提供してくれています。
この「Trin art」モデルをDLして、AUTOMATIC1111版に読み込ませるとローカル環境で無制限にとりんさまアートが使えるわけですね。
今の最新版モデルは「でりだモデル」らしい。
モデル1つがウンGBの世界なので、私はまだ試していません…。
以下はTrin artで生成してもらった画像です。
Show from the hips to the shoulders, from_below, eyelashes, head_tilt, absurdly long hair, wavy hair, bangs, hair between eyes, streaked hair, sidelocks, black hair, shiny hair, expressionless, medium_breasts, long sleeve sailor suit, cardigan, indoors, backlighting, watercolor (medium), highres,
Negative Prompt:
multiple_tails 1990s style, owres, 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,missing fingers,bad hands,missing arms, long neck, Humpbacked
もう一枚、全く違うタイプの絵を。
(((1 girl))), (((solo))), ((masterpiece)), (((best quality))), ((ultra-detailed)), ((illustration)), ((disheveled hair)), black chinese clothes with gold embroidery, ((silver long hair)), with long locks hair between eyes, hair flower, red eyes, Expressionless, pixiv, official art, wallpaper, simple background
Negative Prompt:
multiple_tails 1990s style, owres, 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,missing fingers,bad hands,missing arms, long neck, Humpbacked
漫画・ラノベイラスト系のタッチが得意で、モノによってはそのまま商業イラストとして使われていそうなレベル。
絵のタッチについて特に指定していないのでブレがありますが、指定次第ではある程度コントロールも可能です。
1girl upper body looking at viewer smug wearing sports bra white hair red eyes short hair with long locks hair between eyes asymmetrical hair pose pixiv official art wallpaper simple background backlight
Negative Prompt:
multiple_tails 1990s style
こんな感じで厚塗り系になることもあります。
これはたまたま出たので、どういうPromptにすれば任意にこのタッチを呼び出せるのか、生成させた自分でもわからないこともあります。
Anything-v3.0
最近登場した新型モデル。
Twitterで見かけて、検索したら導入方法がまとめられていたのでそのまま使用、という若干危うい導入になりました。
出どころもよくわかっていないのですが、誰かこのモデルがどこから来たのか教えてくれませんかね…。
beautiful detailed flower, beautiful detailed eyes,hyper detailed,flower,hyper quality,,eyes,flower and hair is same color,beautifuly color,face,{{{{{her hair is becoming flower, flower,hair,flower,butterfly,}}}}},{{{{1girl}}}}kawaii,,{{{high details, high quality}}},{{{back light}}},{{hair and clothes is flower}},{{{upper body}}} ,high quality,hair with body ,webbed dress, upper body, flower leg, flower hands,body with flower, {{ flower with clothes}} , dress with flower, , light particles,black background, {{{{Hair with flower}}}},small breast with flower,big hair with flower,{{floating hair with flower,floating}}1girl,small breast, marbling with hair and clothes, looking at viewer,{{original}},{{arm down}}, {{paper cutting}}, black background, flower forground, {{hair with flower}},{{{{{highres}}}},} hair with flower,hair with flower ,hair, wavy hair ,diffusion lighting, abstract,Butterfly with body, flower with hair, her hair is flower,big top sleeves, floating
Negative Prompt:
large breast, huge breast, worst quality masterpiece,black hair, ,landscape,adult, old, phobia,loli , low-teen, blush,fate,flat color, wear,realistic,Smrealist,clothes,nsfw,masterpiece,a,,naturalistic,hair,hair,flower,dress,hatching,absolutely long hair,nsfw, owres, 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,missing fingers,bad hands,missing arms, long neck, Humpbacked
性能は過去見てきたAIモデルの中でもトップクラス。
スマホゲーのビッグタイトルのキービジュアルみたいな絵がバンバン生成されます。
masterpiece,(best quality),highly detailed,ultra-detailed,illustration,Depth of field,(Dark prison:1.2),cold,solo,(1 girl),detailed eyes,(Hematic red eyes),(black short hair),bob haircut,(tareme),(crazy),expressionless,(prisoner’s garb),(long_sleeves),off shoulder,miniskirt,(Monster Energy:1.2),(heavy metal:1.2),(metal jewelry),choker,cross-laced footwear,cuffs,wrist cuffs,(chain),hammer,(Demon Array),(666:1.2),Dry ice fog
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
これはちょっとダークなゲームのイベントスチルっぽい。
よく見ると指がゴチャッとしてますが、愛嬌愛嬌。基本的に自分が楽しむためのものだから気にしない。
((keep one’s head in the frame)), ((close to viewer)), dutch angle, ((masterpiece)), (((best quality))), ((ultra-detailed)), ((illustration)),
((black long hair)), gold eyes, white skin, asymmetrical hair,
wearing gold decoration white robe, white coat, clergyman, white long skirt,
pixiv, official art,
Negative Prompt:
nsfw, 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, longbody, lowres, bad anatomy, bad hands, missing fingers, pubic hair,extra digit, fewer digits, cropped, worst quality, low quality, multiple boobs,
これとか、もうスマホゲーのSSRキャラクター感すごくないですか。
こんなん課金しちゃうよAIは10連でも100連でも無料なんですけど。
元素法典から学ぶPromptの書き方
前置きが長くなりましたが、ここからが本題。
かようにしてPromptの指定次第でしょぼい絵からプロレベルまで生み出す事のできるAI絵なわけですが、そんな中精度の高いPrompt集として公開されたのが「元素法典」。
膨大なPromptを中国のAIユーザーたちがまとめた書物で、誰でも真似をするだけで高精細な絵を生成することが可能と話題になりました。
フリーで公開されているので、検索すれば簡単に手に入れることが可能です。
これはStable Diffusionでは使えない「NovelAI」というブラウザからアクセスする有料AIサービスを元にしたPrompt集なのですが、他のモデルでも問題なく運用可能です。
特にイラスト系の学習をしたモデルは、大体考えることが似通っているようで、全く問題なく流用できています。
さて、Promptというシステムの良いところは、他者の生成したPromptに自分好みの要素を加えて行くことで、誰でも簡単に新しいPromptを生み出すことができることです。
AIに認識されやすい言葉選びなどを元素法典から学び、理想のAIアートを求めてみましょう。
例えば元素法典より「水魔法」をAnything-v3.0で生成した画像がこちら。
Promptは以下のとおりです。
((masterpiece)), (((best quality))), ((ultra-detailed)), ((illustration)), ((disheveled hair)), ((frills)), (1 girl), (solo), dynamic angle, big top sleeves, floating, beautiful detailed sky, on beautiful detailed water, beautiful detailed eyes, overexposure, (fist), expressionless, side blunt bangs, hairs between eyes, ribbons, bowties, buttons, bare shoulders, (((small breast))), detailed wet clothes, blank stare, pleated skirt, flowers
Negative Prompt:
nsfw, owres, 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,missing fingers,bad hands,missing arms, long neck, Humpbacked
さっそくPromptを分解していきましょう。
ちなみにPromptを囲むカッコは、強調の意味があり「優先度高めでAIに取り入れてほしい要素」は囲んでおくと、反映される度合いが高くなります。
語はカンマで区切ります。無くても問題ないけど、意味上の区切れをAIに伝えるためにあったほうがいいです。
Negative Promptは人体の崩壊や低クオリティな出力などを汎用的に防ぐキーワードのため、解読しなくても大丈夫です。
((masterpiece)), (((best quality))), ((ultra-detailed)),
こちらは「絵のクオリティを高める」ためのキーワード。
とりあえず何も考えず入れておいてOK、という便利さです。
全く同じ条件で、上の3語だけを抜いたのがこちら…なんだけど、全然悪くないな…。
まぁおまじないくらいに思っておきましょう。
これらが無い場合、絵の質が下がりやすい傾向にあることは事実です。
100枚生成した場合の何割が…というレベルではありますが。
なお目元が隠れた絵になるのは、横長のキャンバスサイズにAIが最適化されていないからかと思われます。
Stable Diffusionは512×512サイズに最適化されているそうで、キャンバスをタテにヨコに広げていくと崩れやすくなります。
なんで横長で出力しちゃったんだろうな…。
(1 girl), (solo)
こちらは、女の子1人の絵にして、という指定です。
特に指定しなくても、大抵の場合1人の絵になりますが、ならないこともあるので入れておく、という意味ではこれもおまじない系のワード。
ちなみにyuriなどを入れると女の子2人の画像が出たりします。
私は基本キャラ1人の絵しか生成させていないので、この辺は未開拓です。
dynamic angle,
派手なアングルにしてくれ、という指定です。
アングル系も強制力が低めで、他のPromptとの兼ね合いで有効に働かない場合があります。
例えば「胸を見せる絵」で「背中の絵」のようにすると、強調の弱い方が無視されたりします。
これは「dynamic angle」を「back view」に置き換えて生成させた絵。
きちんと背中が映っていますが、振り返る構図でもあり、背中を真正面から見た絵にはなっていませんね。
この辺の細かい塩梅は、Promptを突き詰めていくか、AIがうまい具合に自分の求めるものを出してくれるのを待つか、ですね。
floating, beautiful detailed sky, on beautiful detailed water, detailed wet clothes,
この辺はシチュエーションの指定。
浮遊感、美しい空、美しい水で、今回の元素法典のテーマである「水魔法」に合わせたシチュエーションを呼び出しています。
overexposure
露出オーバー…この場合「肌を見せる」方ではなく、カメラ用語で「光を取り込みすぎた状態」ですね。
最初に出力した絵で言うところの、髪や左肩のライン等で光が強くあたって白飛びしている部分でしょうか。
beautiful detailed eyes
瞳の情報量を増やす指定です。
二次元イラストから受ける印象において、瞳の占める割合は高い。
big top sleeves, ribbons, bowties, buttons, bare shoulders, pleated skirt,
この辺は服装の指定ですね。
bare shouldersは肩の出るワンピース、pleated skirtはプリーツスカートです。
AIは服の合わせなんてわからないので、ゆったりしたドレスの下にタイトなパンツを履かせることもあります。
失敗出力を避けるためにも、細かく指定しておくと良いでしょう。
expressionless, blank stare
こちらは表情の指定。
expressionlessで無表情・無感情、blank stareも(視線に意図を込めない)ぼんやりした目線、みたいな意味だったはず。
今回生成した絵は結構意識的にこちら側を見ているような感じがするので、あんまり有効に働いていない気がします。
ただニコニコ顔だったり怒り顔だったりを避ける意味はあるでしょう。
もちろんそういう表情にしたいときは、smileとかangryを代わりに入れたりします。
((disheveled hair)), side blunt bangs, hairs between eyes,
disheveled hairは「乱れた髪」で、風に煽られて広がった状態なんかを呼び出せます。
blunt bangsで「ぱっつん前髪」という意味なんですが、今回は前髪にしろsideにしろあんまり機能していないかな?
hairs between eyesは両目の間に垂れる髪、という意味で目元まで前髪が伸びてきたり、最近良く見る眉間で交差する前髪を再現します。
((fist)))
握りこぶし。
特に指定しない場合、AIは手をふんわりと浮かせてしかも指ぐちゃぐちゃ、なんてことがよくあるので、事前に指定しておくのは有意義な手段です。
((small breast)))
小さい胸。
元素法典を書いた人の趣味かな…。仲良くなれそうです。
だいたいこんなところでしょうか。
用途別に並び替えると
((masterpiece)), (((best quality))), ((ultra-detailed)), ((illustration)), (1 girl), (solo), :おまじない
floating, beautiful detailed sky, on beautiful detailed water, detailed wet clothes,:シチュエーション
dynamic angle,:構図
beautiful detailed eyes, expressionless, blank stare, :表情・顔
((disheveled hair)), side blunt bangs, hairs between eyes, :髪型
((frills)), big top sleeves, overexposure, ribbons, bowties, buttons, bare shoulders, pleated skirt, flowers:服装
(fist),:オプション
(((small breast))),:趣味
こんな感じか。
Promptをいじるときは、先に書いたものと後に書いたもので相反する内容にならないよう、用途別に並び替えておくとわかりやすくておすすめです。
順番によっても出力の内容が変わってしまうことがあるんだけど、そのレベルで繊細な調整をコントロール出来る人はこの記事を見ていないでしょう…多分。
このPromptをちょこちょこいじって、好みの方向性へ誘導してみましょう。
((masterpiece)), (((best quality))), ((ultra-detailed)), ((illustration)), (1 girl), (solo),
floating, beautiful detailed sky, on beautiful detailed water, detailed wet clothes,
(((keep one’s head in the frame))), (((portrait))),
beautiful detailed eyes, smirk,
silver long hair, bun_head,
chinese clothes, gold embroidery,
(finger to mouth),
(((small breast))),
Negative Prompt:
nsfw, owres, 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,missing fingers,bad hands,missing arms, long neck, Humpbacked
ってことで生成したのがこちら。
基本的なおまじないやシチュエーションは残しつつ、いくつかPromptを差し替えました。
(((keep one’s head in the frame))), (((portrait))),
頭をきちんと画角に入れる、頭から肩の構図、という指定を強度高めで設定して構図を調整。
最初の絵は目元で切れていましたが、今回は頭がきちんと収まっています。
silver long hair, bun_head,
銀のロングヘアとお団子頭を指定。最近ファンタジー風チャイナキャラにハマっています。
アークナイツに何人かいるんだけど、他のコンテンツでおすすめがいたら教えてください。
chinese clothes, gold embroidery,
衣装もチャイナドレスにして、派手にするため金の刺繍を追加で指定。
襟元が華やかになっていますね。
(finger to mouth),
指先を口に当てるポーズを指定。
かなり好みのポーズなのですが、手指の崩れやすいAIではちょっと難しい。
今回は運良く再現できていますね。
最初の絵と最後の絵を比べると、ほんの数か所のPromptの変更で、まるきり違う絵に出来ることがおわかりいただけたでしょうか。
ふらっと現れて、無料で使い放題で仕上がりはプロレベル、という「ちょっとお遊びで」で出来る割には、ものすごい満足度の高いエンターテイメントになっています。
モデルに関してはもう十分すぎる気がするので、次は「生成したイラストのキャラクター性(顔・服装)を完全に維持して別のシチュエーションの絵を生成」みたいなことが出来るようになったら嬉しいですね。