LoginSignup
0
0

More than 3 years have passed since last update.

pythonで画風変換 git cloneでお手軽に 備忘録 [中級者向け]

Last updated at Posted at 2020-10-04

AIで画風を学習し、実際に撮った写真を変換する画風変換があります。最近ではアプリケーションにもなっているのですが今回は実際にpythonを実行し変換を行っていきます。
...とは言っても自分で作るのことはできないので、先人の皆様のgitからソースを取得していきます。

今回はfast-neural-style-kerasの画風変換を実行していきます。
こちらのfast-neural-style-kerasの使い方はhow to useに記載されているコマンドを実行すればできるのですが、現在(2020年)だとライブラリのバージョン更新の関係でうまく動作しません。こちらのコードはなんと2017年にgitに投稿されています。時代とライブラリの進み具合は早いですね笑

調べていくと画風変換を動かすまでに出てきたバグで修正点がまとめられていたので、こちらの記事通りの修正をしたのですが、一部ライブラリがさらに更新されたようなのでその個所のコード修正と使用したライブラリのバージョンを備忘録として以下にまとめます。

実行環境

python 3.7.9
tensorflow 1.13.1
Keras 2.2.3
imageio 2.9.0
scipy 1.2.0

コード修正

git clone等の方法については
画風変換を動かすまでに出てきたバグを確認してください。私の記事では最低限のコード修正箇所のみ書きます。

VGG16.py
# 修正前
from keras.applications.imagenet_utils import decode_predictions, preprocess_input, _obtain_input_shape
# 修正後
from keras_applications.imagenet_utils import decode_predictions, preprocess_input, _obtain_input_shape

# 87行目
# 修正前
include_top=include_top
# 修正後
require_flatten=include_top
transform.py
# import追加
import imageio

# 107行目
# 修正前
imsave('%s_output.png' % output_file, y)
# 修正後
imageio.imwrite(output_file+'/'+style+'img_saved.jpg', y.astype(np.uint8))

いざ画風変換

fast-neural-style-keras\imagesフォルダ直下に変換したい画像ファイル[test.jpg]を配置します。
fast-neural-style-keras\直下に結果出力用フォルダ[output]を作成します。
下記コマンドを実行します。今回は富嶽三十六景(stayle wave_crop)を選択しています。

python transform.py -i images/test.jpg -s wave_crop -b 0.1 -o output

入力画像

test.jpg

画風変換結果

wave_cropimg_saved.jpg

フリー素材の猫の画像を変換しました。
皆さんもぜひ試してみてください。
動作しないなど問題があれば聞いてください。可能な限りで対応します。
無事、変換出来たらLGTMください笑

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0