【StableSR】SD2.1を併用した新たな超解像手法を使って画像をアップスケールする方法【Stable Diffusion】

ブログの広告除外設定を使って、このページ内では一切広告(Googleアドセンス等)が表示されないように指定してあります。そのため、この記事によって私が利益を得ることはありません。もちろんこの記事内にはアフィリエイトリンクもありません。もし万が一何か表示された場合は速攻で修正しますので、コメント欄で教えてください!!

こんにちは!悠です!

 

今回は、拡張機能「multidiffusion-upscaler-for-automatic1111」の開発者様が新たに公開していた、新たな超解像度手法「StableSR」に関して紹介していきます。

こちらも拡張機能として「Stable Diffusion WebUI」に導入することができます。

 

公式モデルであるStable Diffusion v2.1(以下SD2.1)と併用することで、キャラクターの顔の同一性を保ちながら、非常に精細に仕上げてくれるのが特徴のようです。

なお2023年5月23日時点で、この拡張機能で生成した画像の商用利用は禁止されています。

 

アイキャッチ画像は「Yuzu」で生成しています。

「StableSR」の導入方法

GitHub - pkuliyi2015/sd-webui-stablesr: WebUI extension for StableSR
WebUI extension for StableSR. Contribute to pkuliyi2015/sd-webui-stablesr development by creating an account on GitHub.

 

この拡張機能に関しては導入方法が複雑なので、Google Colaboratory版で使う方法に関しては省略します。

Colab有料版に加入していないため実際に試せないんです…申し訳ありません。

 

ローカル版の導入方法

WebUIを起動し、「Extensions」→「Install from URL」の「URL for extension’s git repository」に下記のURLを入力しInstallをクリックしましょう。

https://github.com/pkuliyi2015/sd-webui-stablesr

 

 

次に下記のHugging Faceのページから、v2-1_512-ema-pruned.safetensorsをダウンロードして「~\webui\models\Stable-diffusion」に保存します。いつもDLしたモデルを保存する場所ですね。

stabilityai/stable-diffusion-2-1-base at main
We’re on a journey to advance and democratize artificial intelligence through open source and open science.

 

下記のHugging Faceのページから「weibu_models.zip」をダウンロードして解凍します。

Iceclear/StableSR at main
We’re on a journey to advance and democratize artificial intelligence through open source and open science.

 

解凍したフォルダの中に入っている「stablesr_webui_sd-v2-1-512-ema-000117.ckpt」を「~\webui\extensions\sd-webui-stablesr\models」に保存します。

もしmodelsフォルダがなかったら新しく作成してください。

 

同じく解凍したフォルダの中に入っている「vqgan_cfw_00011_vae_only.ckpt」を「~\webui\models\VAE」に保存しましょう。

 

また万が一拡張機能「multidiffusion-upscaler-for-automatic1111」を導入していない場合は、下記のGitHubのページからインストールしておいてください。

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.

 

これで準備は完了です。

 

「StableSR」を使ったアップスケール方法

まずWebUIを起動し、使用するモデルをv2-1_512-ema-pruned.safetensors、VAEを「vqgan_cfw_00011_vae_only.ckpt」に設定してください。

ただ、VAEに関しては私がいつも使っている「vae-ft-mse-840000」でも特に問題ない気はしました。

 

img2imgタブを開きます。プロンプトには何も設定しないでください。

「StableSR」によるアップスケールではプロンプトを使用しません。

 

次に公式で推奨されている設定を反映していきます。なお「StableSR」はTiled DiffusionおよびTiled VAEとの併用が推奨されています。

  • Sampling Method: Euler a
  • Sampling steps: 20以上
  • CFG Scale: 2以下

 

Denoising strengthに関しては、公式によるおすすめの設定値がなかったので0.75にしてみましたが、個人的にこれで問題ないような気がしました。

 

Tiled Diffusionの公式おすすめ設定は以下の通りです。

  • Method: Mixture of Diffusers
  • Latent tile width: 64
  • Latent tile height: 64
  • Latent tile overlap: 32
  • Latent tile batch: VRAMが許す限り大きく
  • Upscaler: None

 

 

Tiled VAEに関してはGPUによって変わるので、公式の設定例をご覧ください。

私の場合はいつも使っているVRAM6GB設定でいきました。

 

最後に一番下にあるScriptから「StableSR」を選択し、SR Modelを「stablesr_webui_sd-v2-1-512-ema-000117.ckpt」にします。

Scale Factorは拡大率なので自分の好きなように設定してください。

 

これで準備完了なので、Generateボタンを押しましょう。アップスケールが開始されます。

 

「StableSR」によるアップスケールの例

では、「StableSR」を使ったアップスケールと、MultiDiffusion単体のアップスケールを比較していきましょう。

 

使用する素材画像は次の通りです。モデルには「Yuzu」を使用しています。

 

【素材画像(768×512)】

 

【MultiDiffusionのみ:2倍(1536×1024)】

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

 

【StableSR:2倍(1536×1024)】

 

あくまでこの画像に関しての感想ですが、顔の造形はMultiDiffusion単体の方が好みです。

ただ背景の緻密さ・シャープさに関してはStableSRの方が勝っていると思います。

「StableSR」は全体的にくっきりしている印象です!

 

まとめ

以上が「Stable Diffusion」で、SD2.1と併用して行う新たな超解像度手法「StableSR」の使い方について紹介した記事でした。

VRAMの消費量に関してはMultiDiffusion単体よりもかなり増えますが、それでもVRAM6GBで動かせる範囲内でしたので、ぜひ皆さんも一度試してみて感想を教えてください!

 

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

コメント