ディープラーニングで自撮り画像をアニメ画像に画風変換
ディープラーニングで自撮り画像をアニメ画像に画風変換してみました。試した理由などは、以下ブログ記事参照下さい。この記事では、具体的な実現方法を解説していきます。
ディープラーニングでアニメドラえもんの「うそつきかがみ」を再現してみた
以下のGitHubのリポジトリにあるソフトと学習済みモデルを使うと、自撮り画像をアニメ画像に画風変換することができます。
学習から推論までできる素晴らしいソフトなのですが、単純に画風変換やりたい場合、ちょっと使い方が煩雑だったり、動画に対応させたかったりしたので、以下の3点を自分用に改造しました。
- セットアップを簡単にした
- 自動的に顔周辺の画像を抜き出し
- 動画に対応
改造したリポジトリは以下となります。
karaage0703/UGATIT
以下使い方を説明していきます。環境は、Mac/LinuxとJetson Nanoを想定しています。それぞれ説明していきます。
ブログにも
自撮り画像をアニメ画像に画風変換する方法(Mac/Linux)
環境構築
以下記事参考にPyenvとAnaconda3をセットアップして下さい。
Pythonで機械学習をするための環境を雑にセットアップする方法(Jupyter notebook環境、ディープラーニング環境含む)on Mac/Linux
必要なライブラリは以下となります。
- TensorFlow==1.14.0
- OpenCV
具体的には、以下コマンドでセットアップして下さい。
$ pip install tensorflow==1.14.0
$ pip install opencv-python
ソフトウェアセットアップ
以下コマンドでリポジトリをクローン(ダウンロード)します。
$ git clone https://github.com/karaage0703/UGATIT
$ cd UGATIT
$ git checkout -b movie origin/movie
ソフトに必要な、顔認識用のハール・ライク特徴量モデルと学習済みの自撮り画<->アニメ画変換の学習済みモデルのダウンロードは以下コマンドでできます。
$ ./get_haarlike.sh
$ ./get_model.sh
モデルのダウンロードがうまくいかない場合は、手動で以下からモデルをダウンロードして、UGATIT
ディレクトリ直下において、解凍して下さい。
unzipコマンドで解凍に失敗する場合は、tarコマンドで解凍した方がよいようです。
プログラム実行
以下コマンドを実行するとソフトが動きます。
$ python selfie2anime_movie.py
フルスクリーンで動かしたい場合は、以下のように--fullscreen
のオプションをTrueにして起動して下さい。
$ python selfie2anime_movie.py --fullscreen=True
自撮り画像をアニメ画像に画風変換する方法(Jetson Nano)
環境構築
以下記事参考に、Jetson Nanoでディープラーニング(TensorFlow)のセットアップを実施します。
ソフトウェアセットアップ
以下コマンドで、プログラムと顔認識に必要なモデルをダウンロードします。
$ cd && git clone https://github.com/karaage0703/UGATIT
$ cd UGATIT
$ git checkout -b movie origin/movie
$ ./get_haarlike.sh
自撮り画<->アニメ画変換の学習みモデルは、以下リンク先からモデルをダウンロードします(大きいモデルだとJetson Nanoではメモリ不足になるため、小さいモデルを使います)。
ダウンロードしたモデルはUGATIT
ディレクトリ以下に置いて、以下コマンドで解凍します。
$ unzip ugatit-selfie2anime-pretrained.zip
プログラム実行
以下コマンドを実行するとソフトが動きます。
$ python3 selfie2anime_movie.py --light=True -d='jetson_nano_raspi_cam'
フルスクリーンで動かしたい場合は、以下のように--fullscreen
のオプションをTrueにして起動して下さい。
$ python3 selfie2anime_movie.py --light=True -d='jetson_nano_raspi_cam' --fullscreen=True
まとめ
ブログ、Qiita、Twitter等で情報発信していますので、もし興味ありましたらフォロー下さい。
関連記事
Jetson Nano関係のTIPSまとめ
Jetson Nano関係の情報はこちらにまとめています