見出し画像

お絵かき素人のAI生成画をトレス・模写 100日チャレンジを終えて

 10月19日から始めた、画像を下絵にトレース100日訓練というチャンレジをやっていたのですが、なんとか無事に2月5日に終えることができました。正月休みで飛んだり、たまに忙しくてできなかった日もあったりしましたが、基本的に自分が画像生成AIで生成したAI画像を模写するという方式で、毎日1時間から2時間程度を使って、100日を終えることができました。
 こういうのって、勢いそのままに反省記を付けておかないと、二度と書かなくなってしまうと思うので、なんとなく終えた勢いでまとめてみます。

 まずは、いつも、いいねやRTしてくださっていた皆様に感謝を。

12月6日に公開した前編にあたるものはこちら

■目指すのは2.5次元的な絵を狙って作れること

 私自身は子供の頃は落書きは描いていたものの、大人になって絵を描くことはなくなっていました。他にやることがたくさんあったし、技能的に絵を覚えることに時間を割くことはできなかったということもあるし、その後の仕事でも絵を描く必要性はなかったからというのがあると思います。それでも絵を描けなくても、漠然と自分の思うような絵を出してみたいという欲求は持っていたのだろうと思います。

 自分で自由な絵を描いて、それを生成AIを通じて、自分が目指したい絵を出せるようにするということを目標にしていました。その上で、絵を描くということと、生成AIの共生するような将来の可能性みたいなものも感じられないだろうか、という気持ちもどこかにありました。もちろん、ほとんど絵を描かない私自身が、絵を描けるようになるといいなあというような気分もありました。
 目指していたのは2.5次元的な絵で、リアル過ぎないし、アニメ過ぎもしないという中間地点。限界がある中でも、独自の画風を生み出すことができないかと思っていました。

 中古で入手していた板タブを無駄に持っていたのですが、ほとんど使ってもいないので描き方もよくわかりませんし、感触も手になじまず、最初は単純トレスでしたが描くのは四苦八苦しました。これらのは前回に書いたもので説明しています。この記事で扱うのは、50日前後からの後半戦の話です。

■Novel AI v3登場による参考画の単純さの克服

 Krita+LCMでの環境が固定して、グリッド表示をさせて、それを参照しながら描くということに慣れてくると、単純な立ち絵ぐらいであれば、トンチキ絵程度のデタラメな模写であれば、あっさりと描けるようになってきました。50日ぐらいからはこの描き方に慣れてきて、かなり簡単にまとめれるようになってきました。

 一方で気が付き始めたのが、Stable Diffusion 1.5で生成されるポーズは単純なものが多いということでした。シンプルな立ち絵であったり、ちょっと足を曲げたりといった程度のものが多く、もう少し複雑な物を描いてみたいという気持ちが強まっていきました。過去に万単位で画像を生成しているのですが、自分のトレーニング用と考えると、なんとポーズが平凡なものが多いことか。これが画像生成AIの一つの限界なのだろうと思います。
 SDXLでも、Fooocusを使う限りは、それほど複雑なポーズは出てきません。
 そもそも、腕が重なるとか、腕と体が重なるというようなポーズは、その境界線を適切に生成AIが認識できないため、苦手です。

 また、MidjouneyやNijijouneyも同じようなものでした。ほっとくと突っ立っている画像ばかりが出てくる。きちんとコントロールして参考用の画像から作らないといけないのかと思ったりしていました。
 一番ポーズへの可変性を持っているのは、Dalle3かなと思っています。ただ、こいつはこいつで、思った通りの画像を出すように指示するのが結構難しく、調整して生成していると細かいところの融通が効かないので、やり直しが多く、時間がかかる。

 そこに登場したのが、NovelAI v3(NAI)でした。
 NovelAIは、とにかくアニメ的なポーズを生成するのが得意で、SDXL系のものでも一つ頭抜けているように思います。
 そこで複雑なポーズを何枚もさせて、それを模写するというのに切り替えていきました。NAIは、強力i2iの機能も搭載しているため、Krita+LCMで生成した画像を、NAIでまとめていくという方法も模索しました。

