【Stable Diffusion】ControlNet TileとMultiDiffusionを組み合わせた新しいアップスケール手法のやり方を紹介!【高画質化】

こんにちは!悠です!

 

今回は「Stable Diffusion」に新しく登場した、「ControlNet Tile」と「MultiDiffusion」を組み合わせて行うアップスケールのやり方についてまとめていきます。

拡張機能「ControlNet」と「MultiDiffusion」に関しては、それぞれ下の記事で紹介しているので参考にしてください。

【Stable Diffusion】生成されるイラストのポーズを指定できる「ControlNet」の導入方法と使い方について紹介!
「Stable Diffusion」で、生成されるAIイラストのポーズを指定することができる拡張機能「ControlNet」の導入方法と使い方を紹介した記事です。
【Stable Diffusion】「MultiDiffusion」を使ってimg2imgで生成したAIイラストを高画質化する方法!
「Stable Diffusion」で拡張機能「multidiffusion-upscaler-for-automatic1111」を使って、hires.fixのように生成済みAIイラストを高画質化する方法についてまとめた記事です。

 

「ControlNet Tile」と「MultiDiffusion」を組み合わせることで、元画像により忠実にアップスケールすることができます。

 

アイキャッチ画像は「7th_Anime_v3_B」を使用しています。
スポンサーリンク
スポンサーリンク

「ControlNet Tile」モデルの入手方法

「ControlNet Tile」には、ControlNet1.1以降に追加された新しめのモデルデータcontrol_v11f1e_sd15_tile.pthを使用します。

これは基本的にアップスケールの際に使用するモデルで、元の画像からほぼ構図を変えることなく高画質化できるようになります。

 

下記Hugging Faceのページからcontrol_v11f1e_sd15_tile.pthをダウンロードして、「~\webui\extensions\sd-webui-controlnet\models」に保存してください。

lllyasviel/ControlNet-v1-1 at main
We’re on a journey to advance and democratize artificial intelligence through open source and open science.

 

「ControlNet Tile」×「MultiDiffusion」の使い方

拡張機能「multidiffusion-upscaler-for-automatic1111」の概要欄に詳しい説明が載っているので、参考にしながら設定していきましょう。

GitHub - pkuliyi2015/multidiffusion-upscaler-for-automatic1111: Tiled Diffusion and VAE optimize
Tiled Diffusion and VAE optimize. Contribute to pkuliyi2015/multidiffusion-upscaler-for-automatic1111 development by creating an account on GitHub.

 

通常のMultiDiffusionと同じくimg2imgで使用します。アップスケールしたい画像をimg2imgの欄にドラッグアンドドロップしてください。

ControlNetの入力欄に素材画像をドラッグアンドドロップする必要はないようです。

 

公式で紹介されている推奨設定は次の通りです。

【2023/5/19】出典:https://github.com/pkuliyi2015/multidiffusion-upscaler-for-automatic1111

 

※必ず最新の推奨設定を都度確認してください。2023年5月19日の時点ではLatent tile overlapが8になっていました。頻繁に変わるようです。

【2023年5月13日時点】

  • Denoising Strengthを0.75以上に設定
  • Method:Mixture of Diffusers
  • Latent tile overlap:32
  • Enable Noise Inversionにチェック
  • Noise Inversion Stepsを30以上に設定
  • Renoise strength:0
  • ControlNet preprocessor:tile_resample
  • downsampling rate:2

 

また、上記設定で出力結果がぼやけてしまう場合は、Noise Inversion Stepsを大きくする、もしくはDenoising Strengthを小さくするといいそうです。

ただ私が試した感じDenoising Strength0.75Noise Inversion Steps20の組み合わせが一番くっきりしていました。

これはモデルによっても異なるようなので、ある程度試行錯誤する必要がありますね。

Denoising strengthは0.75以上

 

Tiled Diffusionの設定

 

ControlNetの設定

 

ControlNet TileなしでDenoising strengthを0.75にすると、通常は元の構図から大きく離れるか、MultiDiffusionの場合は大量の小人が発生してしまうので、如何にCN制御が凄いのかがわかりますね。

公式によると、Denoising strength: 0.75+Noise Inversion Steps: 50、Denoising strength: 1+Noise Inversion Steps: 200の組み合わせもありなようです。

 

CN Tile×MultiDiffusionの比較

では最後に、「MultiDiffusion」単体によるアップスケールを行った場合と、「ControlNet Tile」×「MultiDiffusion」でアップスケールを行った場合を比較していきましょう。

モデルには「7th_Anime_v3_B」を使用しています。

この比較は、2023年5月13日時点の公式の推奨設定を使っています。

 

【元画像(768×512)】

 

【MultiDiffusionで2倍(1536×1024、Denoise:0.3)】

アップスケーラーには4x_fatal_Anime_500000_Gを使用しています。

 

【CN Tile×MultiDiffusionで2倍(1536×1024、Denoise:0.75、Inversion Steps:10)】

アップスケーラーには4x_fatal_Anime_500000_Gを使用しています。

 

【CN Tile×MultiDiffusionで2倍(1536×1024、Denoise:0.75、Inversion Steps:20)】

アップスケーラーには4x_fatal_Anime_500000_Gを使用しています。

 

【CN Tile×MultiDiffusionで2倍(1536×1024、Denoise:0.75、Inversion Steps:30)】

アップスケーラーには4x_fatal_Anime_500000_Gを使用しています。

 

CN Tile×MultiDiffusionの方が、MultiDiffusion単体よりも素材画像に忠実に高画質化した感じになっています。

線の綺麗さもCN Tile×MultiDiffusionの方が若干上回っている印象です。

 

ただ、難点としてCN Tile×MultiDiffusionを使うと、MultiDiffusion単体の場合に比べて生成時間が2~3倍に激増します。

MultiDiffusion単体でも明らかに品質が劣化しているわけではなく、Denoising strengthの調整次第では素材画像に追加で書き込みを増やせる可能性もあるので、CN Tile×MultiDiffusionの方が上位互換とは言い切れません。

余りに生成時間が長すぎるので、私は基本的にMultiDiffusion単体の方が好みです。



まとめ

以上が、「ControlNet Tile」と「MultiDiffusion」を組み合わせて行うアップスケールのやり方の紹介でした。

素材画像からできる限り構図を変えずに高画質化してみたい方は、ぜひ試してみてくださいね!

 

もし私の設定が間違っていたり、よりおすすめの使い方があったら、ぜひコメント欄で教えてください!

では、ここまで読んでいただきありがとうございました。

コメント