五島の高浜海水浴場の写真を利用してSinGANを試してみた。

コロナウィルスの影響でなかなか外出できない。 このため、私の故郷である五島の写真をみて、故郷に帰りたいなぁって思ってしまう。

時間はたくさんあるので、私の島である五島の写真を用いて、最新ディープラーニングの生成系の アルゴリズムであるSinGANを試してみた。

SinGANの結果

まずどんなことができるか?をみていきましょう。

入力画像 高浜海水浴場

f:id:unachan_kz:20200621175607p:plain

アニメーション化

静止画を学習させることで、実際に波が動いている画像になってます。

f:id:unachan_kz:20200621175929g:plain

python animation.py --input_name  takahama.png

画像生成

f:id:unachan_kz:20200621180448p:plain f:id:unachan_kz:20200621180528p:plain

python main_train.py --input_name takahama.png
python random_samples.py --input_name takahama.png --mode random_samples --gen_start_scale 1

paint化

入力画像

f:id:unachan_kz:20200621184535p:plain

paint画像

f:id:unachan_kz:20200621184447p:plain

python paint2image.py --input_name takahama.png --ref_name takahama_paint.png --paint_start_scale morning 7

SR

4倍になっているようです。

f:id:unachan_kz:20200621200307p:plain

スケールを5倍にしてみた。ギザギザはしてますが、すごい! f:id:unachan_kz:20200621211400p:plain

6倍、別の処理が必要ですね。 f:id:unachan_kz:20200621222614p:plain

SinGAN

今回、私が SinGANに注目した理由としては、

  1. 一枚の画像のみで、DNNが生成した画像を作ることができる。

  2. ペイントなどを利用すれば、画像をセグメンテーションみたいに利用できるため。

  3. 楽しいため。

github.com

SinGANとは

下記の解説がわかりやすいです。 github.com

patchGANを追加している説明は下記がわかりやすい。 hotcocoastudy.hatenablog.jp

学習環境

google colaboratoryを用いました。

環境設定について

python -m pip install -r requirements.txt

pytorchのバージョンでエラーが発生したため、pytorchのバージョンを下記にしました。
pip install torch==1.4.0 torchvision==0.5.0

五島について

コロナが落ち着いたら、五島を訪れてください。 良いところですよー

www.city.goto.nagasaki.jp

力をつけて、いつか、五島に帰った時にAI技術について興味がある方に語れたら良いなぁ。 努力しなきゃ。