Help us understand the problem. What is going on with this article?

TecoGANをやってみた

TecoGANとは

TecoGAN(TEmporally COherent GAN)は、動画向けの超解像アルゴリズム。
名前の通り教師なし学習の一種のGANを動画に適用したもの。

元ネタの論文は以下。

https://arxiv.org/pdf/1811.09393.pdf

TecoGANを簡単に試せるOSSがGitHub上で公開されているので実際にやってみた。

インストール

CUDA

公式サイトからCUDAをダウンロードしてインストール。

TecoGAN

リポジトリをクローン。

git clone https://github.com/thunil/TecoGAN

仮想環境を作成。

cd TecoGAN
python -m venv venv

仮想環境をアクティベートして依存ライブラリをインストール。

source venv/bin/activate
pip install --ignore-installed --upgrade tensorflow-gpu
pip install -r requirements.txt

動作確認

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

TecoGAN modelをダウンロードする。
runGan.pyの引数に0を渡すと自動的にダウンロードが始まる。

python3 runGan.py 0

ダウンロードには10分以上かかる。しばしご歓談ください。

画像処理

ダウンロードが完了したら、サンプルの画像(カレンダー)をTecoGANで処理してみる。
runGan.pyの引数に1を渡すと自動的に処理が始まる。

python3 runGan.py 1 

実行結果を以下に示す。左が処理前の画像、右が処理後の画像。

TecoGAN処理前 TecoGAN処理後
画像 処理前 処理後
サイズ 180x144px 720x576px
(元の4倍)

出典:https://github.com/thunil/TecoGAN

画質評価

画質を評価する。
runGan.pyの引数に2を渡すと自動的に処理が始まる。

python3 runGan.py 2

実行結果は以下の通り。

,PSNR_00,SSIM_00,LPIPS_00,tOF_00,tLP100_00
0,22.838514,0.77990526,0.15833299,0.1028823,0.6481819
1,22.918787,0.78221714,0.16730282,0.10047257,0.07571839
(略)
36,23.433603,0.7989261,0.14277494,,
,Avg_PSNR,Avg_SSIM,Avg_LPIPS,Avg_tOF,Avg_tLP100
0,23.221691,0.7908746,0.15114386,0.1334446,0.16479945
,FolderAvg_PSNR,FolderAvg_SSIM,FolderAvg_LPIPS,FolderAvg_tOF,FolderAvg_tLP100
0,23.221691234691722,0.790874584301098,0.15114386017258102,0.13344460063510472,0.16479945182800293
,FrameAvg_PSNR,FrameAvg_SSIM,FrameAvg_LPIPS,FrameAvg_tOF,FrameAvg_tLP100
0,23.221691234691722,0.790874584301098,0.15114386017258102,0.13344460063510472,0.16479945182800293

PSNR、SSIMなどは画像評価指標。定義は、 https://dftalk.jp/?p=18111 などを参考すること。

2行目から5行目までの0~36番の数値は画像毎の画像評価指標である。
特に傾向はなく、ほぼ一定。

  • Avgはすべての画像の平均値。
  • FolderAvgは画像の格納されているフォルダごとの平均値。複数のフォルダを指定できる。
  • FrameAvgはおそらく画像のフレーム単位の平均値か。

考察

  • カレンダー以外の別の画像でも試してみたが、元の画像が小さく画質が悪いほど効果的であった。例えば元の画像が640x360px程度でそこそこ画質が良い場合は、PSNR~12、SSIM~0.5程度となりカレンダーの場合より劣化した。
  • TecoGAN処理後の画像を拡大すると、エッジは濃く、ベタ塗りは若干劣化しつつ解像度は上がっていることがわかる。

TecoGAN処理後
処理後

参考サイト

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away