トップページ情報工学を学ぶ人工知能の実行,Python プログラム (Windows 上)Dlib による顔検出,顔の 68ランドマーク(Dlib, Python を使用)(Windows 上)

Dlib を用いて,顔検出,顔のランドマーク検知(68 ランドマーク法),表情判定を行う(Windows 上)

Dlibは,数多くの機能を持つ C++ ライブラリ.機能には,機械学習,数値計算,グラフィカルモデル推論,画像処理,スレッド,通信,GUI,データ圧縮・一貫性,テスト,さまざまなユーティリティなどがある.Python API もある.

このページでは,Dlib の次の機能を使う

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

サイト内の関連ページ

先人に感謝

dlib の Web ページ: http://dlib.net/

前準備

Build Tools for Visual Studio 2022 (ビルドツール for Visual Studio 2022)のインストール(Windows 上)

Build Tools for Visual Studio は,Windows で動くMicrosoft の C++ コンパイラーである.

Build Tools for Visual Studio 2022 (ビルドツール for Visual Studio 2022)のダウンロードページ

https://visualstudio.microsoft.com/ja/downloads/

インストール手順の詳細(別ページ)

Build Tools for Visual Studio 2022 (ビルドツール for Visual Studio 2022)のインストール: 別ページで説明している.

インストール手順の概要

  1. ダウンロード URL を開く

    https://visualstudio.microsoft.com/ja/downloads/

  2. このページの下の方の「Visual Studio 2022用のツール」を展開

    [image]
  3. Build Tools for Visual Studio 2022」の右の「ダウンロード」をクリック.

    [image]
  4. ダウンロードが始まる

    [image]
  5. ダウンロードした .exe ファイルを実行する
  6. 表示を確認し,「続行」をクリック

    [image]
  7. C++ によるデスクトップ開発」をクリック.「インストール」をクリック.

    [image]
  8. ダウンロードとインストールが始まる
  9. インストール終了の確認

Git のインストール

7-Zip のインストール

7-Zip のページ: https://sevenzip.osdn.jp/ からダウンロードしてインストールする.

Python 64 ビット版のインストール,pip と setuptools の更新(Windows 上)

Windows での Python 3.10 のインストール,pip と setuptools の更新: 別ページで説明している.

Python の公式ページ: http://www.python.org/

Dlib のインストール

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

    Windowspip を実行するときは,コマンドプロンプト管理者として実行し,それを使って pip を実行することにする.

    コマンドプロンプトを管理者として実行: 別ページで説明している.

  2. 次のコマンドを実行.
    python -m pip install -U dlib
    

Dlib のソースコード等と,Dlib の学習済みモデルのダウンロード

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

    コマンドプロンプトを管理者として実行: 別ページで説明している.

  2. Dlib のソースコード等のダウンロード

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

    cd %HOMEPATH%
    rmdir /s /q dlib
    git clone https://github.com/davisking/dlib
    
  3. Dlib の学習済みモデルのダウンロード

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

    cd %HOMEPATH%
    cd dlib
    cd python_examples
    curl -O http://dlib.net/files/mmod_human_face_detector.dat.bz2
    curl -O http://dlib.net/files/dlib_face_recognition_resnet_model_v1.dat.bz2
    curl -O http://dlib.net/files/shape_predictor_5_face_landmarks.dat.bz2
    curl -O http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2
    "c:\Program Files\7-Zip\7z.exe" x mmod_human_face_detector.dat.bz2
    "c:\Program Files\7-Zip\7z.exe" x dlib_face_recognition_resnet_model_v1.dat.bz2
    "c:\Program Files\7-Zip\7z.exe" x shape_predictor_5_face_landmarks.dat.bz2
    "c:\Program Files\7-Zip\7z.exe" x shape_predictor_68_face_landmarks.dat.bz2
    del mmod_human_face_detector.dat.bz2
    del dlib_face_recognition_resnet_model_v1.dat.bz2
    del shape_predictor_5_face_landmarks.dat.bz2
    del shape_predictor_68_face_landmarks.dat.bz2
    

Dlib に付属の顔検出,顔の 68ランドマークの Pythonプログラムを動かす

  1. Windows のコマンドプロンプトを開く
  2. カレントディレクトリの移動

    %HOMEPATH%\dlib」は,Dlib のディレクトリ

    cd %HOMEPATH%
    cd dlib
    cd python_examples
    

    [image]

    ここで,「%HOMEPATH%\dlib」は,Dlib のソースコードを展開したディレクトリに読み替えること.

  3. 顔検出 (face detection) のサンプルプログラムを実行してみる

    顔検出が行われ,顔を囲むようなバウンディングボックス (bounding box) が表示される. そして,バウンディングボックスの座標値が数値データとして得られていることが,画面表示で確認できる.

    python face_detector.py ..\examples\faces\2007_007763.jpg
    

    [image]

    [image]
  4. 顔のランドマークの検知 (face landmark detector) のサンプルプログラムを実行してみる

    顔ごとに,最大で 68 のランドマーク (68 landmarks) が得られる.

    python face_landmark_detection.py shape_predictor_68_face_landmarks.dat ..\examples\faces\
    

    [image]

    [image]