tendsorflowで画像の合成みたいなことをやりたい。
fast-style-transfer
fast-style-tranferという、良い感じに画像を合成してくれるようなものがあるので、これを使っていこう。
これなんかすごいですよね。動画でこんなことができてしまうのか。
まあ、今回は画像を合成してみようと思います。
画像合成の方法
好きな画像を用意して、その画像と用意されたモデルを組み合わせることで合成された画像ができる。用意されたモデルは、githubページのリンクをたどるとこれ。
Fast Style Transfer Models - Google ドライブ 6つモデルがあるから、好きなのを使っていく。 このモデルと、自分が持っている好みの画像を組み合わせて新たな画像を作りたい。
画像を合成する
tensorflowやpythonが入った環境を用意し、そこにfast-style-transferのファイルを入れて実行する。
. ├── README.md ├── docs.md ├── evaluate.py ├── examples ├── setup.sh ├── src ├── style.py ├── transform_video.py
fast-style-transferはこんな感じになっていると思うけど、このevaluate.pyを実行して画像を作っていく。以下のコマンドを叩くとモデルと画像を融合した画像ができるようなのでやってみよう。
python evaluate.py --checkpoint path/to/style/model.ckpt \ --in-path dir/of/test/imgs/ \ --out-path dir/for/results/
checkpointの後がモデル、in-pathの後が自分が持っている画像パス、out-pathが出力される画像のパス。
python evaluate.py --checkpoint ./wave.ckpt --in-path ./bulldog.jpg --out-path ./output.jpg
waveというモデルとブルドッグの画像を使ってみるとこんな感じになる。
他のスタイル
他のスタイルを試してみるとこんな感じになった。
la_muse.ckpt
la_muse.ckptというものを使うとこれ。
udnie.ckpt
udnie.ckptを使うとこう。
rain_princess.ckpt
wreck.ckpt
まとめ
この力はすごいな。画像の加工が好きでPhotoshop使っていじったりするけど、こういったものがあるともはやなんというかなんとも言えない気持ちになるよね。