■薄い色味の絵をどうやって克服するか

 一方、NAIは任せれば任せるほど、どうしてもNAIの絵になってしまう。強度を低めだとあまりきれいな絵にならないし、強度を高めると元のKrita+LCM加工の絵からまるで違うものになってしまうという悩みにぶつかりました。
 もう一つが、薄い絵からは、薄い絵しかできないという悩みでした。Krita+LCMの使い方で、水彩絵の具っぽい筆を使って着色していたのですが、その影響もあって、どうしても最初の段階では薄い色になってしまいます。Photoshopを使って若干色味を濃くしても、その色味のままNAIでは生成されてしまいます。もう少し濃い色味にしたい、できれば模写時の雑線を消してしまいたいという気持ちがあったので、何かいい方法はないものだろうかと思っていたのです。

 新しい方法を見つけたのが、81日目でした。一つはKrita+LCMでの作成時に、もう少しリアルなモデルを使い、最初からリアルよりの雰囲気に寄せたものを作成しておいて、Stable DiffusionのControlNetを使って、再生成するという方法でした。

 いつもアニメ系の独自マージモデルを使っているのですが、そこにとーふのかけらさんのリアル系「VoidnoiseCore R1733」を0.3でマージしたモデルを試してみたのです。
 そうするとかなりKrita+LCMでも明暗が、アニメ系でありながら、リアル系に影響を受けて明暗感を作り出す画像が生み出されたのです。これをさらに同じマージモデルでA1111で、Stable Diffusion ControlNet Tile 0.5, Lineart 0.5の比率で生成すると、リアルとアニメの中間的な画像が生成されました。しかも最初の雑線をほぼ消してくれているのです。私の中では、かなり画期的な方法の発見でした。
 また、Krita+LCMに入力するプロンプトを、A1111のTaggerを使って、参照画を分析してしまい、生成されたプロンプトをそのまま入れるようにもしました。これは、狙った画像をAIが的確に捉えやすくなる傾向ができるため、模写や着彩時の結果を良くする効果があります。

■Krita+LCMで顔をすぐに勝手に描かれてしまう

 ただ、Krita+LCMに本格的に切り替えてから、別の悩みも感じるようになりました。リアルタイムAIの能力が強力すぎて、こちらが模写をしっかりとする前に、すでに絵が完成してしまうというのが、起きるようになったのです。顔では顕著に起こります。特に、リアルとアニメの独自マージモデルでは顕著で、リアル系は造形力が高いのかもしれません。
 そうすると、結構、模写の初期の段階から、ほぼ形状しか取っていないのに、リアルな顔、しかも出来が良いものが描写されるというのが当たり前に出るようになります。

 これをどこまで許すのかというのが、模写時の葛藤にもなりました。

 一方で、細かいメカや指といった細かいディティール形状といったものは、生成AIは苦手で、丁寧に描いても、それがその通りにきちんと出ることはないという感じです。Krita+LCMでもSeed値を変えてガチャを回すしかありません。
 それでも、模写をどんなに描き込んでもその通り出てくれません。むしろ、そういう揺れが起きるものだという前提で、ガチャを回して、その中で気に入った形状が出たときにその部位だけをレタッチして、合成したほうが早いということに気がつくようになりました。

 そのため、省力化、高品質化というもののために自然とそうなったのが、模写の出来が微妙であっても、LCMで生成された画像の出来がいい場合は、その方を優先するというやり方です。もう、それなりに良いものが出てしまったら、その状態を維持するために、その部分に加筆しないというやり方を取るようになりました。
 そのため、顔の模写力は上がりませんし、指の模写力もあがりません。なので、単純に画力を上げたいという人には向いていない方法かもしれません。
 もちろん、Krita+LCMの強度を通常は 0.3 でやっているから起きることで、この数値を落とせば、模写通りの絵が出てくれます。しかし、私の場合は、そこまで模写力を引き上げたいのかというと、それも違うような気がして来ました。生成AIをうまく使って、自分が思う絵を出すことが目的であり、模写そのものをすごくうまくなることが目的ではないだろうと。
 その方針に切り替えて、最初の線画は15分、着彩に15分と、30分で、Krita+LCMでの作業は終えられる様になりました。

