Stable Diffusion Web UIで利用できるアップスケール機能をいくつか紹介します。
Hires. fix
Stable Diffusion web UIのtxt2imgで使える高解像度機能です。Hires前のディテールが悪くてもある程度奇麗に描きなおしてくれます。生成作業はtxt2imgの画面で完結しますが、実際はtxt2imgで生成した画像をimg2imgでアップスケーリングしています。
Hires. fixのタブを開くと有効になり以下の項目が増えます。
Upscaler
画像の拡大処理に利用するアルゴリズムです。おおまかにLatent系(潜在空間アップスケール)とその他(ピクセル空間アップスケール)で違います。
Latent系は書き込みが増えるような感じですが、ESRGAN系などは比較的元の画像を維持したままアップスケーリングします。
Hires steps
Hires画像生成時のサンプリングの回数になります。デフォルトの0だとSampling stepsと同じ値になります。
Denoising strength
サンプリング時のノイズ除去の強さを制御します。
Denoising strengthが低いほど構図の変化は小さいがぼやけた感じになります。大きいほど鮮明になるが構図の変化が起きやすくなります。サイズやアップスケーラーで変化が違うので調整する必要があります。
Upscale by
ミドルスペックのグラフィックボードなら1.5倍から2倍ほどがおすすめです。高い倍率は、ハイスペックのグラフィックボードでないとVRAM不足でエラーになったり生成に大きく時間がかかったりします。
例
txt2img (512×512)の画像をHires. fixで倍にしてみました。
顔などのディテールもよくなりました。今回はUpscalerにLatentを使ったため背景などもそこそこ変化しています。UpscalerやDenoising strengthで好みに調整をしてください。
Hires. fixで生成した画像をさらに大きくしたい場合は、以下の方法がおすすめです。
ControlNet TileとTiled Diffusion & VAE
Tiled diffusionでは、タイルごとに分割して生成することで大きい画像を作ることができます。しかし、プロンプトが各タイルごとに影響を与えてしまう問題があります。そこでControlNet Tileを使えばDenoising strengthが高くても全体の構造を維持することができます。SD1.5のモデルのみ対応しています。
これらは拡張機能なので利用するためにインストールが必要です。ControlNetのインストールがまだの場合はこちらをご覧ください。
Tiled Diffusion & VAEのインストール
- Extensionsタブを開く
- Availableタブを開く
- Load fromをクリック
- SearchでTiledDiffusion with Tiled VAEを探してInstall
- 再起動
アップスケーリングの設定
公開ページに推奨設定があったのでそちらを参考に設定しました。
PNG Infoにアップスケーリングしたい画像をアップロードしてimg2imgにおくる
img2imgの設定
- ポジティブプロンプトは、品質や解像度に関するプロンプト以外を削除する。こうすることでタイルごとにオブジェクトが描かれるのを防ぐ。
- Denoising strengthは0.75
Tiled Diffusionの設定
- ✅Enable Tiled Diffusion
- Method Mixture of Diffusers
- Latent tile(分割するタイルサイズで8をかけた値が実際のサイズ。SD1.xは64×64、SD2.xは96×96がおすすめ)
- Latent tile overlap 8
- Latent tile batch size(タイルを同時に生成する枚数。多い方が生成速度が速くなるが大きいVRAM容量が必要)
- Upscalerはお好みで
- Scale Factorで拡大倍率を設定
- ✅Enable Noise Inversion
- Inversion steps 30
- Renoise strength 0.7(ディテールが過剰に描かれるのを抑える。調整してください)
Tiled VAEの設定
✅Enable Tiled VAE
ControlNetの設定
- アップスケーリングしたい画像をアップロード
- ✅Enable
- ✅Low VRAM(VRAMが8GB以下の場合)
- Preprocessor tile_resample・Model control_v11f1e_sd15_tile(Control TypeでTileを選択すると自動で設定される)
- Down Sampling Rate 2
例
Hires. fixで生成した画像(1024×1024)を倍にアップスケーリングしてみました。
大きく構図も変化することなく奇麗にアップスケーリングすることができました。設定値はお好みで調整してください。