はじめに
いまさらですが、ColaboratoryでTachibanaYoshino さんのAnimeGANを試した時の記事を書きました。2020年の7月に動作をさせていましたが、1年近く放置状態でした。本記事は手っ取り早く試すための備忘録的なもので、理論に関しては触れていません。
Colaboratoryがわからない場合、Webサービスがありますので簡単に試せます。
2021/5/18に久々に試してみましたが、プロジェクトの構成が変わっており当初エラーが生じましたが動作の確認ができました。
(提供されているtest.pyの内容をCellに展開していますので、オリジナルの構成の変更をもろに受けてしまいました。また事前学習済みのデータのリンク先がなくなっており、現状データはプロジェクト内に存在していますが、Hayaoのみとなっています。)
事前準備
プロジェクトの取得
!git clone https://github.com/TachibanaYoshino/AnimeGAN
オリジナルは、tensorflow-gpu 1.15.0 なので、tensorflowのバージョンをダウングレードする必要があります
%tensorflow_version 1.x
import tensorflow as tf
print(tf.__version__)
実行
事前処理
読み込んだ画像データのサイズを32の倍数になるようリサイズしています。そのため結果の画像のサイズが若干異なる場合があります
なお、最小サイズは、256x256です
事後処理
明るさの補正をTrueにすると、処理後の画像の平均輝度をオリジナルの画像の平均輝度になるよう補正します。この処理はOpenCVで処理されています。
メモ
連続して処理できるよう、パラメータを変更
with tf.variable_scope("generator", reuse=tf.AUTO_REUSE): オリジナルでは、False
Issue
スタイルを適用させる画像のサイズが大きいとGPUのリソースの枯渇でエラーとなる可能性がある
2016x1512はOK 処理時間12秒
4032x3024はエラー
なお、割り当てられたマシンにより条件は変わる可能性あり。
感想
学習画像は、風景を対象と推測され、人物、動物はあまり効果がないと思われる
乗り物は、それなりに変換されている印象
補足
オリジナルはv2が公開されています。近日中に動作確認予定