本記事では、BlendGANと呼ばれる機械学習手法を用いて、顔写真を漫画風のイラストに変換する方法を紹介します。
BlendGANとは
GANとは生成的敵対的ネットワークのことであり、データから特徴を学習し、新規データの生成、または、存在するデータに沿った変換を可能とします。
画像においてGANとは顔画像の生成などに用いられています。
従来手法では、単一のスタイルに適応したモデルを生成しており、複数のスタイルに適応したモデルの生成はできていませんでした。
StyleGANでは、複数のスタイルに適応した単一のモデルを生成するという新規性を持つ手法となっています。
出典: https://github.com/onion-liu/BlendGAN |
BlendGANの導入手順
セットアップ1: conda環境構築
それでは早速、開発環境にBlendGANをセットアップしていきます。
動作確認は下記の環境で行っています。
OS: Ubuntu 18.04.3 LTS
GPU: GeForce GTX 1080
なお、このデモはPythonで実装しています。
Pythonの実装に不安がある方、Pythonを使った機械学習について詳しく勉強したい方は、以下の書籍やオンライン講座などがおすすめです。
おすすめの書籍
[初心者向け] Pythonで機械学習を始めるまでに読んだおすすめ書籍一覧
本記事では、現役機械学習エンジニアとして働く筆者が実際に読んだ書籍の中でおすすめの書籍をレベル別に紹介しています。
おすすめのオンライン講座
[初心者向け] 機械学習がゼロから分かるおすすめオンライン講座
本記事では、機械学習エンジニアとして働く筆者が、AI・機械学習をまったく知らない方でも取り組みやすいおすすめのオンライン講座をご紹介しています。
それでは、BlendGANをインストールしていきます。他の機械学習環境に影響を与えないためにMinicondaの仮想環境上に構築していきます。Minicondaのインストール手順は公式ドキュメントをご参照ください。
conda環境構築手順を下記に記載します。
以上でconda環境構築は完了です。
セットアップ2: 学習済みモデル準備
続いて学習済みモデルを準備していきます。
学習済みモデルは公式のGithubからダウンロード可能です。
学習済みモデルをセットアップしていきます。
以上で学習済みモデルのセットアップは完了です。
BlendGANの実行
最後に、顔写真を漫画風に変換してみます。
下記コマンドでは、./test_imgs/face_imgs/
の格納された写真を
./test_imgs/style_imgs/
に格納されたテイストのイラストに変換します。
上図左列の写真と、上図中央のイラストを入力として、イラストのテイストを反映したイラストが右列に出力されています。
イラストのテイストは正確に反映されていますが、やや濃ゆい顔に変換されていますね。
この点、追加学習によって改善の余地がありそうです。
まとめ
本記事では、BlendGANで顔写真を漫画風に変換する方法を紹介しました。
スマートフォンの写真アプリのフィルター機能にも存在している通り、エンターテインメント性の高い技術ですね。
また本記事では、機械学習を動かすことにフォーカスしてご紹介しました。
もう少し学術的に体系立てて学びたいという方には以下の書籍などがお勧めです。ぜひご一読下さい。
また動かせるだけから理解して応用できるエンジニアの足掛かりに下記のUdemyなどもお勧めです。
参考文献
1. 論文 - BlendGAN: Implicitly GAN Blending for Arbitrary Stylized Face Generation
0 件のコメント :
コメントを投稿