人工知能で画像合成する「ostagram」実行環境の作り方


何かと話題な人工知能
中でもニューラルネットワークを使って2枚の画像を合成する「ostagram」というプロジェクトが話題になっている。

https://www.facebook.com/ostagram/

冒頭の画像のように、画像に別の画像のスタイルを適用することによって、ゴッホっぽい、エッシャーっぽい、ムンクっぽいなどの画像を生成することが出来る。

で、作例は #ostagram あたりをキーワードにググってもらうとして、以下Macで試す手順を紹介する。
CUDA対応してるマシンがあると速いけど、なくてもOK。

neural-style

以下が、この画像生成を実現するプロジェクト。
https://github.com/jcjohnson/neural-style

事前準備としてTorch7,loadcaffeが必要で、CUDAはあったほうが良い。

Torch7のイインストール

http://torch.ch/

Getting Started (http://torch.ch/docs/getting-started.html)を参照してTorch7をインストール

git clone https://github.com/torch/distro.git --recursive
cd torch
install-deps
./install.sh
loadcaffeのインストール

https://github.com/szagoruyko/loadcaffe

brew install protobuf
luarocks install loadcaffe
CUDAのインストール

以下からインストーラーをDLして実行。

https://developer.nvidia.com/cuda-downloads

※環境がなかったので今回はスルー

neural-styleの実行

いよいよneural-styleのインストールと実行

  • インストール
git clone git@github.com:jcjohnson/neural-style.git
cd neural-style
sh models/download_models.sh
  • 実行
th neural_style.lua -style_image <image.jpg> -content_image <image.jpg>

CUDA環境がない場合は"-gpu -1" オプションつけてCPUで実行。600*400くらいの画像で2hかからないくらいだった。

デフォルトで合成の程度が違う10枚が出力される。

とりまやってみた、ラッセンっぽいペンギン。

作例はネット上にいくらでもあるけど、自分でやってみるとそのクオリティに改めて驚かされる。

リソース使いまくって囲碁で勝つのもすごいけど、庶民のローカルマシンでもこうして恩恵に預かれるのがすごい。
これまで単純作業はいずれコンピュータに置き換わり、クリエイティブな作業は人間がやる、というのが定説のように言われていたが、クリエイティブの世界のほうが先にコンピュータに置き換わるかもしれないなー。