こんにちは!悠です!
今回は「Stable Diffusion」に新しく登場した、「ControlNet Tile」と「MultiDiffusion」を組み合わせて行うアップスケールのやり方についてまとめていきます。
拡張機能「ControlNet」と「MultiDiffusion」に関しては、それぞれ下の記事で紹介しているので参考にしてください。



「ControlNet Tile」と「MultiDiffusion」を組み合わせることで、元画像により忠実にアップスケールすることができます。
「ControlNet Tile」モデルの入手方法
「ControlNet Tile」には、ControlNet1.1以降に追加された新しめのモデルデータ「control_v11f1e_sd15_tile.pth」を使用します。
これは基本的にアップスケールの際に使用するモデルで、元の画像からほぼ構図を変えることなく高画質化できるようになります。
下記Hugging Faceのページから「control_v11f1e_sd15_tile.pth」をダウンロードして、「~\webui\extensions\sd-webui-controlnet\models」に保存してください。

「ControlNet Tile」×「MultiDiffusion」の使い方
拡張機能「multidiffusion-upscaler-for-automatic1111」の概要欄に詳しい説明が載っているので、参考にしながら設定していきましょう。
通常のMultiDiffusionと同じくimg2imgで使用します。アップスケールしたい画像をimg2imgの欄にドラッグアンドドロップしてください。
公式で紹介されている推奨設定は次の通りです。

【2023/5/19】出典:https://github.com/pkuliyi2015/multidiffusion-upscaler-for-automatic1111
【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 Strength=0.75、Noise Inversion Steps=20の組み合わせが一番くっきりしていました。
これはモデルによっても異なるようなので、ある程度試行錯誤する必要がありますね。

Denoising strengthは0.75以上

Tiled Diffusionの設定

ControlNetの設定
ControlNet TileなしでDenoising strengthを0.75にすると、通常は元の構図から大きく離れるか、MultiDiffusionの場合は大量の小人が発生してしまうので、如何にCN制御が凄いのかがわかりますね。
CN Tile×MultiDiffusionの比較
では最後に、「MultiDiffusion」単体によるアップスケールを行った場合と、「ControlNet Tile」×「MultiDiffusion」でアップスケールを行った場合を比較していきましょう。
モデルには「7th_Anime_v3_B」を使用しています。
【元画像(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」を組み合わせて行うアップスケールのやり方の紹介でした。
素材画像からできる限り構図を変えずに高画質化してみたい方は、ぜひ試してみてくださいね!
もし私の設定が間違っていたり、よりおすすめの使い方があったら、ぜひコメント欄で教えてください!
では、ここまで読んでいただきありがとうございました。
コメント