2016年9月15日 更新

画風を変えるアルゴリズム

画風を変えるアルゴリズムが人気だ。このアルゴリズムの元になったのが、コーネル大学のサイトであるarXiv.orgに投稿された'A Neural Algorithm of Artistic Style'という題の論文である。

186 view お気に入り 0
ファインアートの分野では、特に絵画では、ある絵の内容に特定の画風をあてこみ再現する手法が確立されているそうだ。これらは芸術家の職人芸の為、機械に真似出来ない領域だと考えられてきた。

しかし、人間の知覚を模倣した物体・顔認識の手法の1つ、Deep Neural Networkを用いれば、アート作品を人工的に再現出来るのではないかというのが、この研究論文の目的である。

実際、かなりの精度で再現されている。

海外の個人ブログに掲載されていた画像では、ゴッホの星月夜という作品の画風を、エッフェル塔の写真にあてはめると、どんな絵が再現されるかを紹介している。
 (1041)

論文によれば、このアルゴリズムには、CNN(Convolutional Neural Network)という手法が用いられている。
 (1043)

画風アルゴリズムの重要な要素は、この図に集約されている。
元の画像に対して、画風の元になる画像をベースにしたフィルタ処理をいくつかの段階に分けて沢山行うことで、より再現性の高い画像をつくっている。
 (1045)

ここで、スタイル画像とは、フィルタ要素となる画像。コンテンツ画像とは、画像再構成処理を行った時に出力されるベースとなる画像のことを指す。特徴の総合されたものがコンテンツ画像に再構成される。
高レイヤーになるほど、細かい領域での演算。低レイヤーになるほど、広い領域での演算が行われている。

家の画像を見ると、おおまかな描写は保たれているが、細部の描写が崩れていくのが分かる。
 (1048)

高レイヤー(右)に向かう程、画像の細部が崩れている。
色と周波数の高い画像の相関、それぞれのチャネルで得られた相関同士のスタイル行列を作成する。再構成したものがStyle Reconstructionsである。
 (1050)

Style Recostructions
この論文をベースにつくられたプログラムがChainer-Goghである。

プログラムの流れは、おおまかに以下の通り。
1:引数パース
2:GPUの利用有無を確認する
3:モデルを読み込む
4:コンテンツ画像・スタイル画像をリサイズする
5:画像を生成する

3の画像再構成のモデルには、VGGとNINがある。VGGは綺麗な絵を描くことが出来るが処理が重く、NINの方が手軽に扱える。

また、最適化されたGPUコアを用いた方が処理が早く行えるようだ。
 (1052)

画像の解像度はパラメータによっても出力結果が変わってくる。(上は、GTX690で処理した結果)
 (1053)

最初は完全にランダムな状態から始まる。
<参考URL>
A NEURAL ALGORITHM OF ARTISTIC STYLE(JAMES ROBERT LLOYD BLOG)
'A Neural Algorithm of Artistic Style'(Arxiv.org)
chainer-gogh(github)
画風を変換するアルゴリズム(Preferred Research)
[6]国産の深層学習フレームワーク「Chainer」とは何か(ITPro 日経コンピュータ)
15 件

関連する記事 こんな記事も人気です♪

ImageJ Plugin で大量の画像に対する自動処理 #4

ImageJ Plugin で大量の画像に対する自動処理 #4

非情報科学研究者 (特に生物系研究者) が ImageJ plugin を作るために超えるべき壁やTipsをまとめます。今回はスタック画像に対する ImageJ Plugin の作成方法を紹介します。
湖城 恵 | 251 view
ImageJ plugin で面積計測を自動化してみた #3

ImageJ plugin で面積計測を自動化してみた #3

非情報科学研究者 (特に生物系研究者) が ImageJ plugin を作るために超えるべき壁やTipsをまとめます。今回は解析を自動化する plugin を紹介します。
湖城 恵 | 227 view
ImageJ plugin で Hello world! #2

ImageJ plugin で Hello world! #2

非情報科学研究者 (特に生物系研究者) が ImageJ plugin を作るために超えるべき壁やTipsをまとめます。今回から早速 ImageJ plugin を作成していきます。
湖城 恵 | 133 view
ImageJ Plugin を作るための Java #1

ImageJ Plugin を作るための Java #1

非情報科学研究者 (特に生物系研究者) が ImageJ plugin を作るために超えるべき壁やTipsをまとめます。 今回は最低限のJavaについて。
湖城 恵 | 157 view
形状解析

形状解析

今回は特徴量解析について、ImageJ(またはFiji)を使ってどうやればよいかについてご紹介します。

この記事のキーワード

この記事のキュレーター

エルピクセル編集部 エルピクセル編集部