トップページデータベース研究顔検出、顔識別Dlib を用いて,顔のアラインメント,顔の増量,ランドマーク,顔からの特徴量抽出(Dlib 付属のサンプルプログラムを使用)

Dlib を用いて,顔のアラインメント,顔の増量,ランドマーク,顔からの特徴量抽出(Dlib 付属のサンプルプログラムを使用)

Dlibは,機械学習のアルゴリズムの機能を持つソフトウエア.

利用条件などは利用者において確認してください

サイト内の関連ページ

前準備

Python のインストール,pip と setuptools の更新,Python 開発環境(JupyterLab, spyder, nteract)のインストール

Windows の場合

  1. Python のインストール

    Python の URL: http://www.python.org/

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

  2. pip と setuptools の更新,Python 開発環境(JupyterLab, spyder, nteract)のインストール(Windows 上)

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

    Windows での pip の実行では,コマンドプロンプトを管理者として実行することにする。

    [image]

    python -m pip install -U pip setuptools
    python -m pip install -U jupyterlab jupyter jupyter-console jupytext nteract_on_jupyter spyder
    

Ubuntu の場合

システム Python を使用(インストール操作は不要)

  1. pip と setuptools の更新,Python 開発環境(JupyterLab, spyder, nteract)のインストール(Ubuntu 上)

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

    sudo apt -y install python3-dev python3-pip python3-setuptools python3-venv
    sudo pip3 uninstall ptyprocess sniffio terminado tornado jupyterlab jupyter jupyter-console jupytext nteract_on_jupyter spyder
    sudo apt -y install jupyter jupyter-qtconsole spyder3
    sudo apt -y install python3-ptyprocess python3-sniffio python3-terminado python3-tornado 
    sudo pip3 install -U jupyterlab nteract_on_jupyter
    

Dlib のインストール

Dlib は C:\pytools\dlib にインストールされているとする

学習済みデータの準備

Dlib のための「学習済みのモデルデータ」をダウンロードする

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

    http://dlib.net/files

  2. 次の3つのファイルをダウンロードする

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

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

  4. 展開(解凍)してできたファイルを確認する.

    [image]
  5. 展開(解凍)してできたファイルを3つとも,先ほど作成した C:\pytools\dlib (Dlib のディレクトリ)の下の「python_example」にコピー

    C:\pytools\dlib が無いときは作る

    [image]
  6. Dlib に同封の顔画像ファイルに何があるかを、簡単にみておく

    C:\pytools\dlib\examples\faces の下の顔画像のファイルを確認する

    [image]

顔のアラインメント

利用条件などは各自で確認のこと

  1. Windows のコマンドプロンプトを開く
  2. 実行してみる

    ※ Python プログラムを動かすために, Windows では,「python」コマンドを使う. Ubuntu では「python3」コマンドを使う.

    Python プログラムを動かすために, pythonpython3などのコマンドを使う. あるいは, 開発環境や Python コンソール(Jupyter Qt ConsolespyderPyCharmPyScripter など)の利用も便利である.

    cd C:\pytools\dlib\python_examples
    py face_alignment.py shape_predictor_68_face_landmarks.dat ..\examples\faces\2007_007763.jpg
    

    [image]
  3. Enter キーを複数回押して、結果を確認

顔データの増強

増量は、学習で重要となる

利用条件などは各自で確認のこと

  1. 実行してみる
    cd C:\pytools\dlib\python_examples
    py face_jitter.py shape_predictor_68_face_landmarks.dat 
    

    元画像として何を使うかは、プログラム中で設定されている

    [image]

    [image]
  2. Enter キーを複数回押して、結果を確認

5ランドマーク

利用条件などは各自で確認のこと

  1. 実行してみる
    cd C:\pytools\dlib\python_examples
    py face_landmark_detection.py shape_predictor_5_face_landmarks.dat ..\examples\faces
    

    [image]

    [image]
  2. Enter キーを複数回押して、結果を確認

68ランドマーク

利用条件などは各自で確認のこと

  1. 実行してみる
    cd C:\pytools\dlib\python_examples
    py face_landmark_detection.py shape_predictor_68_face_landmarks.dat ..\examples\faces
    

    [image]

    [image]
  2. Enter キーを複数回押して、結果を確認

顔の認識(5ランドマークを使用)

利用条件などは各自で確認のこと

  1. 実行してみる
    cd C:\pytools\dlib\python_examples
    py face_recognition.py shape_predictor_5_face_landmarks.dat dlib_face_recognition_resnet_model_v1.dat ..\examples\faces
    

    顔ごとに 128個の数値(特徴量ベクトル)が得られることを確認

    [image]

    [image]
  2. Enter キーを複数回押して、結果を確認

顔の認識(68ランドマークを使用)

利用条件などは各自で確認のこと

  1. 実行してみる
    cd C:\pytools\dlib\python_examples
    py face_recognition.py shape_predictor_68_face_landmarks.dat dlib_face_recognition_resnet_model_v1.dat ..\examples\faces
    

    顔ごとに 128個の数値(特徴量ベクトル)が得られることを確認

    [image]

    [image]
  2. Enter キーを複数回押して、結果を確認