写真解像度を上げる「SwinIR」を試してみた。
「SwinIR」を利用するためには、「Python」が必要になるので、Pythonをインストールしておく。
【SwinIR 導入手順】
■ 「Python」パッケージライブラリ「opencv-python」のインストール
Windowsコマンドプロンプトで、次のコマンドを入れる。「opencv-python」以外のものも一緒にインストール。(pip は、Pythonと一緒にインストールされるコマンド)
pip install opencv-python tqdm timm ipython
■ Githubから「SwinIR」をダウンロード
https://github.com/JingyunLiang/SwinIR
[Code] > [Download ZIP]で、ダウンロードしたものを解凍して任意のフォルダーに入れる。今回、以下のフォルダーにした。
D:\MyData\SwinIR-main
■ 学習済みモデルのダウンロード
https://github.com/JingyunLiang/SwinIR/releases/
から、以下の2つをダウンロードして試してみた。
- 003_realSR_BSRGAN_DFOWMFC_s64w8_SwinIR-L_x4_GAN.pth
- 003_realSR_BSRGAN_DFO_s64w8_SwinIR-M_x2_GAN.pth
「003_realSR_BSRGAN_DFOWMFC_s64w8_SwinIR-L_x4_GAN.pth」は、解像度を4倍にしてくれる。2倍にならないか試したがうまくいかなかった。
「003_realSR_BSRGAN_DFO_s64w8_SwinIR-M_x2_GAN.pth」は、解像度を2倍にしてくれる。
フォルダー「D:\MyData\SwinIR-main」の下に「003_realSR_BSRGAN_DFOWMFC_s64w8_SwinIR-L_x4_GAN.pth」「003_realSR_BSRGAN_DFO_s64w8_SwinIR-M_x2_GAN.pth」を入れる。
■ 実行
元画像を以下のフォルダーに入れて、下のコマンドを入力すると、
D:\MyData\SwinIR-main\testsets\sample
以下のフォルダーの下に「swinir_real_sr_x4_large」「swinir_real_sr_x2」等のサブフォルダーが出来て、結果の画像が入る。
D:\MyData\SwinIR-main\results
実行コマンドは以下。
≪「003_realSR_BSRGAN_DFOWMFC_s64w8_SwinIR-L_x4_GAN.pth」の場合≫
d: cd D:\MyData\SwinIR-main python main_test_swinir.py --task real_sr --model_path 003_realSR_BSRGAN_DFOWMFC_s64w8_SwinIR-L_x4_GAN.pth --folder_lq testsets/sample --scale 4 --large_model
≪「003_realSR_BSRGAN_DFO_s64w8_SwinIR-M_x2_GAN.pth」の場合≫
d: cd D:\MyData\SwinIR-main python main_test_swinir.py --task real_sr --model_path 003_realSR_BSRGAN_DFO_s64w8_SwinIR-M_x2_GAN.pth --folder_lq testsets/sample --scale 2
処理時間は結構かかる。PCの能力や画像のサイズにもよるが10分程度はかかる。
【実行サンプル】
以下、「003_realSR_BSRGAN_DFOWMFC_s64w8_SwinIR-L_x4_GAN.pth」の実行結果サンプル。
サンプル画像を見ると、全体的にのっぺりとしたツルツルの画質になっている。細かいディティールが失われている。
以前、Webツールで試したのと同じ画像でテストしてみる。
オリジナル画像(800×800)を縦横1/2サイズ(面積で1/4)に画素数を落としたもの(400×400)を、「Upscale.media」で縦横2倍(800×800)に上げたもの。
同じ、400×400(縮小画像)の画像を「SwinIR」で4倍(1600x1600)にしたものを、Windowsアプリ「縮小革命」で800x800にした。
他の画質が悪い野鳥の写真でいくつか試した。
全体的にノッペリした画質になってしまった。ノイズを消すだけでなく、元画像のディティールも壊している。
以下、「SwinIR(4倍化)」は「003_realSR_BSRGAN_DFOWMFC_s64w8_SwinIR-L_x4_GAN.pth」を使用。「SwinIR(2倍化)」は「003_realSR_BSRGAN_DFO_s64w8_SwinIR-M_x2_GAN.pth」を使用。
以下「SwinIR」で解像度を上げたものを、Windowsアプリ「縮小革命」で元の解像度のサイズに戻している。