Stable Diffusion web UIでお絵かきしよう!(GFPGANを使った高画質化)

顔が良ければすべてよし、GFPGANを使って顔を高画質化します。

GFPGANとは

GFPGANは、顔面修復のアルゴリズムで、ざっくり言うと顔を綺麗にできます。ただし単純に綺麗にしているというよりは、「勝手にそれっぽい絵を作ってる」という説明が近いようですので、正確さが求められるシーン(極端な例では論文など)では使わないほうが良いと思われます。

Real-ESRGANとは

GFPGANとセットでReal-ESRGANが必要になります。Real-ESRGANは顔に限らず画像を高画質化したり画像サイズを引き伸ばすことが可能です。こちらも「勝手にそれっぽい絵を作ってる」という説明が近いようですので注意してください。

GFPGANとReal-ESRGANの単体インストール

習得のためにまずはGFPGAN単体で動作させます。

Pythonのインストール

PyTorchのインストール

Pythonのインストールは先日の下記記事と同じです。また、Stable Diffusion web UIのインストール過程でPyTorchがインストールされますので省略します。

GFPGANのリポジトリのクローン

コマンドプロンプトを起動し、任意のフォルダに移動したら、下記コマンドでリポジトリのクローンを行います。

git clone https://github.com/TencentARC/GFPGAN.git

GFPGANのインストール

先ほどクローンしたリポジトリに移動します。

cd GFPGAN

移動したら、次のコマンドを順番に実行します。うまくいかない場合は管理者モードでコマンドプロンプトを起動してください。

python -m pip install -r requirements.txt
python -m pip install realesrgan
python setup.py develop

学習済みモデルのダウンロード

下記リポジトリ

https://github.com/TencentARC/GFPGAN/

「🚩 Updates」の「✅ Add V1.4 model, which produces slightly more details and better identity than V1.3.」の「V1.4 model」をクリックして「GFPGANv1.4.pth」をダウンロードします。

学習済みモデルの配置

ダウンロードしたファイルをGFPGANのフォルダ内の「experiments\pretrained_models」に配置します。

GFPGANの実行

コマンドプロンプトで「GFPGAN」に移動したのち、下記コマンドで「inference_gfpgan.py」を実行します。

python inference_gfpgan.py -i inputs/whole_imgs -o results -v 1.4 -s 2
  • 「-i inputs/whole_imgs」オプションは入力ファイルのディレクトリ指定です。このフォルダにはサンプル画像が3枚入っています。
  • 「-o results」は出力ファイルのディレクトリ指定です。
  • 「-v 1.4」はバージョン指定です。
  • 「-s 2」は解像度の倍率です。

指定した通り、「results」フォルダに結果ファイルが出力されます。

Stable Diffusion Web UIでGFPGANを使う

使い方は簡単、「stable-diffusion-webui」直下にダウンロードした学習済みモデル「GFPGANv1.4.pth」を置くだけ。

webui.batを起動した際に、ターミナルに

installing gfpgan

の行があれば正常に読み込まれています。

キーワードを打ち込んでレッツお絵かき!