今日もAIイラスト作るぞ!
・・・
「あれ?誰もいない!?」
本当は女の子がいるはずだったんだけど?
AIイラスト作ってるとたまにこういうことが起きます。
いったいなぜこんなことが起きるのか?
どんな対策があるのか?
調べてみました。
※検証のために元素法典2.5巻より「深秋枫庭」の呪文を使用させてもらっています。
原因
まずは原因を見ていきます。
ポイントは大きく2つあります。
背景の要素が強い
原因の一つ目は、AIがキャラより背景を重視してしまっていること。
呪文(プロンプト)は長く複雑になればなるほど、一つ一つの単語(タグ)の効果は薄くなっていく。
つまり、キャラクターの内容が入っていても背景の内容が多ければAIは背景の内容に注目してキャラクターがいなくなる可能性は上がります。
元素法典にあるような背景や演出がすごい絵をマネすると発生しますね。
AIの特徴
2つ目は、
使用しているAIの特徴であるということ。
同じ呪文を使って3種類のAIで生成してみました。
①NovelAI
②stable-diffusion(stable-diffusion-1.4)
③stable-diffusion(Anything-V3.0)
背景だけになりやすいAI、ならないAI、違いがわかりますね。
NovelAIはキャラクターが小さい・背景だけの絵が出やすいと思います。
対策
それでは、どういった対策があるのか?
私が検証して効果を感じたのは以下の3つです。
「正面に○○がいる」という内容のタグを加える
もっとも効果を実感したのが、
one 〇〇 at the front
というタグを入れること。
今回の検証では「one cute girl at the front」というタグを入れます。
「正面にかわいい女の子が一人」という意味ですね。
「正面」という位置的なワードが大きいのか?、キャラクターがいない確率が減りました。
○○の部分は
boy、dog、cat など、
自分が出したいものに変更して使います。
{}/()で強調する
原因で説明したとおり、キャラクターの内容が背景の内容より弱いことが良くないので、
キャラクターのタグに強調を使ってAIがその単語をより重視するようにします。
(例)NovelAIの場合
1girl ⇒ {1girl}
solo ⇒ {solo}
足りなければ{}を重ねてより強く強調します。
{{{1girl}}}
{{{solo}}}
女の子が一人いるんだぞ!ってAIに伝えます。
※AIによって強調の手法は違うので注意してください。
{}:NovelAIなど
():Stable Diffusionなど
タグの順番を変える
呪文(プロンプト)は前にあるタグの方が効果が強い傾向があります。
なので、
キャラクターの内容のタグを先頭の方に持っていきます。
先ほど強調を使った1girl,soloなどを優先して先頭へ。
背景や演出のタグは後半にして呪文を組みなおしてみましょう。
対策の結果
では、挙げた対策を全部組み込んでもう一度出力してみましょう。
・・・
・・
・
🙌🙌🙌
全て女の子が出ましたね。
それでも背景だけの絵が出る時はありますが、キャラクターがいる確率は明らかに上がりました。
しかし、ほとんど効果を感じないAIも。うーん。。。
少なくともNovelAIには有効かと思います。
最後に
今回は背景しか出ない問題に挑みました。
けっきょく使用するAIの特徴が一番強いので、AIがアップデートすれば解決しそうですが、
それまでは対策法の一つとして持っておくとどこかで役に立つかも。