より良いエンジニアを目指して

1日1つ。良くなる!上手くなる!

「画風のニューラルアルゴリズム」論文を実装されたコードを動かして自分の思い描く絵を目指す

[1508.06576] A Neural Algorithm of Artistic Style

翻訳されている方がいらっしゃいます。

qiita.com

猫とゴッホの絵を組み合わせることで、ゴッホ風の猫の絵が完成するというものです。

少し違う話になりますが、学生時代、女学生が、両親の写真から、子供の写真が推測できるというような話で盛り上がっていたのを思い出しました。

実装

こちらについては実装が行われており、GitHubで公開されています。

この手で動かしてみたくなるはずです。

解説ブログ:画風を変換するアルゴリズム | Preferred Research

コード:GitHub - mattya/chainer-gogh

Chainerのバージョンにより、動かない点は下記を参考にしてみました。

【 メモ 】画風を変換するアルゴリズム の実行方法 : エンジニア速報

自分用にフォークしたブランチ

実践

一般でも、これを使って、絵が描けなくても自分が考える絵が生成できるのではないかと思えてくるわけです。

qiita.com

上記のページのような考えは、いいですね。

私が過ごした青春はというと、汗とか甘酸っぱいとかではなく、2Dから3Dに変遷しつつ熱狂していくテレビゲームにあったので、「ドット絵」に興味があります。

これを使えば写真をドット絵化できるのではという信長ばりの野望が浮かんできました。

f:id:rimever:20190202183838j:plain

写真:シュノンソー城 | ぱくたそ-フリー素材より

f:id:rimever:20190202183824p:plain

画風(ドット絵):すきまの素材より

それっぽい写真とドット絵で試すことにします。

動かして気づいたこと

かかる時間

実行時間は結構かかります。GPUがあると、やはり良さそうです。

イメージリサイズに失敗する

同梱されているサンプルイメージだと当たり前のように動くのですが、画像データによっては正しく動作しないケースがありました。

image resized to: (1, 3, 326, 435) Traceback (most recent call last): File "chainer-gogh.py", line 202, in img_style,, = image_resize(args.style_img, W) File "chainer-gogh.py", line 41, in image_resize gogh = np.asarray(gogh.resize((new_w,new_h)))[:,:,:3].transpose(2, 0, 1)[::-1].astype(np.float32) IndexError: too many indices for array

となってしまいます。

  • 画像をpngに変更
  • 大きすぎる場合は50%に縮小
  • ドット絵は一度24ビットbmpに変換後pngに戻す

などしてみたら、なんか動きました。

ファイル構成

GitHubのREADME.mdにあるように追加でいくつかファイルが必要です。

f:id:rimever:20190202231947p:plain

  • nin_imagenet.caffemodel
  • solver.prototxt
  • train_val.prototxt

結果は……

f:id:rimever:20190202210254p:plain

別の方向で芸術的になってしまいました。意味不明。

素材元の方に申し訳ない結果に。

論文の中で登場する下記の画像のような解釈かなぁと。

f:id:rimever:20190202210611p:plain

AIが解釈したドット絵は、これかー。

逆に画風を写真にして、ドット絵側を写真風にすればいいのでは?と

f:id:rimever:20190202231757p:plain

違いますね。

AIが美術や音楽を作成したらどうなるのか?

少し話が違うかもしれませんが、Radioheadというバンドは3枚目のアルバム「OK Computer」にて、その中の楽曲でロボットの声を使っているというライナーノーツを読んだ時の自分を思い出します。

世界的にヒットするバンドがそんなことを始めたら、もう将来は本当にロボットが歌っていくのではないかと悲観的な気分になったものです。

後輩が、AIが音楽を作成してしまうことについて

AIが本当にやりたいことをしてしまっている

この発言は、よく的を射ていて、当時の私の悲観的な気分をよく言い表しているなと思います。

OK Computerは20年も前にリリースされたアルバムです。

実際に初音ミクのようなボーカロイドが受け入れられたとはいえ、今も人は歌っています。

キングボンバーがエアーバンドでヒットしても、楽器を演奏する人はいます。

それはパソコンなどのデジタルを使っていく絵や音楽を作成する延長です。

こうしたAIという新しい技術を使って芸術を生み出そうという人は出るでしょうし、受け入れられていくでしょう。

結局、人が作品を作り、人が世に作品を出していくので、いい作品だけが人に受け入れられていくのですから、悲観的になることはないのではないかなと私は思っています。