LoginSignup
24
10

More than 3 years have passed since last update.

SinGANで食べ物を動かしてみた

Last updated at Posted at 2019-12-24

はじめに

物工/計数 Advent Calendar 2019の空き枠にお邪魔させていただきました.

最近, 「SinGAN」でいろいろと遊んでいたので, その結果を雑にまとめてみようと思います.
SinGANは, ICCV 2019でベストペーパーに選ばれたことで話題になった論文です.
たった1枚の画像で学習して, 同じ特徴を持った任意のサイズの画像を生成するほか, こんなこともできる優れものです.
Screenshot from 2019-12-24 18-23-29.png

論文: https://arxiv.org/abs/1905.01164
コード: https://github.com/tamarott/SinGAN
動画: https://youtu.be/xk8bWLZk4DU

しかも, 画像1枚・GPU1台で手軽に試せるところも嬉しいポイントです. GPU1台だと, 私の環境では毎回の学習に数時間かかりました.

論文の内容については, 早く修論を書かなければならないので既に他に解説してくださっている方がいるので, ここでは割愛します.
Qiitaだけでも数件見つかりました.

さて, 本記事では, SinGANのREADMEにしたがっていろいろな機能(主にAnimation)を試してみます. 再現したい方はレポジトリをクローンしておいてください.

なお, SinGANで遊んでみた結果は適宜#SinGANで細々とツイートしています. みなさんもぜひ.

Animation

静止画から動画を作るのは, こちらのコマンドで一発です.

$ python animation.py --input_name <input_file_name> 

ラーメン

まずは定番のラーメンから.
こちらの美味しそうなラーメンが…

この通り. 活きが良くて美味しそうですね!
alpha=0.100000_beta=0.850000.gif

二郎系のラーメンはどうなるでしょうか?
こちらの冷やし中華が…

この通り. 活きが良くて美味しそうですね!
alpha=0.100000_beta=0.900000.gif

ピザ

こちらのピザが…

この通り. できたての熱々ですね!
alpha=0.100000_beta=0.950000.gif

海鮮丼

こちらの海鮮丼が…

この通り. 新鮮ですね!
alpha=0.100000_beta=0.950000.gif

ラテアート

こちらのカフェラテが…

この通り. 活きが良くて美味しそうですね!
alpha=0.100000_beta=0.850000.gif

『叫び』

Munchの『叫び』が…

この通り. 自我が崩壊していますね!
alpha=0.100000_beta=0.850000.gif

青の洞窟(渋谷の方)

渋谷のイルミネーションが…

この通り. これが最も正しい使い方だった気がします.
alpha=0.100000_beta=0.900000.gif

Harmonization

コラージュを自然にするには, まずモデルの学習が必要です. 背景となる画像を指定してください.

$ python main_train.py --input_name <input_file_name>

2つめのコマンドで, 切り貼りした画像とマスク画像を指定してharmonizeします. こちらはすぐに完了します.

$ python harmonization.py --input_name <training_image_file_name> --ref_name <naively_pasted_reference_image_file_name> --harmonization_start_scale <scale to inject>

マスク画像の作成にはこちらを参考にしました.
Gimpで特定領域の白黒マスク画像を作成する – Urusu Lambda Web

さて, 今回はMonetの『睡蓮』にサンタクロースを合成したいと思います. こちらの切り貼りした画像が…
lilly_naive.jpg
このようになりました. 小さくて見えづらいですね.
lilly_santa.png

Super Resolution

SinGANは超解像もできるので, 先ほどの画像を大きくしてみましょう.
こちらのコマンドで一発です. 何も指定しないと縦横が4倍になります.

$ python SR.py --input_name <LR_image_file_name>

lilly_santa_HR.png

メリークリスマス!よいお年を!

おまけ

HarmonizationとSRで有名絵画とポケモンをコラボレーションさせてみました.

伊藤若冲とホウオウ.
image.png

Turnerとルギア.
image.png

どちらもイマイチな出来ですね. まだHarmonizationのコツがよくわかっていません.

24
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
10