見出し画像

Anima Preview 3の高解像度耐性を確認

Anima Preview 3、よいですね~。
Preview 1のときから自然言語プロンプトへの追従性が高く、Illustrious等のSDXLでは難しかった表現や構図が生成できるということで私もたまに使っています(メインはまだIllustriousです)。

しかし難点はSDXLと比べても高解像度耐性が低いことです。
Preview 3では1MP (1024x1024) 解像度の学習を増やしたとのことですが、Preview 1と比べてどの程度強くなったのか確認してみました。

なお記事中の画像の生成にはすべてForge Neoを使っています。

今回のテーマと無関係ですが、Animaは複数キャラもプロンプトどおりに書き分けてくれます

関連記事

  1. Anima Preview 3の高解像度耐性を確認 ※この記事

  2. Forge NeoでAnimaを使って2048x2048以上の画像を生成

  3. Anima Highres LoRAによる高解像度生成を試す


Anima Preview 3の強化点

本題に入る前にPreview 3の強化点を確認します。

・Highres training is in progress. Trained for much longer at 1024 resolution than preview2.
・Expanded dataset to help learn less common artists (roughly 50-100 post count).

※ 翻訳:
・高解像度トレーニングが進行中です。preview2よりもはるかに長く1024解像度でトレーニングしました。
・あまり知られていないアーティスト(投稿数が約50~100件程度)について学習するためのデータセットを拡充しました。

https://huggingface.co/circlestone-labs/Anima より

2点目は今回のテーマと関係ありませんが、私が一番好きな絵師さんのアーティストタグが効くようになってて驚きました。Danbooruにタグは存在するものの投稿数が100件台でしかもそのほとんどが白黒の同人誌のため、Illustriousも含めてAnima Preview 2まではまったく効かずLoraを使うしかなかったので。

1点目が今回のテーマです。学習データのメインは引き続き512解像度だと思われますが、1MP (1024x1024) の学習を増やしたそうです。
しかし推奨解像度は、Preview 1から引き続き1024x1024や896x1152で変更ありません。
高解像度耐性についてこれまでと違いはあるのでしょうか?

直接生成(Hires.fixなし)

Anima公式サンプル画像のワークフローと同等になるようForge Neoで設定してPreview 1とPreview 3でそれぞれ解像度を1024x1024, 1536x1536, 2048x2048と変えて生成してみます。
推奨解像度は1024x1024なので、そもそも無理のある検証です。

Positive prompt: masterpiece, best quality, score_7, safe. An anime girl wearing a black tank-top and denim shorts is standing outdoors. She's holding a rectangular sign out in front of her that reads "ANIMA". She's looking at the viewer with a smile. The background features some trees and blue sky with clouds.
Negative prompt: worst quality, low quality, score_1, score_2, score_3, blurry, jpeg artifacts, sepia
Steps: 30
Sampler: ER SDE
Schedule type: Simple
CFG scale: 4
Seed: 856853657535148
RNG: CPU

1024x1024

  • Preview 1で1024x1024生成

Preview 1による1024x1024生成
  • Preview 3で1024x1024生成

Preview 3による1024x1024生成

Seedを含めて同じ設定ですが画風は大きく変わります。そもそもベースモデルのためアーティストタグやLoraを使わない限りSeedによっても画風は大きく変化します。

品質的には指が少し溶けていますがどちらも大きな問題はないと思います。
Preview 3では左手指がくっきり描かれるようになっていますが、右手指は少し溶けているのでたまたまだと思います。

1536x1536

生成ごとに品質にバラつきがあるためそれぞれ4枚ずつ生成した結果です。

Batch Count: 4
Seed: 856853657535149

  • Preview 1で1536x1536生成

Preview 1による1536x1536生成
  • Preview 3で1536x1536生成

Preview 3による1536x1536生成

Preview 1は色調、体型、構図が不穏な感じの画像になる確率が高いですが、Preview 3では随分と改善されました。しかし色がくすんでいたりメイン部分の焦点がボケていたりする画像が生成されることもあり、無理がある感じはします。

2048x2048

Preview 1とPreview 3のいずれも破綻した怖い画像が生成されてしまいます(閲覧注意な感じなので画像は貼りません)。

Hires.fix

