トップページ -> データベース関連技術 -> GAN の応用例 -> 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) を 実装したもの.

先人に感謝

参考文献: 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


前準備

Python, virtualenv のインストール

git のインストール

(Windows を使う場合のみ)MSVC ビルドツール (Build Tools) のインストール

Windows で MSVC ビルドツール (Build Tools) for Visual Studio 2017 のインストール(Chocolatey を利用)」で説明している

以下,Windows に Python, git, MSVC ビルドツール (Build Tools) をインストール済みであるものとして説明を続ける.

NVIDIA グラフィックスボード・ドライバ,NVIDIA CUDA ツールキットのインストール

※ Windows でのインストール手順の詳細は,「別のページ」で説明している

参考Webページ:

NVIDIA cuDNN のインストール

Windows でのインストール手順の詳細は,別ページで説明している

インストールの要点:https://developer.nvidia.com/cudnn から cuDNN を入手し,C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1 などに展開(解凍)し,パスを通しておくこと

隔離された Python 環境の新規作成と,TensorFlow 1(旧バージョン)のインストール

  1. 今から作成するPython 環境の名前と、Pythonのバージョンを決めておく
  2. Windows で,コマンドプロンプトを管理者として実行

    [image]
  3. virtualenv隔離された Python 環境新規作成し,有効化

    下の例では,Python 環境名をtf1に設定している

    mkvirtualenv tf1
    lsvirtualenv 
    

    [image]
  4. TenforFlow 1 のインストール

    このとき,virtualenv のPython 仮想環境を有効化する(「tf1」のところは、Python仮想環境の名前)

    ※ 「pip install」は,Python パッケージをインストールするためのコマンド

    ※ 「py」は,Windows のPythonランチャーAnaconda 3 内の Python などを間違って使ってしまわないように,Pythonランチャーを使って Python を起動している.

    workon tf1
    py -m pip install --upgrade pip
    pip install -U tensorflow==1.15
    

    [image]

    GPU版の TensorFlow を使いたいとき

    GPU 版 TensorFlow を使うために,https://developer.nvidia.com/cuda-10.0-download-archiveから CUDA 10.0 を入手し,インストールしておくこと

    そして,https://developer.nvidia.com/cudnn から cuDNN を入手し,C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0 などに展開(解凍)し,パスを通しておくこと

    その他 Python パッケージのインストール

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

      [image]
    2. virtualenv のPython 仮想環境を有効化する(「tf1」のところは、Python仮想環境の名前に変えること)

      workon tf1
      

      [image]
    3. Python パッケージのインストール操作

      pip install -U numpy scipy requests tqdm
      
    4. Pillow (PIL fork by Alex Clark and Contributors) のインストール

      MSVC ビルドツール (Build Tools) がインストール済みであるとして手順を示す

      cd c:\pytools
      git clone https://github.com/python-pillow/Pillow
      cd Pillow
      python setup.py build_ext --disable-zlib --disable-jpeg install
      

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

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

      1. Windows で,コマンドプロンプトを管理者として実行
      2. virtualenv のPython 仮想環境を有効化する(「tf1」のところは、Python仮想環境の名前に変えること)

        workon tf1
        

        [image]
      3. Face-Aging-CAAE のインストール

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

        [image]

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

        [image]

        ソースコードの書き換え

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

        1. Windows で,コマンドプロンプトを管理者として実行
        2. virtualenv のPython 仮想環境を有効化する(「tf1」のところは、Python仮想環境の名前に変えること)

          workon tf1
          

          [image]
        3. 2to3 を使う

          cd c:\pytools
          cd Face-Aging-CAAE
          py %LOCALAPPDATA%\Programs\Python\Python37\Tools\scripts\2to3.py -w . 
          

          [image]

          Windows で動くように書きかえ

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

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

            書き換え前

            [image]

            書き換え後

            [image]

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

            書き換え前

            [image]

            書き換え後

            [image]

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

            書き換え前

            [image]

            書き換え後

            [image]

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

            書き換え前

            [image]

            書き換え後

            [image]

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

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

            • 20,000 以上の顔画像
            • 性別,年齢,race ( White, Black, Asian, Indian, and Others (like Hispanic, Latino, Middle Eastern) のデータも公開
            • 68 landmarks (68 ランドマーク)のデータも公開

            ここでは、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」データファイルを選んでみる

              [image]
            3. UTKFace.tar.gz」を選ぶ

              別の方は使わない.

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

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

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

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

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

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

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

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

              [image]
            10. C:\face-image のような作業用のディレクトリ(フォルダ)を作る

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

              [image]

              学習

              1. C:\pytools\Face-Aging-CAAE の下の dataを開いて、「save_data_folder_here.txt」というファイルがあることを確認する

                [image]
              2. 先ほどダウンロードした C:\face-image\UTKFace をまるごと、このdataの直下にコピー

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

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

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

                activate tf
                

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

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

                cd C:\pytools\Face-Aging-CAAE
                

                [image]
              6. main.py の実行
                python main.py
                

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

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

                [image]

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

                [image]

                次のようなエラーが出る場合には、 C:\pytools\Face-Aging-CAAE の下の dataの下に、正しく顔データが置かれていない可能性がある

                [image]
              7. 終了の確認

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

                [image]

                [image]

                [image]
              9. テスト

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

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

                (書きかけ)


                本サイトのサイトマップは,サイトマップのページをご覧下さい. 本サイト内の検索は,サイト内検索のページをご利用下さい.

                問い合わせ先: 金子邦彦(かねこ くにひこ) [image]