WindowsでAIプログラミング

TecoGAN:Windows10に実装

はじめに

『TecoGAN』は、低解像の動画を高解像に、いわゆる超解像ができます。

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

『TecoGAN』は、Pythonコードの中に、
Linuxコマンドの実行を指示する部分があるため、
今回は『WSL』を使用します。
Tensorflow-GPU1.14を使うため、
CUDA10.0とpyenvの設定が必要です。

PC環境

Windows10 pro (Windows Insier Program)
マウスコンピューター製G-Tune E5-144
CPU:インテル(R) Core(TM) i7-10875H プロセッサー
メモリ:32GB メモリ
SSD (M.2):512GB NVMe SSD
グラフィックス:NVIDIA GeForce RTX2060 / 6GB

前準備

WSLで、CUDA10.0の設定

参照:https://supplepentan.com/programming/wsl_05/

WSLで、pyenvの設定

参照:https://supplepentan.com/programming/wsl_06/

設定方法

gitクローン

『PowerShell』を起動し、任意のフォルダで、gitクローン

カレントディレクトリの移動

WSL(Ubuntu18.04)の起動

※『Ubuntu18.04』がデフォルト起動になっていない場合は、『wsl –set-default Ubuntu18.04』と打ち設定してください。

Pythonバージョンのローカル設定

仮想環境

仮想環境作成

仮想環境アクティベイト

モジュールの設定

pipのアップグレード

pipでrequirements.txtをインストール

Kerasのアンインストール

Keras2.3.1のインストール

TensorFlow-GPU1.14のインストール

モデルのダウンロード

ダウンロードプログラムは、TacoGANに標準で組み込まれています。

※コマンド変数の実行内容
0:データ、モデルのダウンロード
1:『calender』データの超解像を実行
2:結果の評価(pytorchの設定が必要です)
3:TecoGANのトレーニング
4:FRVSRのトレーニング

実装テスト

下記コマンドを実行

『results』フォルダが作成され、
その中の『calendar』フォルダにpngが作成されればOK(‘ω’)ノ

処理前(180×144)

処理後(720×576)

補足

設定について

今回は、『PowerShell』からWSLを起動して行いましたが、
『Ubuntu18.04 LTS』を起動しそのまま実装することもできます。
『Ubuntu18.04 LTS』で直接実装した方が、
処理速度が速いらしいです。

おいらは、PowerShellで動くように、
コードを一部改変して使ってます。
wslで、『python runGan.py 0』を実行し、
必要モジュールをダウンロードした後、
PowerShellで仮想環境をつくり、
必要ライブラリ(pytorchなども)をインストールし、
コードの『python3』を『python』に書き換えて、
『python runGan.py 1』や『python runGan.py 2』を使っています。
(『python runGan.py 0』の実行は、1回だけで事をなすので、コード改変してません。)
(‘ω’)ノ

画像処理について

『TacoGAN』で処理する元ファイルは、『PNG』である必要があるので、
高解像度にしたい動画をあらかじめ『FFmpeg』で、
動画から『PNG』を取り出します。
そして、『TacoGAN』で処理し、
生成した『PNG』を再度『FFmpeg』で動画にします。
※『FFmpeg』の設定方法:https://supplepentan.com/programming/ffmpeg_01/

FFmpegのコマンド

動画→PNG

※『input.mp4』は、元になる動画ファイルです。

PNGの連番→動画

※『output_image_%03d.png』は、『TacoGAN』で生成された連番の『PNG』です

関連記事

Real-ESRGAN:超解像

TecoGAN:超解像


この記事を書いた人
化学系で博士号を取得したが、 あるとき、これからの時代はプログラミング!、と目覚める。 pythonを用いてデータ解析や機械学習に没頭。 最近は、Pytorchで作ったONNXモデルを、Nuxt3にのせたWebサービスの開発、 ChatGPT や Stable Diffusion に没頭中☆('ω')☆
SNSでフォローする

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA