トップページ人工知能,実世界DBGAN の応用例ZZUTK/Face-Aging-CAAE を使い Face Aging を行ってみる(書きかけ)

ZZUTK/Face-Aging-CAAE を使い Face Aging を行ってみる(書きかけ)

ZZUTK/Face-Aging-CAAE は,GitHub で公開されているソフトウエアで, Age Progression/Regression by Conditional Adversarial Autoencoder (CAAE) を 実装したもの.

手順の要点: Python 3.6, TensorFlow 1.15, Python の隔離された環境(Windows では C:\venv\tf115py36)

ソフトウエア等の利用条件等は,利用者で確認すること.

謝辞:ソフトウエアの作者に感謝します.

参考文献: https://openaccess.thecvf.com/content_cvpr_2017/papers/Zhang_Age_ProgressionRegression_by_CVPR_2017_paper.pdf

GitHub の ZZUTK/Face-Aging-CAAE の Webページ: https://github.com/ZZUTK/Face-Aging-CAAE

前準備

TensorFlow 1.15 を使う.

(Windows を使う場合のみ)マイクロソフト C++ ビルドツール (Build Tools) のインストール

Visual Studio Community 2019 vesion 16.2, マイクロソフト C++ ビルドツールのインストール(Windows 上)」で説明している.

Python,TensorFlow 1.15 のインストール

すでに TensorFlow 2 を使っている,あるいは使う予定ということがありえる. 単純には,TensorFlow 2 と TensorFlow 1.15 を共存させて Python で使うということはできないが, 少しの手間で,共存できるようになる. そこで,TensorFlow 2 とTensorFlow 1.15 の共存を前提として, TensorFlow 1.15 のインストールを行う.

Python 開発環境のインストール】

Python を使うときは,Python開発環境や Python コンソール(Jupyter Qt ConsoleSpyderPyCharmPyScripter など)の利用も便利である

Windows, Ubuntu での Python 開発環境,Python コンソールJupyter Qt Console, Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, spyder)のインストール: 別ページで,インストール手順を説明している.

Windows の場合

Windows でのPython3.6TensorFlow 1.15 のインストール:別ページで説明している.

すでにPython 3.9 あるいは Python 3.8 をインストールしている,あるいは,インストール予定という場合を想定し, あとのトラブルが起きにくい,そして,簡単に運用できるように 「Python 3.6 をインストールし,その上に,TensorFlow 1.15.5 をインストールする」という手順を案内している.

Ubuntu の場合

Ubuntu でのPythonTensorFlow 1.15 のインストール:別ページで案内している.

Ubuntu のシステム Python に影響を与えないように,隔離された Python 3.6 仮想環境の新規作成し,その上にTensorFlow 1.15.5 をインストールするという手順(venv を使用)(Ubuntu 上)を案内している.

Git のインストール

Git の URL: https://git-scm.com/

Face-Aging-CAAE プログラムのダウンロードと展開(解凍)

