晴歩雨描

晴れた日は外に出て歩き、雨の日は部屋で絵を描く

写真解像度を上げる(高画質化)Pythonツール「SwinIR」を試してみた。

写真解像度を上げる「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」の実行結果サンプル。

サンプル画像(240x240)

サンプル画像高解像の4倍化(960x960)

サンプル画像を見ると、全体的にのっぺりとしたツルツルの画質になっている。細かいディティールが失われている。
以前、Webツールで試したのと同じ画像でテストしてみる。

オリジナル画像(800×800)を縦横1/2サイズ(面積で1/4)に画素数を落としたもの(400×400)を、「Upscale.media」で縦横2倍(800×800)に上げたもの。

800×800(オリジナル画像)

400×400(縮小画像)

Upscale.media(800x800)

同じ、400×400(縮小画像)の画像を「SwinIR」で4倍(1600x1600)にしたものを、Windowsアプリ「縮小革命」で800x800にした。

SwinIR+縮小革命で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アプリ「縮小革命」で元の解像度のサイズに戻している。

オリジナル画像

SwinIR(4倍化)+縮小革命

SwinIR(2倍化)+縮小革命

オリジナル画像

SwinIR(4倍化)+縮小革命

SwinIR(2倍化)+縮小革命

オリジナル画像

SwinIR(4倍化)+縮小革命

SwinIR(2倍化)+縮小革命