同じ画像で比較したほうが分かりやすいため、以下のようにHires CheckpointのみPreview 1とPreview 3で変更して比較します。

  1. 初期生成:Anima Preview 1を利用 (1024x1024でtxt2img)

  2. Hires Upscaler:RealESRGAN_x4plus_anime_6Bを利用

  3. Hires Checkpoint

    • Anima Preview 1を利用 (img2img)

    • Anima Preview 3を利用 (img2img)

元絵からの変更が少なくなるようDenoising strengthは0.2とします。
Hires stepsは10です。

Forge NeoのHires.fix設定変更

Forge Neoの初期設定では、初期生成で使用したものと同じ画像生成モデル&サンプラー&プロンプトでHires.fixしますが、Settings > UI Alternativesで該当項目をチェックすると、異なるものを使用することが出来るようになります。

SettingsのHires.fix設定項目
設定項目を増やしたHires.fixメニュー

これでPreview 1で生成 → Preview 3でHires.fixというようなことができるようになります。

Hires.fix 1.5倍(Denoising strength 0.2)

Preview 1で初期生成 (1024x1024) し、Hires.fixではPreview 1とPreview 3それぞれで1.5倍 (1536x1536) にしたものを比較します。

  • Preview 1で1024x1024生成 → Preview 1でHires.fix 1.5倍

Preview 1によるHires.fix 1.5倍 (1536x1536)、Denoise 0.2
  • Preview 1で1024x1024生成 → Preview 3でHires.fix 1.5倍

Preview 3によるHires.fix 1.5倍 (1536x1536)、Denoise 0.2

サムネ画像だと違いが分からないと思いますが、クリックして等倍表示するとPreview 3のほうが全体的によくなっていることが分かると思います。

以下は分かりやすい部分として、右太もも周辺をクロップして2倍にリサイズしたものです。
Preview 1では輪郭線の太さが一定でないのに対し、Preview 3では一定になっています。

Preview 1によるHires.fix 1.5倍(切り抜き)
Preview 3によるHires.fix 1.5倍(切り抜き)

(参考)Hires.fix 1.5倍(Denoising strength 0.4)

指が少し溶けている部分はPreview 3によるHires.fixでもそのままです。これは1024x1024の元絵から溶けていて、Denoising strengthが0.2と低いためです。
参考までにDenoising strengthを0.4まで上げるとPreview 3は指もキレイに描き直されますが、画像の雰囲気が変わりアーティファクトが描かれる確率も高くなります。

Preview 1によるHires.fix 1.5倍 (1536x1536)、Denoise 0.4
Preview 3によるHires.fix 1.5倍 (1536x1536)、Denoise 0.4

Hires.fix 2倍(Denoising strength 0.2)

次はHires.fix 2倍 (2048x2048) での比較です。

  • Preview 1で1024x1024生成 → Preview 1でHires.fix 2倍

Preview 1によるHires.fix 2倍 (2048x2048)
  • Preview 1で1024x1024生成 → Preview 3でHires.fix 2倍

Preview 3によるHires.fix 2倍 (2048x2048)

Preview 1よりマシになったものの、Preview 3でも画面全体がノイズまみれになってしまい実用できるレベルではありません。

まとめ

結果をまとめると個人的には下表の評価となります。

$$
\begin{array}
{c|c|c}
& \bf{Preview 1} & \bf{Preview 3} \\
\hline
\text{直接1536x1536} & \text{×} & \text{△~○} \\
\hline
\text{直接2048x2048} & \text{×} & \text{×} \\
\hline
\text{Hires1536x1536} & \text{×~△} & \text{○} \\
\hline
\text{Hires2048x2048} & \text{×} & \text{×} \\
\end{array}
$$

Preview 3ではHires.fixも使えば1536x1536相当の解像度での生成が現実的になったと思います。

しかし個人的には2048x2048相当の解像度が欲しいところです。
現在はUWQHD (3440x1440) のモニターを使っているので縦1536あればよいのですが、横長画像の場合や将来4Kモニターを使うことを考え、Illustriousで生成する際はHires.fixで2倍にアップスケールしています。
(1024x1024→2048x2048、1216x823→2432x1646など)

このような感じで、技術的な内容を分かりやすく基本無料で解説しています。「スキ」「フォロー」「チップ」で応援よろしくお願いします。質問がありましたら遠慮なく「質問箱」へどうぞ。

関連記事(再掲)

  1. Anima Preview 3の高解像度耐性を確認 ※この記事

  2. Forge NeoでAnimaを使って2048x2048以上の画像を生成

  3. Anima Highres LoRAによる高解像度生成を試す

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