xckb的雑記帳

身の回りにあったことを雑多に語ります。

アニメ絵お絵描きAIのNovelAI Diffusionを使う上でのアップスケーラー選び

さて、アニメ絵お絵描きAIのNovelAI Diffusionを使い始めてほぼ1ヶ月が経過し、Anlasが再び10,000追加された今日この頃。前回記事を書いた時から2週間が経過したので、いくつか書こうかなと思っていることも溜まっているのだが、今日はアップスケーラーの話を書こう。前回の記事はこちら。

xckb.hatenablog.com

NovelAI Diffusionの$25プランでおすすめの生成サイズは?

最近、$25で生成し放題になるNormalのサイズ、Landscape 512×768, Portrait 768×512, Square 640×640とは異なるCustomのサイズで生成するのが結構気に入っている。LARGEの1024×512とか512x1024とかの2:1のアスペクト比も好きなのだが、このサイズだとAnlasを都度消費してしまうし。

ということで、最近気に入っているサイズは896×448と448×896である。2:1のアスペクト比だが、$25プランでAnlas 0となる、生成し放題な最大サイズだ。


(896×448の画像をGigapixel AIで2倍にアップスケール後、JPEGに変換)

でも流石に今どき短辺が448ピクセルって解像度的にちょっと辛くないか? という意見もあるかと思うし、NovelAI Diffusionで作成できるサイズの限界を超えるためか、Enhance時の1.5倍のアップスケールができなくなる。

そもそもEnhance時にアップスケールする意味ってある?

Enhance時のアップスケールって、アップスケールした画像をベースにEnhanceするって機能だよね多分。なので結構良さげに思えるのだけれども、思ったほど画質が良くない、というか微妙にボケる印象がある。

と言うことで、最初はEnhance時のアップスケールを多用していたものの、アップスケール後の品質に満足できないことが多いし、そもそもアップスケール倍率は1.5倍までしかないし、大きめの絵だとサイズ上限でアップスケールできない場合がある。

そもそもEnhanceにかけると当然別の絵になってしまうので、最初にできた絵に満足しているのであれば、わざわざ無駄なAnlas使ってEnhanceする必要はない。


(896×448の画像をGigapixel AIで2倍にアップスケール後、JPEGに変換)

アップスケーラーをいくつか試してみよう

そのため、アップスケールはNovelAIの中で行うのではなく、餅は餅屋ということで、他のアップスケーラーを試してみることとした。比較対象はPhotoshopの「画像解像度」での再サンプリング機能でいいだろう。

まずはオープンソースものだとwaifu2xとUpscaylがあったのでこれらを試してみることに。

github.com

github.com

そして商用ソフトも色々あるようだが、今回はTopaz Gigapixel AIってやつを試してみた。

www.topazlabs.com

まずはこれをサンプルにしてみようか。最近こういう妙なモチーフを描かせるのが好きなのだ。そしてサイズは上で触れた896×448ピクセルだ。

これらをそれぞれ別の方法で400%(面積で1600%)拡大させてみよう。出力結果は3584×1792ピクセルとなるが、この状態ではブログの画面では比較のしようがないので、顔周辺の部分だけ取り出して比較してみよう。

オリジナル(補間なし)

Photoshopバイキュービック法-滑らか(拡大)

Photoshopディティールを保持(拡大)

Photoshopディティールを保持2.0

Waifu2x (SRCNN)

Upscayl (Real-ESRGAN) / General Photo

Upscayl (Real-ESRGAN) / Anime

Topaz Gigapixel AI / Standard (Auto)

Topaz Gigapixel AI / Art & CG

ざっとまとめるとこんな感じかな。

  • Photoshopも昔からあったバイキュービック法だけではなく、ディティールを保持という再サンプリング法をサポートしている。バイキュービック法は良くも悪くも標準的。「ディティールを保持」はいずれもバイキュービックよりは攻めてるけど残りのAI系よりは保守的な感じ。
  • Waifu2xのSRCNNはなかなか悪くない。それほど尖ってないので、おおむね色々な絵柄に合うイメージ。良い。
  • UpscaylのReal-ESRGANは、アニメにはとても良さそうだが、いわゆるアニメ絵というか萌え絵風というのは言われているほどアニメ寄りでもないので、こういう絵柄だとちょっと攻めすぎて細部が潰れてしまう感じがする。General Photoモードの方が攻めすぎてなくて良い。
  • Topaz Gigapixel AIは自動でモード判別する機能があり、この絵を食わせた判定はArt & CGではなくStandardだった。背景の再現度は抜群に良く、キャラクター部分もSRCNN的な感じで仕上がっていてバランスが良い。
  • 細部について一番気になるのは、頬の細かい斜線がはっきり残っているのはTopaz Gigapixel AI / Standard (Auto)だけで、今にも消えそうだけれどもかろうじて残っているようにも見えるのがWaifu2x (SRCNN)とUpscayl (Real-ESRGAN) / General Photoだな。

ということで、他にも色々な絵柄の絵を食わせてみたけれども、Topaz Gigapixel AIはなかなか良いバランスで気に入っているのだが、一点だけ問題がある。

俺の使っているマシンでInte Mac mini (2020)があるのだが、Core i5 6コアにメモリ16GBあるけど、400%拡大をしようとすると確実にクラッシュするのである。200%だと使える場合もあるのだが遅い。M1 Macbook Airでは快適に利用できるのでいいのだが。まあ、miniはIntelの内臓GPUだし、性能が低いんだろうな。仕方ない。

アップスケーラーの成果物

ということで、今回比較した中で主要な3つのAIアップスケーリングの結果を並べておこう。画像サイズは3584×1792ピクセルとでかいが、縮小したら正確な比較ができないので悪しからず。…と思ったらガッツリはてなブログに1600×1200ピクセルに縮小されてしまったので、後で載せ場所を考える。

Waifu2x (SRCNN)

Upscayl (Real-ESRGAN) / General Photo

Topaz Gigapixel AI / Standard (Auto)

品質を求めて攻めすぎると、どうしても背景がのっぺりとなってしまうんだよね。その按配がなかなか難しいなか、割とバランスを取ってる感があるGigapixel AIという感じだ。

余談

ちなみに、Topaz Gigapixel AIを購入したときに、一緒にSharpen AIってやつも買ったのだが、こいつもなかなか優秀だ。朝の海岸でたまたま撮ったこの写真が、暗い中の超望遠だったので、鳥の動きで残念ながらブレてしまっていた。

ところがこのSharpen AIを通すとこうだ! すごい、と思うと同時に写真って何だ? と考えさせられる結果だ。

まあ、その上でPhotoshopで微調整するとこんな感じになるな。これだけ見ると一瞬のシャッターチャンスをとらえてしかも条件を整えて撮った奇跡の1枚、という感じだ。実際はAI後処理だけどな。

月食の時のこんな話と合わせて、そしてお絵描きAIも当然のこととして、色々と悩ましい技術に溢れている今日この頃である、と思う。

togetter.com