Google Colab ではじめる Real-ESRGAN
「Real-ESRGAN」を試したのでまとめました。
1. Real-ESRGAN
「Real-ESRGAN」は、画像や動画の解像度をアップコンバートする「超解像」の機能を提供するパッケージです。
2. Coladでの実行
Colabでの実行手順は、次のとおりです。
(1) 新規のColabのノートブックを開き、メニュー「編集 → ノートブックの設定」で「GPU」を選択。
# GPUの確認
!nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.32.03 Driver Version: 460.32.03 CUDA Version: 11.2 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 Tesla P100-PCIE... Off | 00000000:00:04.0 Off | 0 |
| N/A 35C P0 27W / 250W | 0MiB / 16280MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
(2) Googleドライブのマウント。
あらかじめGoogleドライブのマイドライブ直下に「work」フォルダを作成しておきます。
# Googleドライブのマウントと作業フォルダへの移動
from google.colab import drive
drive.mount('/content/drive')
%cd '/content/drive/My Drive/work'
(3) Real-ESRGANリポジトリのクローン。
# Real-ESRGANリポジトリのクローン
!git clone https://github.com/xinntao/Real-ESRGAN.git
%cd Real-ESRGAN
(4) パッケージのインストール。
# パッケージのインストール
!pip install basicsr facexlib gfpgan
!pip install -r requirements.txt
!python setup.py develop
(5) 事前学習モデルの取得。
# 事前学習モデルの取得
!wget https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth -P experiments/pretrained_models
(6) 「inputs」フォルダに変換したい画像を配置。
あらかじめ用意されてるサンプルは消して、変換したい画像を配置します。
(7) 超解像の実行。
# 超解像の実行
!python inference_realesrgan.py -n RealESRGAN_x4plus --face_enhance
パラメータの項目は、次のとおりです。
(8) 出力結果の確認。
「results」フォルダに結果画像が出力されています。
左が超解像前(512 x 512)、右が超解像後(2048 x 2048)になります。
3. AnimeModel
アニメ画像用に最適化された事前学習モデルも提供されています。
# 事前学習モデルの取得
!wget https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.2.4/RealESRGAN_x4plus_anime_6B.pth -P experiments/pretrained_models
# 超解像の実行
!python inference_realesrgan.py -n RealESRGAN_x4plus_anime_6B
4. 関連
この記事が気に入ったらサポートをしてみませんか?