■安定的に着彩とディティールの弱さをどう克服するか

 そして、どうやって、着彩の色の弱さを克服し、ディティールを増すのかというのが、大きなテーマになってきました。
 一つ気がついたのは、高解像度化です。
 解像度を2倍にして、それに合わせて情報を描き込んでくれるMagnificAIをお試しでやってみました。月30ドルもかかるので継続はしんどいですが。なんか、いい感じで描き込んでくれるのですが、アニメキャラっぽいのはやはり苦手なようで、これがベストと言う感じにも思えませんでした。
 A1111用としてはTiled Diffusionが一般的だと思うのですが、設定の組み方が甘いのか、なかなかいい感じに出ませんでした。

 Krita+LCMで作成した画像を、単純にスケールを2倍にして生成するという方法も試してみました。これが割といい感じで、情報密度が増してくれました。それでも、着彩の薄さが残ってしまいました。
 ならばと、そもそも768x1024という解像度が高めでKrita+LCMで作った画像を、同じプロンプトで、Stable Diffusionで解像度をHiresで2倍にしてみればどうかと。ContorlNetは、Tile0.5、Lineart 0.25~0.5で設定しています。これが効果がありました。非常にリアルな質感を生成することに成功できました。ただし、かなりディティールにはコントロールできない揺れが生まれます。

 結局、この方法論を追求していくことになりました。顔のリアルさが少しきつすぎるので、リアルモデルのマージを0.15にしたモデルも試しており、現在、一番使っているのが、このモデルです。

 生成サイズが大きく、VRAMも限界まで使うので、生成時間はかかります。複数枚出して、最後はレタッチに持ち込むやり方をするため、作業の待ち時間が増えました。なので、最初のKrita+LCMに30分、その後のA1111とレタッチ作業に30分+αという時間構成が増えることになりました。
 
 もう一つがLightroomの使用です。Photoshopのプランにありながら、ほぼ利用していなかったのが、司島積雲さんが、Lightroomで調整されているのを知り試してみました。これは使えると。特に、色を鮮やかにしてくれるHDRや、Depthを生成して背景をぼかしてくれる機能など、絵にメリハリを与えてくれる機能はとても使えます。

 そうして、自分なりにアニメぽいけど、実写ぽさもあるような絵に100日間の間にたどり着くことが出来ました。

 100日間チャレンジを終えてみて、今の手順は自分なりの到達点だなと思っています。

■おわりに 次はフォトバッシュやりたい

 出来上がった絵は自分が描いたかと言われると、かなりの部分は生成AIによると思います。それでも、自分が入力情報をコントロールすることによって、生成AIが持つ広大な特徴点空間の海から自分の出したいものを生み出しているのは間違いありません。一方で、生成AIが苦手な表現というものも多く、突き詰めるとその限界の壁との争いになってくると思っています。

 生成AIにだいぶ下駄を履かせてもらうという前提ですが、参考にできる画像があれば、トンチキ絵だろうが模写して、何らかの絵にまとめ上げることができるようになりました。最初は、トレスしか出来ないと思っていたのが、模写までできるようになりました。
 始める前には、板タブの使い方さえわかっていなかった人間が、生成AIを使うことで、自分の思う画像を出力できるようになっただけでも、相当なものではないかと思います。
 まだまだ、画像生成AIをめぐる環境は、いろいろと騒がしいですが、個人的には、この方向には様々なアプローチが眠っており、まだ人類が見たことないような新しい表現が、開花する可能性を感じています。それが理解されるまでに、どれぐらいの時間がかかるのかは予想が付きませんが、その形式は「生成AI派」とでも呼ばれる新しいカテゴリーになると思っています。

 さて、100日が終わりましたが、次は何をしようかと思っているのですが、フォトバッシュ的な技法を試してみたいなと思っています。
 VRMとMidjouney v6を組み合わせて、キャラクター表現の幅を生み出せないかというのを試し始めていますが、次はもっとこれを突き詰めてみたいと思っています。
 ただ、この模写の方法ももっとやってみたくて、気が向いたらやりそうな気がします。どちらにしても、やりたいことが多すぎて、時間が足りません。

いいなと思ったら応援しよう!