こんにちは!悠です!
今回は、拡張機能「multidiffusion-upscaler-for-automatic1111」の開発者様が新たに公開していた、新たな超解像度手法「StableSR」に関して紹介していきます。
こちらも拡張機能として「Stable Diffusion WebUI」に導入することができます。
公式モデルであるStable Diffusion v2.1(以下SD2.1)と併用することで、キャラクターの顔の同一性を保ちながら、非常に精細に仕上げてくれるのが特徴のようです。

なお2023年5月23日時点で、この拡張機能で生成した画像の商用利用は禁止されています。
「StableSR」の導入方法
この拡張機能に関しては導入方法が複雑なので、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したモデルを保存する場所ですね。

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

解凍したフォルダの中に入っている「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のページからインストールしておいてください。
これで準備は完了です。
「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で動かせる範囲内でしたので、ぜひ皆さんも一度試してみて感想を教えてください!
では、ここまで読んでいただきありがとうございました。
コメント