こんにちは!悠です!
今回は、下の記事で紹介している「Diffusers」を使って生成したAIイラストを、「Real-ESRGAN」というアップスケーラーで高画質化する方法に関して紹介していきます。

ただ残念ながら、「Stable Diffusion WebUI」のHires.fixほどの高画質化は不可能です。
どちらかというとExtrasを使ったアップスケールに近い印象ですね。
とはいえ素で生成した512×512の画像と比較すると、見違えるほど綺麗になるのでぜひ試してみてください!

引き続きColab無料枠で問題なく使用できますよ!
「Real-ESRGAN」を使ってアップスケールする方法
この記事の目的は「Diffusers」で生成した画像を高画質化することなので、無料版Colabを使う方法を紹介していますが、同じ手順を踏めばローカル環境でも使用することができます。
ただローカル環境を用意できるならば、WebUIのhires.fixやMultiDiffusionを使えばいいので、特に導入する意味は薄いかなといった印象です。
新しくノートブックを準備しよう
まず下記のリンクからGoogle Colaboratoryにアクセスしてください。

左上にある「ファイル」→「ノートブックを新規作成」とクリックします。
「編集」→「ノートブックの設定」を選択し、ハードウェアアクセラレーターをGPUにして保存をクリックします。
「+コード」をクリックします。
これから4つのセルを作成し、コードを入力していきます。
1つ目のセル
最初のセルに下記のコードをコピペしてください。
ここでは「Real-ESRGAN」のリポジトリをColab内に複製しています。
!git clone https://github.com/xinntao/Real-ESRGAN.git %cd Real-ESRGAN
2つ目のセル
2つ目のセルに下記のコードをコピペしてください。
ここでは「Real-ESRGAN」を使うのに必要なモジュールをインストールしています。
!pip install basicsr !pip install facexlib !pip install gfpgan !pip install -r requirements.txt !python setup.py develop
3つ目のセル
3つ目のセルでは、アップスケーラーのpthファイルをColab内にダウンロードしていきます。
アニメイラストの高画質化におすすめな「RealESRGAN_x4plus_anime_6B.pth」を使いたい場合は下記のコードを、
!wget https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.2.4/RealESRGAN_x4plus_anime_6B.pth -P weights
最新版(2023年5月16日時点)のReal-ESRGANを使いたい場合は、下記のコードを入力してください。
!wget https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.5.0/realesr-general-x4v3.pth -P weights
wget以降のURLを変更することで、別バージョンのReal-ESRGANを使うこともできます。
下記のReleaseページを参考にして変更してみてください。
4つ目のセル
Colab左側のファイルを開き、inputsフォルダ内にアップスケールしたい画像をドラッグアンドドロップしてください。
注意点として、一度に大量の画像をドラッグアンドドロップするとうまく読み込めない可能性があります。できるだけ1枚ずつ試してみてください。
アップロードできたら、右クリックしてパスをコピーしておきましょう。
4つ目のセルに下記のコードを入力します。
!python inference_realesrgan.py -n RealESRGAN_x4plus_anime_6B.pth -i /content/Real-ESRGAN/inputs/7e122f67-7f05-4171-a4c4-701f3fc56a5e.png
コードは上の要領で書き換えてください。
ここまで出来たら準備は完了なので、1つ目のセルから順に実行していきましょう。
4つ目のセルを実行後、resultsフォルダの中に高画質化した画像が保存されています。
Real-ESRGANで高画質化した画像の例
では最後に、上の方法でアップスケールを行った画像の例を紹介します。
Diffusersで生成した下記の画像を素材に使います。モデルには「AbyssOrangeMix3」、LoRAには「flat2」を使用しています。
【素材画像(768×512)】
「RealESRGAN_x4plus_anime_6B」を使ってアップスケールしたものが次の画像です。
【アップスケール後(3072×2048):4倍】
一目でわかるほどくっきりとした印象の画像になりますよ!

hires.fixとは違い追加で書き込みをしてくれるわけではないので、拡大していくと結構粗があったりします。
まとめ
以上が「Diffusers」で生成したAIイラストを、「Real-ESRGAN」というアップスケーラーを使って高画質化する方法の紹介でした。
もし「Diffusers」で使用できる他の高画質化手法をご存知でしたら、ぜひコメント欄で教えてください!
では、ここまで読んでいただきありがとうございました。
コメント
最近ローカル版のStable Diffusionをやり始めたのですがVramが低いグラボのせいで低画質な画像しか生成できない事にイラついてたのですがこれはすごいですね!
Waifu2xとか色々と試したんですけどそれらと比べるとクオリティが段違いでびっくりです