Help us understand the problem. What is going on with this article?

ディープラーニングで自撮り画像をアニメ画像に画風変換する方法

ディープラーニングで自撮り画像をアニメ画像に画風変換

 ディープラーニングで自撮り画像をアニメ画像に画風変換してみました。試した理由などは、以下ブログ記事参照下さい。この記事では、具体的な実現方法を解説していきます。

ディープラーニングでアニメドラえもんの「うそつきかがみ」を再現してみた

 以下のGitHubのリポジトリにあるソフトと学習済みモデルを使うと、自撮り画像をアニメ画像に画風変換することができます。

taki0112/UGATIT

 学習から推論までできる素晴らしいソフトなのですが、単純に画風変換やりたい場合、ちょっと使い方が煩雑だったり、動画に対応させたかったりしたので、以下の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ディレクトリ直下において、解凍して下さい。

https://drive.google.com/file/d/19xQK2onIy-3S5W5K-XIh85pAg_RNvBVf/

 unzipコマンドで解凍に失敗する場合は、tarコマンドで解凍した方がよいようです。

プログラム実行

 以下コマンドを実行するとソフトが動きます。

$ python selfie2anime_movie.py

 フルスクリーンで動かしたい場合は、以下のように--fullscreenのオプションをTrueにして起動して下さい。

$ python selfie2anime_movie.py --fullscreen=True

selfie2anime_mac.gif

自撮り画像をアニメ画像に画風変換する方法(Jetson Nano)

環境構築

 以下記事参考に、Jetson Nanoでディープラーニング(TensorFlow)のセットアップを実施します。

Jetson Nano関係のTIPSまとめ

ソフトウェアセットアップ

 以下コマンドで、プログラムと顔認識に必要なモデルをダウンロードします。

$ 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

selfie2anime_jetson_nano.gif

まとめ

 ブログ、Qiita、Twitter等で情報発信していますので、もし興味ありましたらフォロー下さい。

関連記事

Jetson Nano関係のTIPSまとめ
Jetson Nano関係の情報はこちらにまとめています

参考リンク

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away