トップページ -> データベース研究スタート -> TensorFlow のインストールおよびその応用例 -> 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) を 実装したもの.

先人に感謝

TenforFlow 0.12 の情報: https://www.tensorflow.org/versions/r0.12/get_started/os_setup

参考文献: http://web.eecs.utk.edu/~zzhang61/docs/papers/2017_CVPR_Age.pdf

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

キーワード:CAAE, Face Aging, Python


前準備

前準備として,Anaconda のインストール, Anaconda での新しい Python 3.5 環境の作成と、Tensorflow 0.12.1 のインストールを行います. 手順を下に説明しています.

Anaconda のインストール

Python 3 の開発環境である Anacondaをおすすめ.Window でのインストール手順は次の通りです(Linuxでも同様の手順です).

  1. https://www.continuum.io/downloads#windowsを開く

  2. Download」をクリックする.

  3. ダウンロードが始まるので確認する.

  4. ダウンロードした .exe ファイルを実行して,Anacondaをインストール.

Anaconda での新しい Python 環境の作成

ZZUTK/Face-Aging-CAAE を動かすのに,新しいPython環境があった方が便利です.

  1. コマンドプロンプトを管理者として実行そして,次のコマンドを実行.

    ※ 「--name tf012」のところに書く名前「tf012」は何でもいいですが,あとで思い出しやすい分かりやすい名前がいいです.

    conda create --name tf012 python=3.5 anaconda
    

  2. 「Proceed ([y]/n)?」のように表示されたときは y, Enter キー

  3. 終了の確認

    エラーメッセージが出ていないことを確認


Python 環境の有効化と全パッケージの更新

  1. コマンドプロンプトを管理者として実行

  2. 先ほど作成した Python 環境有効化

    ※ (Anaconda や Miniconda を使っていないときは conda がないので pip で代用),

    activate tf012
    

  3. インストール済みパッケージの更新.

    コマンドプロンプトで、次のコマンドを実行

    conda update -y --all
    

  4. 終了の確認

    エラーメッセージが出ていないことを確認


scipy のインストール

  1. コマンドプロンプトを管理者として実行

  2. 先ほど作成した Python 環境有効化

    ※ (Anaconda や Miniconda を使っていないときは conda がないので pip で代用),

    activate tf012
    

  3. インストール済みパッケージの更新.

    コマンドプロンプトで、次のコマンドを実行

    conda install numpy
    conda install scipy
    

    tensorflow のインストール

    次の2択

    以上2つの詳細な手順は、「TenforFlow 1.5 のインストール」のページに載せています


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

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

    ここでの作業に使っているディレクトリ:

    1. ダウンロードしたいので,GitHub の ZZUTK/Face-Aging-CAAE の Web ページを開く.

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

    2. 「Clone or download」を展開.「Download ZIP」をクリック

    3. davisking/dlib で公開されているプログラム の .zip ファイルのダウンロードが始まるので確認する.

      ファイル名: Face-Aging-CAAE-master.zip

    4. ダウンロードした .zip ファイルを展開(解凍)し,分かりやすいディレクトリに置く.

      ※ Windows での展開(解凍)のためのソフトは「7-Zip」をおすすめ.

      この .zip ファイルは,E:\Face-Aging-CAAE-master\Face-Aging-CAAE-master に展開(解凍)したものとして,説明を続けるので,適切に読み替えてください.

    5. コマンドプロンプトを開く

    6. コマンドプロンプトで,先ほど作成した「新しいPython環境」を使うように設定
      activate tf012
      

    7. 新しくコマンドプロンプトを開き,先ほど展開したディレクトリに移動.

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

      E:
      cd E:\Face-Aging-CAAE-master\Face-Aging-CAAE-master
      

    8. プログラムが Python 2.7 用なので,Python 3 でも動くように変換する作業

      変換するためのプログラム 2to3 を使用

      2to3 -w main.py 
      2to3 -w ops.py 
      2to3 -w FaceAging.py 
      

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

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

      書き換え前

      書き換え後

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

      書き換え前

      書き換え後

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

      書き換え前

      書き換え後

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

      書き換え前

      書き換え後


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

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

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

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

    2. Aligned & Cropped Faces」データファイルを選ぶ

      GitHub の ZZUTK/Face-Aging-CAAE の配布サイト(https://github.com/ZZUTK/Face-Aging-CAAE)にそのことが説明されている.

    3. UTKFace.tar.gz」を選ぶ

      別の方は使わない.

    4. メニューで「Download」を選ぶ

    5. ダウンロードしたいので,「DOWNLOAD ANYWAY」をクリック

    6. ダウンロードが始まるので確認する.

      ファイル名: UTKFace.tar.gz

    7. ダウンロードしたファイルを展開(解凍)する.

      ※ Windows での展開(解凍)のためのソフトは「7-Zip」をおすすめ.

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

    8. 展開(解凍)してできたディレクトリ UTKFace を確認する.

    9. ディレクトリ UTKFace の下に多数の顔画像ファイルがあることを確認する.

    10. ディレクトリ UTKFace を, 先ほどプログラムを展開(解凍)してできたディレクトリのdataの直下に移動

      ※ 下の図では,E:\Face-Aging-CAAE-master\Face-Aging-CAAE-master の下の dataを開いたところ.

    11. 移動が終わると,次のようになるので確認(ここで間違うと次に進めない)

    学習

    1. コマンドプロンプトを開く

    2. コマンドプロンプトで,先ほど作成した「新しいPython環境」を使うように設定
      activate tf012
      

    3. 新しくコマンドプロンプトを開き,先ほど展開したディレクトリに移動.

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

      E:
      cd E:\Face-Aging-CAAE-master\Face-Aging-CAAE-master
      

    4. main.py の実行
      python main.py
      

      下の図のように「Epoch ...」と表示されれれば,学習は始まっている.

      ※ これは,顔画像を使っての学習を行っている.TensorFlow を利用している. 数分ほど待って,「エラーメッセージが出て止まっている」ことがないことを確認.

      次のように「Missing parentheses in call to 'print'」についてのエラーが出ている場合には, このウェブページの前の方で書いた「2to3 -w ...」についての作業を忘れている可能性がある.

    5. 終了の確認

    6. save/summary の下に,中間結果が保存されている.次のコマンドにより確認できる.
      cd save/summary
      tensorborard --logdir .
      

    7. テスト

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

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

      (書きかけ)