Stable Diffusionでかわいい2次元キャラを作りたいプロンプト
簡単にイラストが生成できて楽しいですね。生成画像のクオリティがランダムなのもなんだかガチャ引いてるみたいで楽しいですね。数えたら5000枚くらい生成してました。生成した画像のフォルダを眺めているといろいろな画像を収集した気持ちになれて幸せを感じられます。今回の記事はAI画像生成のプロンプトをどうするかについての参考になれば幸いです。
※この記事はStable diffusionがリリースされたからすぐに書いた記事です。現在ではもっと楽に生成できるので参考にならない部分が多く存在します。
プロンプトの解説と生成のコツ
今回使用したプロンプトを元に解説していきます。
ワードのベクトル(意味)を意識する
複数の意味を持ったワードはできれば避けたいし、意味があいまいなワードも避けたい。AIでの画像生成はワードの持つベクトル(意味)を足し合わせた画像が生成される。キング+女性=クイーンが一番よく使われる例であろう。そのため、複数の意味を持っていたり意味があいまいなワードを入れてしまったりすると生成する画像のベクトル(意味)がぶれてしまい、いい結果を得られない。
ワードを追加する際にはワード単体や少数の限られたワードで画像を生成してみる、もしくはClip Frontでワードを検索してみてデータセット内に想定された概念が存在しているかを確認したほうがいい。このときに思っていた結果が得られない場合はAIがワードを学習していない、もしくは複数の意味が言葉に含まれているため別のワードで置き換えたほうがいい結果を得られやすい。
ちょうどワード例をまとめてくださった方がいたので参考にしたい。
1文目の影響を強く受ける
1文目に指定するワードは特に強い影響を与え、出力画像の方向性をがっちりと決める。そのため、絶対に譲れないポイントをここで抑えたい。アニメキャラを作るなら瞳、瞳さえしっかりしていればかわいいのである。そのため "detailed reflecting eyes" は1文目に追加している。これにより反射により光り輝く瞳が作成されるはずだ。
アニメキャラを作りたいのでスタイルの"painting in granblue fantasy style"も1文目に追加している。これはStable Diffusionはアニメキャラを生成するためのAIではないため、1文目で指定することで生成する画像に強く影響を与えたいためである。ただし、後述するバイアスの影響を受けるのでスタイルだけなら他の人のプロンプトの例にあるように最後尾でもいい。
グラブルはキャラがたくさんいるのでデータが豊富にあってキャライラストの塗りも統一されているので安定した結果がでやすい…気がする。好みのワードを入れるといい。"Japanese anime style" でもいいが、雑多なものを拾うためか出力画像がわりとブレる気がする。
一つ注意したいのはワードにバイアス(学習データの偏り)があるので生成画像の属性に大きいく影響を与えてしまうことである。例えば、"granblue fantasy"ならファンタジーな服になりやすいが、"Azur lane"にすると海軍セーラーチックな服になりがちである。また、グラブルでもアズレンでもワードのせいか背景が青くなりがち。服装だけでなくキャラクターの属性にも影響を与えるので好みに合わせて設定したい。
細かく要素を指定する
1文目以降は重要度の高い要素から順に追加していく。プロンプトにワードを入れていない部分は破綻しがちになる。特に指定する要素がなくてもなんらかの属性を持たせて指定しなければすぐに破綻してしまうので、何かしらのワードを入れるといい。
・beautiful pretty cute face: 入れ得
・a small smile: 入れ得
・full body shot of loli anime girl: "full body shot"は無視されがち。体をどこまで描写するかは生成画像のアスペクト比に影響を受けやすいので全身を描写したいなら縦長画像で生成した方が安定する。
・short blonde hair, big ribbon on the head, wearing fantasy clothes:
ご自由に
おまじない
プロンプトの後ろの方にあってもなくても困らないワードをつらつらを書き連ねて安定度を高める。が、結局影響がよくわからないのでよく消されるし、思いつきで付け加えてしまう。
・front lighting: 前から採光して明るくなる気がする。
・toon shader: 目が大きくなる気がする。この中では多分一番いらない。
・8k resolution: 背景がいい感じになりやすい気がする。
・featured on pixiv: 2次元絵に寄せたいので入れておくといい気がする。
その他試したワードとか
・key visual of ~: キービジュといえばアニメやゲームの看板となる高品質なイラストを指すが、たいていは登場人物が勢ぞろいするので一人の画像を生成するには不向きに感じた。ただし、なんかそれっぽいポーズをしようとする確率が高まる気がするのでそういうのを狙うならアリ。
・concept art/ides of ~: チュートリアルにもあるワードだがなんだか概念がふわふわしている気がするのであまり使用していない。
・makoto shinkai: アニメ絵なら入れておけワードと言われるが、きれいな背景にぽつんと小さく立っているのが新海誠っぽい絵なので1人のキャラを生成するのにはあんまり貢献していなさそう。
・kawaii: loli kawaiiにするとめっちゃロリになる。
・small breast: ワード単体で出力するとなぜか巨乳のおねえさんが出てくる。貧乳ロリを作りたかっただけなのに…
・high quality illustration: 効果なさそう
指が鬼門
全身画像で動きのあるイラストを生成したいが、実写画像の"a photo of a hand"で生成しても指が5本ではない画像が生成されることが多い。写真ですら失敗しやすいのだから、イラストでは指の生成はなおさら難しいのだろう。このあたりに現状のAIの限界を感じる。ヘッダーには比較的指もうまく生成できたものを載せているがヘッダーのようにうまく生成できるのは稀である。
逆に言えば指さえ隠してしまえばそれなりのクオリティになるということである。ポーズを取らせるときは腕を後ろや画面外に置かせるか拳を握らせるといいのかもしれない。
雑感
言語化できない部分の生成が非常に難しい。ポーズもそうだし指もそうである。逆にそれ以外の部分はそれなりのクオリティで生成できるのはすごい。特に顔は表情や瞳の指定はしているものの、ちゃんと目が2つついて口や耳があってという部分を理解できているの素晴らしいと感じた。この調子で進歩し続けていけば指も生成できるのだろうか。
現状のAIはそれっぽい絵しか作ってくれない。構造とかを理解していないので雰囲気がそれっぽいい絵はうまく作れるが、細部の細かい意味合いが重要な絵はまだまだだと感じた。例えば、山の絵を書くのに木が1本増えたり、減ったりしたところで何の問題もないが、人間の絵を書くのに指が増えたり減ったりしては困るのである。現状のAIではめっちゃ描き込むことはできるけどディティールには全くこだわってくれない。そういった点を踏まえるとまだまだ人間には及ばないなという感想です。
参考
プロンプトと画像が大量にある
この記事が気に入ったらサポートをしてみませんか?