見出し画像

AUTOMATIC1111でAIデッサン人形を試みる

やっとAUTOMATIC1111をローカルで実装できた。。。
呪いのグラボGTX1660(6GB)だったせいで何ヶ月も出遅れました
ガチ絵描きじゃないから、インディーゲーム開発するなら性能高すぎるグラボは逆にデメリットあるから、買い替えもためらわれて…

動けGTX1660

GTX1660で黒画像しか生成できない問題が--precision full --no-halfでも効果がなく、諦めてcolabで動かして妥協してましたが、これで動きました。

webui-user.bat ファイルに黒画面対策+低メモリ対策の重ねがき、
set COMMANDLINE_ARGS=--precision full --no-half --medvram --opt-split-attention
set OPTIMIZED_TURBO=true

ここまで書くことでやっと画像が作れる様になりました。
それとは別に、起動させるのにwebui-user.batでなくwebui.batを実行してたという勘違いでなぜ設定がきかん?!で酷く時間を無駄にしたのは内緒

くっそ便利なimg2img簡易スケッチ、deepdanbooru、xformersも加えるとこうなります。
set COMMANDLINE_ARGS=--precision full --no-half --medvram --opt-split-attention --gradio-img2img-tool color-sketch --deepdanbooru --xformers
set OPTIMIZED_TURBO=true

デッサン人形として活用する方法を探る

・ギリギリ絵師を名乗れる程度の画力
・すでにキャラデザの決まってるオリキャラを描きたい
・8kハイエンドのプロ絵を描くような身分ではない

な人を想定してます。
漠然とウケる絵がほしい(≠描きたい)人はNovelAIでいいんじゃね。

使うAIモデル(ckpt)は基本WaifuDifusion1.3ですが、リアル系で濃い塗りが欲しいなら、SD1.4も有効です。

まず、ラフ構図をもとにそこそこ整った人体のベタ塗りを作成して、512*512にリサイズして、img2imgに読み込ませます。
※幼女のマッパはまずいかもと後からビビったので元絵は出せず、img2imgの新機能でビキニを後付けしてます

Denoising strengthを0.3以上に上げないとほとんど書き込んでくれませんが、上げるほど原型とどめないポーズにされます。そこで、

ループバックが有効

scriptをLOOPBACKにすることで、strength0.1-0.3でポーズをほぼ維持して生成できます。
※塗り(キャラのシルエット)があまりに雑だとその通りに描画されます。
※線画のみではうまくいきませんでした(清書した線画は劣化してしまう)。

ポーズ、体型をプロンプトで細かく指定することで精度が上がります。
例;
detailed CG unity 8k wallpaper of a naked 1girl,ultra cute face,kawaii,14yo, completely_nude, girl_on_top, looking_at_viewer, short hair, nsfw ,smile, standing , flont view,full body,look to viewer,raise right arm,outline,(lineart),(monochrome)
さらにネガティブプロンプトも指定しないとクソ作画かクリーチャーになります。プロンプトは自力で調達してください。

上のプロンプトは全裸の幼女が生成されますが、載せられないのでビキニきせた絵とnudeとnsfw抜いたプロンプトで書くと、こう。

実際は下着着せると精度が下がるから裸しかない

カラー塗りにしたかったら(monochrome)を消し(oil painting)とでも書きます。理想の作画(=自分の作画力でレタッチできる)が作れるプロンプトは自力で研究してください。

このままでは顔や髪の書込みが足りませんが、髪型・絵柄などは必要な指示量が多く、それが精細なほどその分体の書込み量が削られるので、後で別に作るほうがいいです(というか顔とか一番自分で描きたい部分だし?)
ただし、坊主頭+のっぺらぼうでは後ろ向いたり精度が下がるのでショートヘア程度は必要です。

手も同様、ポーズ指定が難しいと言うか、そもそも手の「表情」を表せる言葉が少ないのが大きな問題・・・
手も別に作り、inpaintガチャすることになるでしょう。

使えそうな線画または塗りができたら、アップスケールします。
scriptをSDupscaleにして、ESRGAN4xあたりを選んだら512*512で作ったものが10241024になります。

