画風変換アルゴリズム chainer-gogh
少し前に話題になったディープラーニングのフレームワーク「chainer」を使って、画風を変換するアルゴリズム「chainer-gogh」。詳しくは下記サイトを参照下さい。
画風を変換するアルゴリズム
こりゃ面白そうだと思っていたので、ディープラーニングの勉強のとっかかりにとりあえず試してみることにしました。
chainer-goghセットアップ方法
chainerのインストールに関しては、以下参照ください。
以降は、上記のサイトに従いpyenv使ってchainer環境をセットアップできた前提で説明を進めていきます。
以下コマンドで、仮想環境chainer
に切り替え
$ pyenv global anaconda-2.4.0/envs/chainer
PILライブラリをインストール
$ pip install pil
chainer-goghをダウンロード(git clone)
$ git clone https://github.com/mattya/chainer-gogh.git
以下からcaffemodel_url:
のリンク先のcaffemodelのネットワークをダウンロードして、上記のchainer-gogh
フォルダにcaffemodelのファイルを移動します
https://gist.github.com/mavenlin/d802a5849de39225bcc6
あとは、以下コマンドを実行すればサンプル画像で変換を試せます。
$ cd chainer-gogh $ python chainer-gogh.py -m nin -i sample_images/cat.png -s sample_images/style_0.png -o output_dir -g -1
サンプルでのディープラーニング多重露光結果
入力画像
サンプル画像のネコちゃんの写真と抽象画っぽい絵です。
出力結果
ネコちゃんがそれっぽい画風に変換されていることがわかります。
オリジナルのディープラーニング多重露光結果 その1
入力画像
いつものフリー画像(ろんすた (id:lonestartx) さんいつもありがとうございます!)とサンプルの抽象画
出力結果
めっちゃホラーなんですけど
オリジナルのディープラーニング多重露光結果 その2
入力画像
フリー画像と私の描いた漫画「ネコマン」の一コマ
出力結果
なんかピカソっぽくなってしまいました
オリジナルのディープラーニング多重露光結果 その3
入力画像
フリー画像とカラー赤外線写真
出力結果
なんか不気味な感じになってしまいました
まとめ
普通にやっても難しい多重露光ですが、ディープラーニング多重露光はそれ以上の難しさでした。なにしろどんな合成結果になるか、やってみないと全然想像ができない。画風として選ぶ画像に関しては、模様のようなパターンを選んだほうが面白い写真になりそうだなとは感じました。デジカメにディープラーニングで多重露光する機能が搭載される日も近いかもしれませんね。
そして、ディープラーニングこのままだとただ使ってみただけで面白くないので、ここから更にアルゴリズム的にオリジナリティを出していきたいところですが、一体どこから手をつけていいものやら途方にくれております…