![見出し画像](https://assets.st-note.com/production/uploads/images/123669458/rectangle_large_type_2_5caa0122704df5eafa0e521544abae05.png?width=1200)
お絵かき素人がAI生成画をトレス・模写して、さらにAI生成画にする50日
この記事では、10月19日からXへの個人投稿として開始した「#画像を下絵にトレース100日訓練」という、過去に自分でStable Diffusionなどで生成した画像を、トレスや模写の対象として、もっと自分の思う通りに絵をコントロールできないかという試みを紹介します。また、最初のトレスから、段々と手法を変えていったプロセスも紹介します。
この記事は、生成AI Advent Calendar 2023の12月6日の記事です。
■トンチキ絵でも描けば理想に近づけるのでは?
そもそも、なんでトレスなんかをやってみようかと思ったのを思い出してみると、賢木イオさんが「水星の魔女」のスミレオでやっていた、トンチキ絵を見ていたら同じようなことをやってみたいという気持ちからでした。
私は二次創作には関心はありません。一方で、いつも眼鏡っ娘を生成していますが、自分のなかで想像するイメージ通りにキャラクターを出したいという気持ちはいつも持っているのです。
AI絵やってると、「神絵を描くのは不可能だけど、別に絵を描くこと自体は難しいことじゃないし、トンチキ絵でいいなら子供でもできる(実際やってる)よな…」ってなるんですよね。
— 賢木イオ@スタジオ真榊 (@studiomasakaki) October 19, 2023
「トンチキ絵を投稿してはいけない」っていう謎のハードルに縛られてた気がする。ワイの実力こうだし。 pic.twitter.com/bzPq7J6pEx
しばらく前から、ControlNetを使っても思ったような画像を出せない不満を感じていました。出力した画像なりを下絵にしても、それから乖離した画像が出やすいという傾向がある気がしていたのです。
いくつか原因には思い当たるところがありました。その一つには、元画像の状態では、情報量が多すぎるからではないかというところです。結局、ControlNetの使用時に、LineArtなり、Scribbleなりにしても、それらのベース画像が生成される段階で、情報量が多すぎて、コントロールを行いにくいのではないかという気がしています。たとえ途中段階の画像を出力しても、そこから修正するのは、結構難しそうだなあという印象も持っていました。
そのため、元絵をトレースして、シンプルな線画だけにすれば、自分の狙っているポイントだけをちゃんと認識してくれるのではないか、というのが最初の仮説でした。100日もやれば、何か見つかるだろうみたいな適当な気分からのチャレンジ開始でした。トレスの元絵は過去、自分でAI生成したもので気に入ったものというルール。
そして、ほとんど使いもしないで宙ぶらりんだった中古のタブレットを持っていたため、それを使ってトレスをして見ることにしました。使い慣れてないので最初はまともに線を引くことさえできず、使いにくいことこの上なかったです。
#AI画像を下絵にトレース100日訓練 1日目 #AIイラスト
— Alone1M (@Alone1Moon) October 19, 2023
唐突かつ何日続くかわからないのですが、過去投稿で気に入っているAI絵をトレースして、それをベースにさらにAI画像を生成するというチャレンジ始めます。左)トレース画、右)Cannyでの生成画 pic.twitter.com/yLxsVbpOxj
(1日目、まだまだ、タブレットの使い方に慣れてない)
果たして、その結果は予想通りでした。
トレスした画像を、LineartやSoftedgeなりに入れると、割と狙ったような絵が出る。色もTileを弱めにかければ、その線を的確に影響を与えられるということがわかってきました。それにより元にした絵よりも、魅力的な絵も作れると。
基本的には、クリスタでトレスを行い、A1111 Stable Diffusion1.5のControlNetに設定して出力しています。
#AI画像を下絵にトレース100日訓練 5日目 #AIイラスト
— Alone1M (@Alone1Moon) October 22, 2023
Nijiをトレス。トレス40分ぐらいで、SD30分ぐらい。SF的な形状の意匠はトレスも時間かかりますね。10枚プロンプトを調整しつつ出力し、パーツの色が共通色にならないので、Photoshopで色やパーツを選んで、気に入った部分を合体させて完成。 pic.twitter.com/u2Bq3a1HPk
(5日目ぐらいにはトレスには慣れてきた)
#AI画像を下絵にトレース100日訓練 10日目 #AIイラスト
— Alone1M (@Alone1Moon) October 28, 2023
トレス20分、調整25分、45分。これだけアバウトだと、服装の色が狙った通りにするのが難しいので、軽く色を塗って、Tileで引きずった方がいいとは思った。NPで抑えても、ストッキングを履きがちだったのでその対策にもなる。RimLightは偶然。 pic.twitter.com/hm2XwKKAk0
(色を狙った通りに出す難しさを感じるようになる)
■トレスから模写に移行
ただ、トレスにはだんだん慣れてきて、割と簡単なのだなと思うようになりました。一方で、トレスに必要な時間は20分ぐらいはかかるので、作業感が結構あり、だんだんと飽きてきました。
初心者向けのイラスト講座のYoutubeなどを見ると、トレスでは絵はうまくならない説の説明があり、そういうものかなと思い、もう少し難易度を上げてみるかと、参考絵を見ながらの模写に切り替えてみることにしました。
もちろん、模写なんてやったことがないから、救いようもなく下手くそなのですが、別にControlNetのネタ元として使いたいだけなので、どれぐらい影響を与えられるのかを見てみたかったのです。
最初のころはなかなか悲惨でした。トレスと違い、下手くそな模写で線が整理されていない状態だと、Stable Diffusionに読み込ませると、その雑線まで拾って画像にし始めるので、とてもまともな画像とは言えないものが出てきました。
#AI画像を下絵にトレース100日訓練 14日目 #AIイラスト
— Alone1M (@Alone1Moon) November 1, 2023
模写15分、修正45分、計60分。トレスでなく模写。思いっきり手を抜いたトンチキ絵ならどこまで行けるかをテスト。かなり駄目。結局、線をきれいにする作業や、SDに的確に出させるためのパラメータ調整に時間がかかり、時間はむしろかかった。 pic.twitter.com/LU4X1lfjV7
(SD1.5にそのまま入れると、線のノイズがそのまま出てしまっている。
模写初日はなかなかのトンチキ絵)
工程的にきれいに出せる方法がないかなと思ったところ、SDXL向けのFooocusが、独自方式のCannyに対応したのに気がついたので、的確なプロンプトを与えると、線画を整理した画像を出力してくれる事に気が付きました。
昨日のトンチキ絵を、FooocusのCannyを使って一度作り、その画像をFooocusでもう一度Cannyに掛けて、最後にSDのCannyで896x1152で生成し、Upscale1.5で仕上げた。Fooocusはプロンプトへの追従性が高く、高解像度で出るため、いい感じで出る。#AI画像を下絵にトレース100日訓練 番外編 #AIイラスト https://t.co/VzS2MEQdJQ pic.twitter.com/6teK3fkDfX
— Alone1M (@Alone1Moon) November 2, 2023
作成工程に、模写した画像を、Fooocusに入れ、整理された先の画像を、Stable Diffusion 1.5に入れて、最終出力にするという方法を思いつきました。それにより、ベースのトンチキ絵の模写は見れるレベルの画像として出せるようになりました。
また、途中から、模写をするときにも、グリッド線を表示して当たりを取るように工夫するようになりました。とてつもなく乖離した画像になることは少なくなったように思います。頭のサイズが、描いていない人が思うよりも大きいものだといった助言を頭に入れたりと、模写をすることで発見ができたことはいろいろありました。
なにより、ただ描いているという行為自体がそれなりに面白いなと。
もちろん、手といった複雑な形状は模写ぐらいでは、すぐにうまくなりません。ところが生成AIを通すとそれなりに形になることが多いです。ただ、ちゃんとした形にならないことも多く、何枚も出して、まともなのをPhotoshopでツギハギするという、いつものレタッチもやります。
#AI画像を下絵にトレース100日訓練 15日目 #AIイラスト
— Alone1M (@Alone1Moon) November 3, 2023
模写20分(トレスでなく模写)、修正20、計40分。一度ざっくり描いた後にAIが解釈しやすいように線を整理する作業を行った。模写をFooocusのCannyで解釈させ、出てきたものを、SD1.5のLineartに入れた。割と一発で出てほしいものが出た感じ pic.twitter.com/rvGx8DPBxM
元絵からの変換例
#画像を下絵にトレース100日訓練 21日目 #AIイラスト
— Alone1M (@Alone1Moon) November 8, 2023
模写25分,調整35分,計60分。模写>Foocus(カラー)>SD1.5。模写でまたサイズを間違えたので書き直して時間かかる。Foocusはカラーで出してプロンプトで近づけた。何枚か出したものをPSで合成。SDも何枚か出して合成。指、ポケット、リボンが揺れた。 pic.twitter.com/wBxjGhGMUq
なんやかんやと、生成時の質をこだわり始めると時間かかるようになる。元絵のイタズラっぽい表情を出したかったが、4枚目の出力後に「Naughty face」と入れてやると、いい感じの表情が出た。絵側だけでなく、プロンプトによる微妙なコントロールの重要性もよく分かるようになってきた。#AIイラスト pic.twitter.com/kmzmXhqSgK
— Alone1M (@Alone1Moon) November 8, 2023
■Fooocusを使うことで生まれた不満
また、毎日何を模写しようかと過去に生成した画像を漁っていて気がついたのは、生成AIによる生成画は、ポーズの動きが小さい画像が多いということでした。
立っている正面画や、軽く座っている程度のものが大多数で、案外とバリエーションがない。様々な情報量でごまかされていましたが、色なく、背景を外すと、生成AIの現状の限界のようなものが見えて面白くは感じました。
さいとうなおきさんが、「今日の参考ポーズ」というタグで毎日写真をアップされていますが、どのポーズも体の仕組みや、カメラを理解していないと描けないよく考えられたポーズが多く、またAI絵が苦手とするタイプの画像だなとも思いながら見ています。後日、Krita+LCMで、一度だけトレスで挑戦しましたが、安定的な画を出すのは難しかったです。
結局、人間が描写が苦手であったり、構造が複雑なものは、多く学習している生成AIでも的確に出せないという傾向があることは知られていますが、やっぱりそうだよなということは、模写をしても変わりません。
さいとう なおきさんの今日のポーズをKrita+リアルタイムLCMで、トレス。指がグチャるかなと思ったけど、色々調整をしていった結果、崩れない状態の出力が出せた。結構複雑なポースでもいける。今度は模写で挑戦してみたい。 https://t.co/G3SwZOrBLO pic.twitter.com/qu8fbWADh9
— Alone1M (@Alone1Moon) November 23, 2023
そして、Fooocusへの満足は、次の不満を生み出します。Fooocusが勝手に描き込んだり、デザインの修正をしたりというのが気になるようになってきました。
Fooocusの性能は高いのですが、Cannyが元の模写絵を必ずしも完璧に追ってくれるというわけではないのです。特に色の追従性は難しく、カラーコントロールはどんどん無視して、その上に別のデザインにしてしまいます。実際、完全に制御する最適なパラメータは見いだせませんでした。
生成AIでは、結局は、ノイズから回復させる方法である以上ランダム性が交じるので、期待したものとズレたものになるのは原理的に仕方ないという前提で行うしかないのですが、そういう難しさを感じさせられました。
#画像を下絵にトレース100日訓練 24日目 #AIイラスト
— Alone1M (@Alone1Moon) November 12, 2023
模写15分,調整25分,計40分。模写>Foocus(カラー)>SD1.5。同じく時短方針で、どこまで行けるかを試した。元絵もなんだか分からなかったが、腰についていた装飾の解釈が揺れた。SDだと髪になる。腰になにかあるのって、指定できるのかなわからず。 pic.twitter.com/8xXOAFFjmi
1枚目はMid。3-4はFooocusで解釈がかなり揺れる。この辺をうまい制御する方法はないかな。Fooocusの顔はいまいち濃すぎて好きではない感じ。AIイラスト pic.twitter.com/RfmlvRDSsc
— Alone1M (@Alone1Moon) November 12, 2023
(Fooocusの解釈揺れが大きく、苦労した画像)
■Krita+LCM環境と出会う
そうこうするうちに、11月中旬にLCM Loraがやってきて、対応したドローアプリのKrita+LCMに出会いました。それまで、Kritaの存在はそもそも知りませんでした。生成AIがユーザー開発のプラグインで動くというのも全く知りませんでした。
Xのタイムラインで流れてきたのを見て、これは面白そうだなと。そして、触り始めるとこれは便利だなと。私のような絵をそもそも描くことを行わない人間にとって、AIがアシストしてくれることで、絵を形にできるというのはいいなと。
話題になってるKrita+ランタイムLCMを入れてみた。なるほど、これはたしかにすごい。ほぼリアルタイムだから、修正がすぐに反映される。このトンチキ絵から、右ができる。 pic.twitter.com/O1UlLXNGBI
— Alone1M (@Alone1Moon) November 19, 2023
Kritaのそのままの生成にはそんなに魅力を感じませんでした。WebUIと変わらないので。ただ、Krita+LCMによるリアルタイム生成は、まさに魔法のごとくのおもしろさでした。
素直にすごいな。Krita+LCM。 この落書きラベルのトンチキ絵から、右が出てくる。チェックポイント次第なんだろうけど。 pic.twitter.com/ZJ5dVREX0y
— Alone1M (@Alone1Moon) November 19, 2023
まず、Krita+LCMにはプロンプトを入力しておいてやります。LCMにはネガティブプロンプトががないので、その入力欄はありません。そして、作成した模写画像なりをレイヤーに貼ってやると、その画像に合わせてリアルタイム生成が始まります。
Strength値があり、それを上げていくと、プロンプトへの追従度が高まり、50%を越えたあたりで、元の画像の形を維持できなくなってきます。30%~40%ぐらいに設定して使うと、元の模写をうまく生かした感じで画像を作ってくれます。
Krita+リアルタイムLCM プラグインが革命的なのは、Kritaの仕組みを使うことで、複数のControlNetをPhotoshopのレイヤーと同じような仕組みで扱える点だ。
— Alone1M (@Alone1Moon) November 21, 2023
他のソフトには、同じような仕組みは現状ないと思う。触るとこの次の画像生成AIの世界を示しているすごさがわかると思う #Krita pic.twitter.com/fpXAXpBZDL
もちろん、チェックポイントやLoraの影響を大きく受けるので、顔は思ったほど狙った顔にすることは簡単ではありません。その元データの顔になってしまう。目のサイズとか常に不満を感じていますが、アニメ風では、細くすることが案外と難しい。そもそも、A1111でもきっと同じだったのでしょうけど。
そういう触ってみて感じる制御が難しい部分もたくさんあるのですが、リアルタイムに確認しながら修正できるために、自分が出したかった出力を目指しながら作業を進めることができます。
#画像を下絵にトレース100日訓練 42日目 #AIイラスト
— Alone1M (@Alone1Moon) November 29, 2023
時間図らず。CSP模写>Krita+LCM タラタラやっていたので、1時間半ぐらいかかってるかな?背景が地味だったので、別の廃墟っぽい画像を合成して、色情報と組み合わせたりしながら合成生成。もう少し顔を地味にしたいのだけど派手になってしまうなあ pic.twitter.com/kREyvtEqaM
A1111では1枚1枚出力しては微調整を繰り返す必要がありますが、リアルタイムLCMでは、出力データを見ながら、自分の求めるAI絵を探るという感じです。いろいろ難しさはあるとはいえ、AIにアシストを受けながら、自分が作りたいAI絵を模索するための方法にとってはより適切な方法に近づいてきたのではと思います。
#画像を下絵にトレース100日訓練 47日目 #AIイラスト
— Alone1M (@Alone1Moon) December 4, 2023
Krita+LCM模写 20分>Krita+LCM背景追加 20分>レタッチ 5分 最初からKritaで生成しながら描いた。速いのだけど、アシストが強力で、目とか靴とか位置がわかると、それで完成形描かれてしまう。画像サイズの限界か修正があまり効かないのが難点。 pic.twitter.com/REE2KlknaY
(執筆段階で最新の47日目。結構気に入っている)
■さいごに~AIがあっても絵を描くのは楽しい
AIにアシストを受けながらであっても、絵を描くのは楽しいです。
最近は、模写ではなく、何も見ないでもAIアシストを受けた状態で絵を描くことも行うようになりました。実際、同じような構図しか、今は描けませんし、そもそもの絵が、うまくなったかと言うと、微妙な気もします。ゼロよりはマシですが、AIなかったらかなり微妙でしょう。また、Krita+LCMはAIアシストが強力すぎて、頼りすぎると、あまりうまくならないかもなあという気もします。
一方で、トンチキ絵でも、絵を描くことは、生成しているだけとは、違った魅力があるなと感じています。やはり、描いている事自体が楽しい。
雑に、ざざっとKritaで描いてみた。10分ぐらいで描けてしまうが、目のサイズが元ラフとだいぶ違う。何も見ないで書くとポーズがワンパターンになるなあ。顔は適当描いても一番認識してくれるところのような気がする。この自前モデルだと目がやっぱり大きくなるので、Loraで補正する必要がありそう。 pic.twitter.com/EWNqwQkMxV
— Alone1M (@Alone1Moon) December 3, 2023
なんとなく、このAIとの道の先にも、いろんな表現の可能性があるのではないかと感じたりしています。生成AIか、人間か、みたいな対立軸がとかく語られやすい気もするのですが、両者が共同で作業することでよりすごいものを生み出せる未来へのヒントがあるようにも思います。
私自身は、生成AIがなければ、こんな絵を練習するみたいなことをやることはなかったでしょう。
高価なビデオカードを必要とせず、誰でももっと気軽にAIアシストを受けながら絵を描ける時代はすぐそばまで来ていると予想します。そして、絵を描かなかった人が、生成AIをきっかけに描き始めるというケースは、増えるのではと考えています。それによって、もっと新しい表現方法を発見する人たちが現れるのではないでしょうか。
チャレンジは残り50日余残っていますが、何を描いていきましょうか。
例えば、もっと描き込み量の多い絵を目指していきたいなとは思っています。まあ、あまり肩ひじを張らず、好きなものを好きなように模索していけばいいのかなとは感じています。