さらにキャラを切り抜くAIサービスがあるので、必要なら使えます
https://www.remove.bg/ja/upload
解像度に制限があるのと、髪型によっては完全にできない場合があります。
(colabやローカルで無料でできるキャラ切り抜きもあるようです)

こうしてできた画像は作品に素体として使えます。

3Dデッサン人形との違い 

クリスタにはデッサン用に3Dモデルを使える機能がありますが、比較すると
・3Dモデルより対応できる絵柄、体型が多い(手以外)
・髪や服には柔軟な表現が期待できる
・複数キャラの絡み、激しいポーズ、パースには対応しきれない
・デッサンが崩れる確率が高い
・絵柄やデザインは固定しきれない

無難なポーズ+構図でなら、変形に制限のある3Dモデルより表現力と作画コストの削減が期待できると思いました。太めの体型とか3Dでは厳しいですでね.。
手と顔は、まあがんばって。

応用で、髪の毛もできます。


こう、見るからに作画が面倒なワサワサした髪(wild hair)ですが、
まず後ろ髪だけ、アウトラインをなぞったベタ塗り画像をimg2imgします。
ネガティブにface,ear,bodyと入れて人体を生成しないようにします。

WDではベタ塗りからなかなか変化しなかったのでSDに替えて、highly detailed,Ultra Realistic,とかのワードを使ってリアル塗りを試みると、なんか程よくアニメ塗りぽくなりました。

できた髪の使える部分だけ切り取って使うことができます。
(髪の線画は後から描くことになります)

同様の設定で前髪、もみあげと分割して作ることができるでしょう。

描くのがめんどくさいものを描かせる

全身オリジナリティあふれるデザインの高解像度線画を一度にきれいに描く・塗ることはできません。
体と違って服は多様で、AIで意図したとおりに生成するのは難しく、独創性の高いデザインなら手で書くしかなさげです。シンプルなパーツに分けて個別に塗るなら可能性はあります。
それでも誰が描いても同じで等しくめんどくさい部分はあります。
そう、フリルとかです。
inpaintを使えば、スカートの白いベタ塗りをフリルに変換してくれるでしょう。

ただし、inpaintは画像の特徴を真似する仕様なので、書き込まれてないラフ塗りでは描き込み具合も同じラフものを生成して意味無しです。
なら、フリルの資料画像(持ってなかったら生成してもいい)を貼り付けてinpaintしたらどうか?
そこそこの確率で、資料の部分を真似してフリルスカートを作ってくれます。資料を置くスペースがなかったら、服の皺とフリルを一部だけ書き込んでからinpaintしても、いけるかも。

なおマスクの面積が大きいとtxt2imgとかわらない(より悪い)結果になりがちです。inpaintは小さな面積にだけ有効です。
面積が広いとこを処理するなら、クリスタのパターンブラシのフリルや、すでに一度作ったイラストからフリルスカート自体を雑に配置して、ループバック+img2imgかinpaintで馴染ませる、という手もいけるかも。

一旦低解像度にして渡すのが手間で、どんな設定とプロンプトで理想のものが生成できるかの模索、絵ガチャで運頼みなこと、
なんだか便利と言い切れない気がしてきましたが。。。
まあこれで作画の精度と時間が向上できたとして、この使い方を咎める人はいないでしょう。

同じキャラデザ・絵柄で作成したイラストが10枚以上たまったら、学習が可能になってくるかもしれません。そこまで続けられるかなあ。

なおNovelAIは、これよりさらに簡単で高精度な線画や塗りができる
img2imgを備えてます。ネットで目を引くキャラ絵の多くはNAI製で、絵柄とオリジナリティにこだわらないならこれ一択です。
代わりにNAIは学習ができず、デフォの絵柄の支配力が強く、独自の絵柄を追求するなら難しいらしいですが。
(野良NAI?知らんなあ・・・)
今後他のAIがNAIに勝るほどアップデートできるのかは読めないし、この記事の技法がすぐ役立たずになるもしれません。ならないかもしれません。

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