LoginSignup
3
2

More than 5 years have passed since last update.

第8回PeerCast忘年会ハッカソンでchainer-goghをTensorFlowで書いた話

Last updated at Posted at 2016-12-11
1 / 23

第8回PeerCast忘年会ハッカソンでしたことのまとめ兼その発表資料です。


chainer-goghとは

https://github.com/mattya/chainer-gogh
機械学習によって二つの絵を合成するもの。


もと画像に猫画像
cat.png


画風画像にゴッホの星月夜
style_0.png


合成すると・・・

im0.png


今更、何したの?


TensorFlowで再実装した

(TensorFlowは、去年、グーグルが公開した機械学習とかに強いライブラリ)
chainer-goghのソースをよく読んでそれを置き換えるだけ。
一応、部分的に同程度の性能を出すことができた。


とりあえず、期間中に食べていた賞味期限切れの焼きプリン

CzT6Md7UcAEQDtp.jpg


特徴量にNINを使って変換

CzUBJR-UAAIQG3N.jpg


ドヤ!


chainer-goghでは・・・

CzT-Tk2UcAA47Zn.jpg


完全に一致!


仕組み

多くの機械学習では、損失関数という関数を作って、損失が少なくなるようにパラメータを変更することで、目的のパラメータを手に入れる。今回は、絵をRGBの値で表現したものをパラメータとして学習する。


損失関数は・・・

元画像と画風画像、それぞれからどれだけ特徴量が離れているかを表す関数を作り、その和を損失関数とした。
学習の設定は、最初は自分で適当にしていたけど、最終的に、諦めてchainer-goghの値を使った。


苦労したところ

  • 最初、NINではなくVGGで作り始めたけど、学習時間がかかって困った。(ハッカソン以前の出来事)
  • NINなどはcaffeのモデルを転用するが、それが正しく使えているか、確認が困難だった。
  • 画像がRGBで扱うのか別の形式で扱うのか分かりづらかった。

試行錯誤中の画像

なんか色が違う。
try_and_error.jpg


タイプミスで画風画像を使っていなかったときの画像

このときは猫が現れて喜んでいた。
type_miss.jpg


その他: VGGでも動きました。(25分くらい)

VGG_ver.jpg


今後は・・・

  • 次回きゃすけっとのネタにする
  • 今回できたものの高速化を試みる
  • NIN、VGG以外のモデルも気になる
  • 関連した他アルゴリズムを試したい

こんなことができたらいいな


おしまい

end.jpg


おまけ

第8回PeerCast忘年会ハッカソンの風景(主催のシュールさんの配信画面)
sample_shule.jpg


変換

05000.png

3
2
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
3
2