こんにちは!悠です!
最近何気なしにRedditを眺めていると、「Stable Diffusion WebUI」にデフォルトで備わっているアップスケーラーを比較しているスレッドがありました。
The DEFINITIVE Comparison to Upscalers
by u/Locke_Moghan in StableDiffusion
これ自体も非常にためになる内容だったんですが、よくよくスレッドの会話を見てみると、デフォルト以外のアップスケーラーをWebUIに導入することができるようなんですね!
そこで今回の記事では、「4x-UltraSharp」と「4x-AnimeSharp」という非常に高品質なアップスケーラーをWebUIに導入する方法についてまとめていきます。
「4x-UltraSharp」の入手方法
アップスケーラー「4x-UltraSharp」と「4x-AnimeSharp」のファイルは、下記のWikiからダウンロード可能です。
Wikiを開いたら「4x-UltraSharp」と書かれた部分をクリックしましょう。
ファイル共有サービス「mega」を通じて「4x-UltraSharp.pth」をダウンロードできます。
「4x-AnimeSharp」の方も同じ手順でPCに保存してください。

ちなみにこの2つはほんの一部で、該当のWikiには50近くのアップスケーラーがあります。
「4x-UltraSharp」の使い方
ダウンロードした「4x-UltraSharp」と「4x-AnimeSharp」のファイルの使い方を紹介していきます。
ローカル版の場合
ローカル版の「Stable Diffusion WebUI」をお使いの場合は、「4x-UltraSharp」と「4x-AnimeSharp」を
に保存してください(黒字の部分のパスは環境によって異なります)。
これで、txt2imgやimg2imgのhires.fixやMultiDiffusionのアップスケーラーで、「4x-UltraSharp」と「4x-AnimeSharp」が選択可能になります。
なお、ArchitectureがESRGAN以外のアップスケーラーを導入したい場合は、対応する名前のフォルダに格納しましょう。
Google Colaboratory版の場合
事前に下記の記事で「maintained by Akaibu」の環境を構築している前提で紹介していきます。


まずGoogle Drive上で適当な名前を付けたフォルダの中に、「4x-UltraSharp」と「4x-AnimeSharp」を格納します。
私の場合は「Upscaler」フォルダに格納しています。
最新版のWebUIのリポジトリを複製するセルの中(!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui)に、下記のようにmkdirコマンドを使って「ESRGAN」フォルダを作成します。
#最新版のWebUIを複製 !git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui %cd stable-diffusion-webui #LoRAモデルを格納するフォルダを作成 !mkdir -p /content/stable-diffusion-webui/models/Lora #アップスケーラーを格納するフォルダを作成 !mkdir -p /content/stable-diffusion-webui/models/ESRGAN
Google Drive内のモデルデータを読み込むセルの中に、アップスケーラーを読み込むコードを追記します。
#使用するアップスケーラー !cp /content/drive/MyDrive/StableDiffusion/Upscaler/4x-AnimeSharp.pth /content/stable-diffusion-webui/models/ESRGAN !cp /content/drive/MyDrive/StableDiffusion/Upscaler/4x-UltraSharp.pth /content/stable-diffusion-webui/models/ESRGAN
これでColab版でも自分で用意したアップスケーラーを使えるようになります。
「4x-UltraSharp」と「ESRGAN_4x」の比較
今回追加したアップスケーラー「4x-UltraSharp」と、リアル系の画像でおすすめされる「ESRGAN_4x」を比較してみました。
なお、ブログにアップすると自動的に解像度が落ちてしまうため、あくまで参考程度で見てみてください。実際はもっと綺麗です。
【高画質化前(768×512)】
【ESRGAN_4xで2倍にアップスケール】
【4x-UltraSharpで2倍にアップスケール】
どちらも非常にハイクオリティなアップスケーラーですが、「4x-UltraSharp」の方は「ESRGAN_4x」と比べて背景の細部までシャープになっています。
完全に好みの問題ですが、私は「4x-UltraSharp」の方が全体的に解像度が高くなっているように感じました。
ただこれは5点と10点の差ではなく、95点と100点の差のイメージです。どちらを選んでも十分に綺麗になります。
【追記1】「4x_fatal_Anime_500000_G」もおすすめ
下記のHugging Faceのページから入手できる「4x_fatal_Anime_500000_G」もかなりおすすめのアップスケーラーです。

名前の通りアニメイラスト系の高画質化で使います。「4x-UltraSharp」と同様、「\webui\models\ESRGAN」に保存しましょう。
【追記2】「4x_foolhardy_Remacri」もおすすめ
下記のWikiからダウンロードできる「4x_foolhardy_Remacri」もおすすめです。実写でもアニメ系でも使用できます。
個人的に4x_UltraSharpよりもさらに高画質になるアップスケーラーのような気がしています。
「4x-UltraSharp」と同様、「\webui\models\ESRGAN」に保存して使いましょう。
まとめ
以上が「Stable Diffusion WebUI」に、デフォルトで備わっていないアップスケーラー「4x-UltraSharp」と「4x-AnimeSharp」を新たに導入する方法についての紹介でした。
リアル系とアニメ系の高画質化の幅が広がるので、ぜひ皆様も試してみてくださいね!
では、ここまで読んでいただきありがとうございました。
コメント
私もしばらく4x-UltraSharpを使っていたんですが、ESRGAN_4xと比べて布地の質感が良くないなぁと思うことが度々あったので、結局ESRGANに戻しました。使っているモデルも関係するんでしょうかね。
コメントありがとうございます!
なるほど布地の質感ですか~。フリフリのドレスとか布を多用するような画像を生成してみて私も確かめてみます!
私は4x-UltraSharpの背景まで鮮明になるところが嬉しかったです。
ただ仰るように、モデルは大いに関係しそうですね!