GitHub の ZZUTK/Face-Aging-CAAE の配布サイト(https://github.com/ZZUTK/Face-Aging-CAAE)で公開されている プログラムを,ダウンロードし展開(解凍)する.

Windows での手順を下に示す.Ubuntu でも同様の手順になる.

  1. Windows で,コマンドプロンプト管理者として実行する.

    [image]
  2. 作業用に c:\do.bat というファイルを作る.

    まず,メモ帳を開く(メモ帳以外のエディタでも問題ない)

    notepad c:\do.bat
    

    [image]

    次のように編集する.

    sed -i "s/import tensorflow as tf/import tensorflow.compat.v1 as tf/g"
    sed -i "s/from tensorflow import/from tensorflow.compat.v1 import"
    sed -i "s/from keras import/from tensorflow.compat.v1.keras import"
    
  3. その他 Python パッケージのインストール

    venv を使い,孤立した Python の隔離された環境を使っているときは,Windows でも Ubuntu でも同じで,「python -m pip install ...」.

    python -m pip install -U numpy scipy requests tqdm pillow  
    python -m pip install -U jupyterlab jupyter jupyter-console jupytext spyder
    
  4. Face-Aging-CAAE のダウンロード

    cd c:\pytools
    rmdir /s /q Face-Aging-CAAE
    

    git clone https://github.com/ZZUTK/Face-Aging-CAAE
    

ソースコードの書き換え

Python 3 で動くように書きかえ

  1. Windows で,コマンドプロンプト管理者として実行する.

    [image]
  2. 作業用に c:\do.bat というファイルを作る.

    まず,メモ帳を開く(メモ帳以外のエディタでも問題ない)

    notepad c:\do.bat
    

    [image]

    次のように編集する.

    sed -i "s/import tensorflow as tf/import tensorflow.compat.v1 as tf/g"
    sed -i "s/from tensorflow import/from tensorflow.compat.v1 import"
    sed -i "s/from keras import/from tensorflow.compat.v1.keras import"
    
  3. 2to3 -w">2to3 を使う

    Windows での手順を下に示す.Ubuntu でも同様の手順になる.

    cd c:\pytools
    cd Face-Aging-CAAE
    python "C:\Program Files\Python37\Tools\scripts\2to3 -w">2to3.py" -w . 
    

Windows で動くように書きかえ

  1. Windows で動かしたい ので, エディタを使い,FaceAging.py を書き替えて保存

    282 行目.「/」を「\\」に書き換え.

    書き換え前

    [image]

    書き換え後

    [image]

    304 行目.同じように,「/」を「\\」に書き換え.

    356 行目.同じように,「/」を「\\」に書き換え.

    378 行目.同じように,「/」を「\\」に書き換え.

UTKFace (Large Scale Face Dataset) のダウンロードと展開(解凍)

UTKFace (Large Scale Face Dataset) は,顔画像のデータセット

ここでは、Aligned & Cropped Faces」データファイルを選ぶ GitHub の ZZUTK/Face-Aging-CAAE の配布サイト(https://github.com/ZZUTK/Face-Aging-CAAE)にそのことが説明されている.

  1. Web ブラウザで次の URL を開く

    https://susanqq.github.io/UTKFace/

  2. Aligned & Cropped Faces」データファイルを選んでみる
  3. UTKFace.tar.gz」を選ぶ

    別の方は使わない.

  4. メニューで「Download」を選ぶ
  5. ダウンロードしたいので,「DOWNLOAD ANYWAY」をクリック
  6. ダウンロードが始まるので確認する.
  7. ダウンロードしたファイルを展開(解凍)する.

    Windows での展開(解凍)のためのソフトには,「7-Zip」などがある.

    tar.gz 形式ファイルを 7-Zip で展開(解凍)すると tar 形式ファイルができ, tar 形式ファイルを 7-Zip で展開(解凍)すると,画像ファイルの入ったディレクトリが得られる.

  8. 展開(解凍)してできたディレクトリ UTKFace を確認する.
  9. ディレクトリ UTKFace の下に多数の顔画像ファイルがあることを確認する.
  10. C:\face-image のような作業用のディレクトリ(フォルダ)を作る

    [image]
  11. ディレクトリ UTKFace を, C:\face-image のような作業用のディレクトリ(フォルダ)のに移動
  12. ディレクトリ UTKFace の下に多数の顔画像ファイルがあることを確認する.

学習

Windows での手順を下に示す.Ubuntu でも同様の手順になる.

  1. c:\pytools\Face-Aging-CAAE の下の dataを開いて、「save_data_folder_here.txt」というファイルがあることを確認する
  2. 先ほどダウンロードした C:\face-image\UTKFace をまるごと、このdataの直下にコピー

    コピーが終わると,次のようになるので確認(ここで間違うと次に進めない)

  3. コマンドプロンプトを開く
  4. Python 環境(名前は tf)を有効にする

    端末で,次のコマンドを実行.

    c:\pytools\.venv\Scripts\activate.bat
    
  5. 新しくコマンドプロンプトを開き,先ほど展開したディレクトリに移動.

    c:\pytools\Face-Aging-CAAE に展開(解凍)した場合には次のように操作する

    cd c:\pytools\Face-Aging-CAAE
    
  6. main.py の実行
    python main.py
    
  7. 終了の確認
  8. save/summary の下に,中間結果が保存されている.次のコマンドにより確認できる.
    cd save/summary
    tensorborard --logdir .
    
  9. テスト

    imagedir」のような名前でディレクトリを作り(名前は何でも良いがわかりやすい名前が良い)、 そこに .jpg ファイルを 10 個以上おき、次のコマンドを実行する.

    python main.py --is_train False --testdir imagedir
    

    書きかけ