【AI】 Neural Algorithm of Artistic StyleのChainer4対応版プログラムを公開しました。
最終更新日: 2018/05/26 12:24pm
こんにちは。経理の小高です。
先週のブログ「【AI】ピカソで川越を変換する。A Neural Algorithm of Artistic Style」で「プログラムを公開します」的なことを書きまして、今週中にできるか冷や冷やしました。
無事にGitHubに公開しましたので報告いたします。
GitHub: Neural Style Transfer by Gatys et al. Chainer 4.0
ずっとPreferred Networksさんのchainer-goghをつかわせてもらってきましたが、Chainerの新しいバージョン(2018/5/26時点でv4.0がstable)に対応しておいた方がいいですし、Gatysらの原論文(Image Style Transfer Using Convolutional Neural Networks:2016)を自分がトレースする一番いい方法かと。
いい勉強になりました。
chainer-goghとの違いは以下の2点です。
- コンテンツ画像から画像から抽出するレイヤーを、原論文にある通りにconv4_2にしてあります。chainer-goghではconv3_3とconv4_3が使われていまして、(原論文に記載がありますが)conv3の出力にはピクセル情報が強く残っています。そのため、chainer-goghではオリジナル画像の輪郭がはっきり残ります。
- 損失関数の係数を直しました。原論文では(chainer-goghにある)「複数レイヤーをつかったコンテンツ画像からのオブジェクトの抽出」が定式化されていません。複数のレイヤーから抽出する場合、損失関数の中で、スタイルレイヤーと同様に(合計が1となるような)重みを与えるべきと思われます。そのほか、原論文では、二乗誤差やMSE、相関係数といった語彙に正確性がないので、「普通はこうかな」的に修正しました。
実行環境や動かし方はGitHubの方に書いてありますので、是非お試しください。注意点は以下です。
- 画像は正方形にしてください。
- 600px四方の画像を生成するのにGPUを使って12分程度かかります。CPU(実はテストしてません。。。)では15倍くらいはかかると予想しています。
- 600px四方の画像の生成にGPUメモリを5G以上食いますので、画像サイズを決める際の参考にしてください。
- 動かなくても怒らないでください。
周辺の論文も読んでいますが、Gatysらのこの論文はとても興味深いですね。もう少し整理したらブログに書きたいと思います。
さて、新しいプログラムで実行した結果を見たいと思います。
今回のスタイルにはシャガールを使います。
(乙女っぽいとか言わないでほしいのですが)自宅から事務所にポスターを持ってきていたりします。
スタイル画像には「楽園」を使いました。やはり、青ベースがいいのと、他の色も入っているので。
図:シャガール、楽園 http://tsuiteru-happy-life.up.seesaa.net/image/B3DAB1E0A1A120A5B7A5E3A5ACA1BCA5EB.jpg
あとはいつも通りに。
図:時の鐘(弊社撮影)
柔らかい感じにできあがりました。
次は埼玉りそな銀行川越支店。
これもいいですね。
川越商工会議所。
男女が写っていてオリジナルみたいな雰囲気です。
←「急にスキャンできなくなった!パスワードを聞かれるようになった…-最近Windowsアップデートをしましたか?」前の記事へ 次の記事へ「【AIアート】埼玉りそな銀行川越支店さんの名画風画像を一挙50枚公開します。 Neural Algorithm of Artistic Style」→