見出し画像

絵が描けない人がStableDiffusionと各種ツールを使って立ち絵を作ってみた記録

はじめに

 前回に引き続き、絵が描けない人が立ち絵を作ってみるにはどうすればいいかを試した方法を記載する。
 正直なところ、表情差分や衣装差分は絵が描けるなら絵を描いた方が手っ取り早いし同一性も保てるので、現時点では全く絵が描けない人か、絵を描けるがゼロから書くのが面倒な人向けの使い方だと思う。

立ち絵の構図を決める

VRoidStudio+VRMお人形遊びでポーズを決める

 img2imgを駆使することで、決めたポーズをバッチリ取ってくれるようになるため、まず最初にどんなポーズを取らせるかを決める。
 絵が描けるならサクッと当たりを取ってラフ書きすればよいが、絵が描けない人はVRMを使ってポーズを取らせることで、StableDiffusionは正確にポーズを再現してくれる。

img2imgでベースになる絵を作る

 img2imgに上の絵を食べさせて、ベースになる絵をガチャする。今回は緑のボブカットをした女性を作ることにした。
 最初の服の指定は、ブラジャーやスポーツブラ、ビキニ、あるいは裸など、肌が隠されない衣服を指定する。
 過去に着せ替えのなんたらで遊んだことがある人ならピンとくると思うが、着せ替えするベースは裸、あるいはそれに近い肌着にするのが良い。
 というのも、服を着せるために必要な修正が少ないからだ。

白いブラをした緑のボブカット美少女

 ガチャしていい感じの体つきになったらピックアップする。顔に関しては別でガチャするので、そのまま使えないものでもよい。
 img2imgだと背景色やポーズがほぼそのまま採用されるので、切り抜きやすくするために単色背景で欲しいポーズを取らせた画像を読み込ませるのが手っ取り早い。

衣装を差し替えてみる

 ベースが作れたら次は衣装を変えてみる。裸に近い状態かつ背景単色なので、首から下の切り抜きマスクは簡単に作れると思う。

首から下のマスク画像

 マスクを作ったら、inpaintでオリジナルとマスクを食べさせる。

img2imgのinpaintでUpload maskする

 Masked contentはoriginalを選択。こうすることで、元の絵を使いつつ追加で要素を足してくれるようになる。
 指定したマスクは裸と変わらない切り抜きなため、肌着にほぼ近いTシャツを着せてみるため、元のプロンプトである「白いブラをした緑のボブカット美少女」に「Tシャツ」を追加してガチャをする。

ガチャ結果と元絵を重ねて少し修正

 ガチャした結果でそのまま使えるほどクオリティの高いものはなかなか出てこないので、必要な衣装部分が問題なければそれで妥協する。
 元絵とガチャ絵をレイヤーで重ねて、消しゴムツールで元絵とガチャ絵をミックスすることで、とりあえず衣装変更はできた。

もう少し違う衣装を着せたい

 Tシャツは肌着とほぼ変わらないので、特に工夫もなく適用できたが、例えば袖が少しダボッとしている衣装を着せるにはどうすればよいか。
 img2imgでそのまま「白いブラをした緑のボブカット美少女、緑の宝石ネックレスを付けた赤いドレス」と指示しても、元絵の肌色分が強く反映されて、赤い服はほとんど出て来ないし、衣服もぴっちりした感じになる。
 そのため、img2imgに食べさせる元絵を少しドレスっぽく書き換えて、マスクもその絵に合わせる必要がある。

ブラ絵を赤で塗りつぶして袖っぽくした元絵
上の絵の赤いところを描くようにするマスク

 こうすることで、AIは赤いドレスを描くようになる。img2imgはかなり元絵に引っ張られるので、色合いやデザインを考える際は、なるべく再現して欲しい部分は細かに描いたほうが良い。

ガチャ結果をブラ絵と重ねて修正して完成

 もちろん、ガチャ結果そのままが使えるレベルになってることは稀なので、大まかに欲しい感じになっているものをピックアップして、元絵とレイヤーを重ねて消しゴムしたりちょっと描き加えたりする必要がある。
 とはいえ、絵が全く描けない人でも、この程度の修正作業はできると思うので、そこは頑張ろう。

衣装替え差分の結果

それぞれを並べるとこうなる

 衣装を差し替える分には、マスクをうまいこと使えばそれなりに差分絵として機能する絵が出力できたと思う。
 この方法を使えば、いわゆる剥きコラもできるし重ね着もできるので、応用範囲は割と広いんじゃないだろうか。

表情差分を作ってみたい

 さて、立ち絵で必要なのは服だけじゃなく、表情も必要になる。
 しかし、StableDiffusionで表情差分を作るのはかなり大変だと思う。例えば顔の部分だけ描くようにマスクを作って、ガチャをしてみても上手く表情は作ってくれない。
 なので、現段階では首ごと差し替えするのが差分を作る方法となる。

元絵から顔だけ取得

 元絵の首から上の部分を切り抜き、waifu2xなどで拡大して512x512のサイズにして、img2imgに食べさせる。
 その上で、元絵のプロンプトに表情を指定する単語を追加してガチャすることで、元絵に近いタッチのまま表情が変わったものが出力される……のを期待してガチャしまくる。(今のAIではキャラ統一は難しいので結構ブレる)

ガチャった結果

 元絵に近い雰囲気かつ狙った表情のものが出たら、それを保存して元絵に移植する。
 首から上だけを描き直した感じなので、大体はそのままペーストできるはず。首の接続点がずれるかもしれないが、それはレイヤー重ね+消しゴムでなんとかしてくっつける。

くっつけた結果

 そうしてくっつけられたら、差分は完成となる。普通に絵を描く人が作る差分は、そもそものっぺらぼうの上に目と口などを描いていくので、輪郭が全くブレないが、AIで差分を作ると頭を全部描き直すのでかなりブレる。

挿げ替え前と挿げ替え後

 上を見てもわかるように、髪型が微妙に変わってたりするが、これが現時点のAI絵師を使った限界かと思われる。
 首から上をすげ替えるという手法のため、ロングヘアだとかなり辛い作業が発生するので、今はショートかボブじゃないと大変だと思う。
 表情差分だけ作るAI機能とか増えたら、立ち絵が無限に作れるようになると思うが、流石にニッチな機能だから実装されることはなさそうだなぁ。

おわりに

 ということで、ポーズを決めて衣装差分、表情差分を作ってみた。実際にやってみた感じ、まだまだ同一人物を作るのは難しい感じだが、これがプロンプトだけで解決されるようになったら、AI絵の応用がもっと広がりそうで、文字通り日進月歩なAI絵師の進化が楽しみである。

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