こんにちは、スタジオ真榊の賢木イオです。「AI清書」の検証は一旦終わり、と前回書いたばかりなのですが、新しい手法をたまたま見つけてしまったので、今回もAI清書についての記事。特に「原画の画風を維持した清書」の方法について検証したいと思います。

前回までの手法は、原画の色やかたちを基に、AIに自由に絵を書いてもらう形式だったので、全体的な画風はそれなりに変容してしまいます。ただ、特にキャラの目鼻立ちは個性が出る部分なので、できれば原画から大きく変えずに変化させたいところ。そこで、今回はこちらのアスカのイラストのように、できるだけ変化を抑えながらAI補正を掛ける方法について検証してみました。

画風を維持しながら「AIリファイン」!提供イラスト検証で見えた"最適値":図版1

ところが、実際に検証を始めてみると、私の絵で検証しても普遍性のある手法として確立できたかどうかが分かりにくいことが判明。そこで、検証用のイラストをご提供いただける方をTwitter(一部の人にはX)でゆる募したところ、こちらの皆様にご協力いただくことができました。

キムトモさん @kimutomo_2

わら(関ゆなな)さん @wara_hirono

猫黒夏躯さん @NatsukuPhoto

とりにくさん @tori29umai

きよあきさん @AI_Loli_Painter

(※順不同)

それぞれ、画風や仕上げ段階が異なるイラストをご提供くださり、投稿や記事に利用することをご了承いただいております。誠にありがとうございました!

原画をAIに「リファイン」してもらう

さて、前回までは「AI清書」という呼び方を暫定的にしていたのですが、清書やリライトというと文字やテキストを直すイメージがありますし、あくまで「AIならこう描くよ」というイメージなので、この記事中では「AIリファイン」と呼ぶことにします。

方法はごく単純で、原画にふさわしいプロンプトを考えたあと、Controlnetの「Tile」と「Canny(またはLineart)」をある重み(Weight)で重ね掛けするというものです。仕上がりや原画との相性により調整も必要ですが、おおむね次の強弱二つの設定値が有効なことが検証を通じて分かりました。

【AI補正(強)】→ごくラフな原画で、AIにしっかり描き直してもらいたい場合

①Tile

プリプロセッサ:none、重み:0.5

Starting/Ending Control Step:0~1

②Canny(原画と相性が悪い場合はLineart系)

プリプロセッサ:canny、重み:基本0.5(低劣化する場合は0.3推奨)

Starting/Ending Control Step:基本0~1(低劣化する場合は0.1~0.6推奨)

【AI補正(弱)】→AIによる絵柄変更を防ぎつつ、リッチにしてほしい場合

①Tile

プリプロセッサ:none、重み:0.9

Starting/Ending Control Step:0~1

②Canny(原画と相性が悪い場合はLineart系)

プリプロセッサ:canny、重み:0.9

Starting/Ending Control Step:基本0~1(低劣化する場合は0.1~0.6推奨)

たったこれだけです。Controlモードはすべて「Balanced」しか使いません。

・Controlnetの重みを強めると原画に近くなるが、低劣化しやすい

・弱めるとAIが自由に描けるため、クォリティアップに繋がりやすい…という関係にあります。cannyの方が低劣な線をほどよく無視してきれいに仕上げてくれるイメージがありますが、原画のタッチによってはCannyでうまく読めないことがあるので、その場合はLineart系を利用しましょう。

さっそく、この設定で「リファイン」した例を見ていきたいと思います。

【1】きよあきさん作例

【1】きよあきさん作例:図版1

きよあきさんからご提供いただいいた東北イタコさんのファンアートです。こちらをさきほどの手法でAIリファインしてみます。

まず、プロンプトでAIに原画の内容を説明します。青い服を着ていて、銀色の髪で、ケモミミで…というプロンプトを簡単に作っていきます。ゼロから考えるより、img2img画面で原画を読み込み、「DeepBooruによる解析」でベースになるプロンプトを出すのが簡単です。

【1】きよあきさん作例:図版2

もちろんこれだけでは不十分なので、次のプロンプトを自分で足しました。

「expressionless、cool、half closed eyes、thick eyebrows、red balls on ears、(black bodystocking:1.3)、holding staff、grey long hair、hime_cut、blue costume、black partially fingerless gloves、red earrings、silver very long hair」

このプロンプト設定はとても大切で、不十分なプロンプトで生成すると、AIが勝手に笑顔にしたり、イヤリングのデザインを変更したり、手に持っているものを別のものに解釈して書き換えたりしてしまいます。意図通りのリファイン結果になるように、AIに「何が描かれるべきか説明する」イメージでプロンプトを作りましょう。

・生成画面設定

生成画面の設定はこのような感じで、高解像度補助を使っています。キャンバスの縦横比が原画とずれるとトリミングされてしまうので気をつけましょう。

【1】きよあきさん作例:図版3

・1つ目のControlnet:Tile

MultiControlnet機能を使って、2つのControlnetを適用します。一つはTile。ここまでは前回までに紹介した「AI清書」と同じです。

【1】きよあきさん作例:図版4

・2つ目のControlnet:Canny

もう一つはCannyです。これを追加することで、より原画の「線画部分」をAIに印象付けて、違う絵柄になってしまうことを防ぎます。

【1】きよあきさん作例:図版5

さて、ここから重要なのは「重み」をどうするか。Controlnetの重みを強めると原画のタッチが再現されますが、ご存知のとおり低劣化してしまうことが多いです。そこで、どの数値が適正なのかX/Y/Z Plotで実験を行いました。

【1】きよあきさん作例:図版6

こちらがその結果。大きくして、原画と見比べてみましょう。

・AI補正(強):重み0.5

【1】きよあきさん作例:図版7

こちらは線が整っていますが、絵柄が変わっています。細部のディティールが足されてリッチになっているのは利点なものの、真ん中分けした髪の先がぱっつんになっていなかったり、目の光が過剰になっている点が気になります。また、クォリティアップしているとはいえ、手は正確に描けていません。

・AI補正(弱):重み0.9

【1】きよあきさん作例:図版8

こちらは線の粗さがやや気になりますが、さきほどの例と比べると、アンニュイな視線がそれなりに残せています。また、手のクォリティアップがほとんどしていない代わりに、大きく崩壊もしていません。

さらに実験範囲を広げて検証してみました。

1.Tile+Lineart Anime + Lineart anime

【1】きよあきさん作例:図版9

Cannyの変わりにLineart Animeにしたもの。重み0.4あたりからきよあきさんのイラストらしくなり、0.8以上はあまり変化がなくなっています。重みが強いほど線は低劣化する傾向にあり、背景の色合いが変化していることも分かります。これはLineart Anime独特の現象のようです。

2.Tile+Lineart realistic + Lineart

【1】きよあきさん作例:図版10

こちらはLineart Animeでなくプリプロセッサを「Lineart realistic」にし、「Lineart」に送り込んだ結果。キャラ部分はそこまで大きな差はありません。こちらも重みが強いほど線は低劣化する傾向にありますが、Lineart animeに比べて背景への影響が弱いことが分かります。

これらの結果から、とりあえずさきほど説明したように、重み0.5と重み0.9の2パターンを軸に検証を勧めていくことにしました。続いて、わら(関ゆなな)さんのイラスト4枚について検証してみます。