ケモナーのためのStable Diffusion画像生成術 その1 Prompt編
Stable Diffusionで画像生成、楽しいですね。僕はいろいろ試行錯誤しながら獣人の絵を作っています。
初めこそ奇妙な生き物を大量生成していましたが、コツや効果的なツールの使い方などの知見が溜まってきたのでまとめて共有しようかと思います。
今回はpromptの書き方に焦点を当てて書いていきます。
始めたばかりの人の足がかりとして書くので、なぜそうなるのかという技術的な理屈の部分にはあまり深く踏み込まないです。
本記事で取り扱う生成手法について
Stable Diffusionやその実行用ツールには様々な機能がついており、最終的な生成物を得る手段は一つではありません。
指示文(Prompt)から画像を生成するtex2imgを始めとし、指示画像と指示文を元に画像を生成するimg2img、修正したい部分を指定して一部分のみ生成し直すimpaintingなどのたくさんの機能があります。
これらを組み合わせることで品質を良くしたり、複雑な構図を作る事もできます。
いろいろ試した中で、僕がよく使う手法は次の4つです。
本記事で扱うのは「1. tex2imgで出力」するときのPromptの書き方です。
tex2imgの生成結果は特にPromptの質に影響されます。
Promptの質はどの手法でも重要で、Prompt文を書くコツを掴むと他の手法を試すときに安定して良い結果を得られるようになります。
まずはtex2imgで思った絵を生成するPromptを作る練習をしましょう。
対象の読者
Stable Diffusionの環境構築はできたが獣人の生成がうまくいかない
獣人よりもケモミミ少女の方が生成率が高い状況を改善したい
獣人というより動物になってしまう状況を改善したい
はじめに知っておいて欲しいこと
イラスト投稿サイトに投稿する場合はポリシーを確認すること
イラスト投稿サイトによっては投稿ポリシーによってAIアートの投稿が禁止されている場合があります。
2022/09/16現在ではFur Affinityが投稿ポリシーによってAIアートの投稿を禁止しています。
生成画像は使用するモデルによって大きく変わる
Stable Diffusionに限らず、AIによる画像生成は生成するために使用するモデル(学習データ)によって生成結果が大きく変わります。
2022/09/16現在でも公式のstable-diffusion-v1-4だけでなく、アニメ・漫画表現が得意なtrinart_stable_diffusion_v2やWaifu-Diffusionが存在します。
また、Stable Diffusion開発元のStability AI社が運営するDream Studioでは公式の最新バージョンであるstable-diffusion-v1-5が使用されており、近いうちにこちらが公開される可能性もあります。
本記事は、stable-diffusion-v1-4、trinart_stable_diffusion_v2、Waifu-Diffusionで得られた結果を元に書かれています。
体感ですが、イラスト的な獣人はtrinart_stable_diffusion_v2、Waifu-Diffusionの方がきれいに生成されるようです。
trinart_stable_diffusion_v2はこちらからダウンロードできます。
Waifu-Diffusionはこちらからダウンロードできます。
余談ですが、僕の予想では近いうちにケモノ特化型のモデルも出てくると思っているのでそれを待つのも手だと思います。
2022/09/30 追記:ケモノ特化型のモデルが公開されました。以下の記事で紹介しています。
使用するツール
本記事では以下のツールを使いますが、必ずしも同じツールを使う必要はありません。
Stable Diffusion WebUI (AUTOMATIC1111)
多機能なGUIツールです。本記事ではこのツールを使っていきます。導入については次の記事がわかりやすくまとまっています。
各機能の解説はこちらにあります。更新頻度が高くすべてを説明するとキリがないのでここでは説明を割愛します。本記事内で使用する機能は使用時に軽く説明します。
Promptの指針
とりあえず参考にするならPrompt紹介サイトのLuxicaでFurryと調べた結果を参考にするといいです。
と、これだけではこの記事の意味が無いのでできるだけ1から構成を考えてみましょう。
promptを作るときの考え方がわかれば惜しい絵が生成されたときの調整もやりやすくなります。
Promptは目的の絵に必要な要素をピンポイントに指し示しているほど生成される絵が安定し、逆に曖昧に広い範囲を指し示していると生成の成功率がまばらになり中途半端な絵が生成されやすくなります。
キャラクターを主軸に置いた絵の場合、以下の要素が重要になります。
構図
キャラクターの特徴(種族や性別など)
絵柄
最低限これらの要素の方向性が定まっていればキャラクターを描こうとしてくれるはずです。まずはこの3つの要素で獣人を出すことを目標にしましょう。
構図
とりあえず獣人を描かせてみたいという目的ならば、おすすめの構図は
キャラクターコンセプトアート
"a character concept art of ~"
キャラクターポートレート
"a character portrait of ~"
です。
この構図は背景が単色やグラデーションになりやすく、キャラクターの部位が背景と融合しにくいです。また、ダイレクトに"キャラクターの絵"ということを指定してるのでキャラクターを目立たせようとしてくれるようです。
キャラクターの特徴
ここで言うキャラクターの特徴とは、(獣人の場合)種族や男性的か女性的か、目の色や髪型、髪色などの見た目を決定づける要素になります。
獣人向けの構成の例としては
"anthropomorphic furry [種族] [性別] with [色] hair, wearing [服装], [要素], [要素], …"
実際にPromptに書く例としては
"anthropomorphic furry wolf male with red hair, wearing white shirts"
のような感じです。
獣人の見た目のために最低限必要なのは"furry"や"[種族]"ですが、他の要素が無いとケモミミ人間になったりただの動物になったり振れ幅が広くなります。
要素を足すほど安定していきますが、"[髪]"や"[服装]"は人間的特徴として認識されやすくケモミミになりやすいです。もしそうなった場合は"animal"や"tail"などの動物要素を足して中和しましょう。
逆に動物になりすぎてもっと人間的にしたい場合は、増やしたい特徴のみを書き加える方が有効な場合があります。例えば体つきを女性的にしたい場合は"woman"ではなく"curvy"や"boobs"を加えることでケモミミ人間にならず女性的になることがあります。
また、Web UIには"( )"で囲んだ要素を強め、"[ ]"で囲んだ要素を弱めるという機能があるので、人間寄りのときは"(furry) ((fox)) male"という感じに書くと動物側に寄せることができます。
逆に動物寄りすぎるときは"furry fox (male)"と書いてみましょう。
この記事を書いている最中にWeb UIにNegative Promptという新機能が追加されました。これは、Negative Promptに書かれた要素を生成画像から弱めるという機能です。
こちらでも人間度/動物度を調整できますが、指示文に含まれるすべての要素が弱められるため意識していない要素まで消えてしまうことがあることに注意してください。
絵柄
絵柄は安定した出力に欠かせない要素ですが、Promptに必要な3つの要素の中で考えるのが一番難しいです。まずはLuxicaや記事後半の作例を参考にしながらちょっとずつ自分でアレンジするのがいいと思います。
気に入ったものが見つかったら記事の続きを読みながら、どこがどのように影響を与えているか考えてアレンジしていきましょう。
絵柄を構成する要素としては、[絵画技法],[画家],[作品名]などがあります。
[絵画技法]は油絵や水彩画、3DCGなどの技法がそれにあたります。使われる画材に大きく影響を与えますが、デフォルメ具合などのキャラクターの構成には影響を与えにくいです。
[画家]は使われる画材、デフォルメ具合の両方に影響を与えます。また、その画家がよく描くモチーフが要素として足される傾向があるようです。
例えばミュシャ(Alphonse Mucha)の場合、"花","植物","女性"の要素が足される傾向があります。
[作品名]は絵柄に関する要素すべてに強く影響を与えます。また、キャラクターの特徴への影響も少なくありません。
獣人を作ろうとしている場合に真っ先に思いつくのは"Zootopia (ズートピア)"じゃないでしょうか。"Zootopia"は獣人の生成率を大幅に上げますが、同時に3DCGでデフォルメされた目という要素が足されやすいです。
このデフォルメされた目ですが、stable-diffusion-v1-4ではズートピアらしい3DCG・ディズニー風なデフォルメになりやすいです。
一方、trinart_stable_diffusion_v2やWaifu-Diffusionではアニメ・漫画絵への補正が入りイラスト的なアニメ目なデフォルメになりやすいです。
また、作品名とは違いますが"pixiv fanbox"や"artstation"などのイラスト投稿サイトも絵柄に影響するようです。
獣人の生成の場合は"furaffinity"や"artstation"が良さそうです。
[絵画技法],[画家],[作品名]、この3つの要素は組み合わせることができます。
組み合わせた時、同じ方向性の要素を持っていればそれが強く強調され、相反する方向性の要素を持っていれば打ち消し合います。
違う方向性の要素が増えすぎると絵柄が安定しなくなったり、崩れた絵が生成されやすくなります。その場合はなにが絵の方向性を乱しているかを考えて、要素を減らしてみるといいかもしれません。一例として、作風の違う画家を増やしすぎた時などに起こりやすいです。
それぞれが持つ要素を意識することで思うような絵柄に近づけることができるでしょう。
例えば[作品名]の"Zootopia"で獣人率を上げつつ、[画家]の"Gil Elbgren"と"Alphonse Mucha"でイラスト風にしたりできます。
作例
ここまでの内容を踏まえていくつか生成してみます。
女性獣人
こちらの作品では、人間的な特徴が強く出ていたので"~ (furry) ((fox)) ~"と動物要素を強めています。
こちらは目が潰れて生成されがちだったので"~ ,yellow eyes , ~"と指定することでなるべくくっきり描かせようとしています。
こちらは衣装を着せてみています。Waifu-Diffusionやpromptに作品名を入れた場合、印象的な服を生成する確率が上がるようです。
男性獣人
こちらはStable Diffusionを試し始めた初期にLexicaのものを参考にアレンジしていったものです。服装はできるだけ詳細に、名称があるものはそれを指定するととても安定するようです。
また、"flowing ~ hair"で風になびくダイナミックで映える髪型が生成されるようです。これを知ってから多用するようになりました。
なるべく全身を描いてほしかったので"full body"を入れています。おまじない程度ですが、腰から上を描いてくれる確率が上がる気がします。
こちらはハーレムパンツ"harem pants"(よく踊り子が着てるイメージのズボン)を男性獣人に着せようとしたもの。"harem pants"と"alphonse mucha"に女性の要素がついているみたいなので"muscle"で男性的に近づけています。ちなみに"man"や"male"ではケモミミ人間になってしまいました。
デフォルメ体型獣人
海外ではデフォルメキャラは"Chibi"と呼ばれているようです。"zootopia style"でCGっぽくなるのを"anime style"で中和しています。
"Chibi"を指定してもやや等身高めのキャラが出てくることもあります。
"anime style"を抜くとややCGっぽさが足されて影の塗り方が変わります。
おわりに
今回は獣人を生成するためのPromptの考え方について解説しました。
これだけでも獣人の生成率は上がると思いますが、顔のバランスが惜しかったり頭にある構図を複雑に考えず出したくなることもあると思います。
この辺はimg2imgという画像を元に生成する機能を活用することで改善されます。
そういったより良い感じの獣人にしていくテクニックについては次回以降に紹介できればと思います。(僕が飽きていなければ)
この記事が気に入ったらサポートをしてみませんか?