見出し画像

StableDiffusionで立ち絵を作りたい(表情編・成功とは言えない)

 ゼロから立ち絵を作るやり方は上の前回記事を参照ください。

表情差分ガチャは大変

 今回は表情差分をもうちょいブレを減らしてできないか? というとこに着目してやってみます。

 前回は表情を変える際に首から上だけの画像をそのまま使用しました。実際、それでも割と効果的に表情は変えられたのですが、もっと自由な表情を作りたい場合はどうすればよいのか。

前回作った立ち絵と差分(上下で表情差分)

 img2imgは画像の特徴を引き継いで、新しいものを作ってくれます。
 しかし、それは逆に言えば、前のものに引っ張られるということなので、もし前の絵に顔が描いてあった場合、その表情にも引っ張られるということになります。
 Denoising strengthの値を変えることで、前の絵の影響度を変更できますが、前の絵から離れるということはつまり、前の特徴を引き継がなくなるということにもなり、同じキャラを維持するのが難しくなるということにもなります。
 これは実際に出してみると分かりますが、下のような感じになって別キャラになったりするため、表情差分という目的からは離れていきます。

変更元の絵

 上の絵をimg2imgしてsulking(不機嫌な・拗ねた顔)に変更しようとして出力した結果が下記です。

Denoising strength 0.5
Denoising strength 0.75

 見ての通り、0.5はまだ元絵の特徴を残してますが変化に乏しく、0.75は表情はそこそこ変わりますが髪型自体変わって別人になってたりします。
 ではどうするか。というとこで思い出したのは本来の差分絵の描き方です。つまり、のっぺらぼうを与えれば表情を付けやすいのでは?
 ということで、下記の絵を食べさせて出力しました。

元絵から目口を塗りつぶしたベース絵


Denoising strength 0.5
Denoising strength 0.75

 前に比べれば、ダイナミックに表情が変化しているので、表情ガチャをするならこっちのほうが多分良いでしょう。
 とはいえ、やっぱりガチャ回数は結構かさむし髪や輪郭もいまいちズレますね。

欲しい物は何か、から方法を考える

 表情差分で欲しい物は何ですか? と言われれば、表情です。つまり、フィギュア系プラモデルで言うところの表情用ステッカーですね。
 ということは、AIを使ってマネキンへ顔をひたすら書きまくってもらって、それを転写すればよいのでは?
 となったので試します。

立ち絵を作るポーズに使ったVRMの頭部のみ

 これに対して、「masterpiece, best quality, bishoujo, sulking, bald」というような呪文で表情を作っていきます。baldはハゲで、表情切り抜きに髪が邪魔になるので指定します。

Denoising strength 0.75

 表情切り抜きとしての役目は果たせそうですが、使えそうな表情を出すのは相当キツイ気がします。自由記載だと難しすぎるようなので、最低限のガイドが必要みたいですね。

マウスで適当に描き加えてimg2imgしてみる

 マウスで適当に表情を描き加え、これを元にimg2imgしてみます。

Denoising strength 0.75

 なんか違う……
 出てくる絵を見るに、おそらくbald(禿頭)に引っ張られてクリリンみたいなのが量産されてるのだと思われます。
 しかし、髪をつけると表情差分として表情デカールを作るのが難しくなるので、この方法はダメそうです。

現時点での解決手法

 結局のところ、元絵をベースにするのが一番安定するようです。
 元絵をのっぺらぼうにして、そこに表情を乗せる、あるいは元絵に欲しい表情をどこかから持ってきて乗せて、それをimg2imgするのが良いのかもしれません。
 絵が描ければ何も苦労しない話なんですけどね……

この記事が気に入ったらサポートをしてみませんか?