トップページ人工知能,実世界DB顔情報(顔検出,顔識別、表情判定,顔のクラスタリングや類似度や分類,肌色部分の抽出,瞳孔の検出,顔姿勢の推定)頭部の向きの推定(lincolnhard/head-pose-estimation,Dlib,Python を使用)(Windows 上)

頭部の向きの推定(lincolnhard/head-pose-estimation,Dlib,Python を使用)(Windows 上)

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

Dlib を用いた、次のプログラム(公開されているもの)を動かしてみます

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

【サイト内の関連ページ】:

先人に感謝

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

前準備

Python のインストール,pip と setuptools の更新,Python 開発環境

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

【Python, pip の使い方】

Python, pip は,次のコマンドで起動できる.

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

Dlib のインストール

Dlib は c:\dlib にインストールされているとして,以下,説明する.

imutils のインストール

  1. Window でコマンドプロンプトを実行
  2. imutils のインストール
    mkdir c:\pytools
    cd c:\pytools
    rmdir /s /q imutils
    

    [image]

    cd c:\pytools
    git clone https://github.com/jrosebr1/imutils
    cd imutils
    python setup.py build
    python setup.py install 
    

    [image]
    (以下省略)
  3. imutils のバージョン確認

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

    py -c "import imutils; print( imutils.__version__ )"
    

    [image]

このページで説明のために使用するビデオ

顔が写ったビデオファイル

ここで使用する mp4 形式ビデオファイル: sample1.mp4

[image]

作業手順

  1. C:\facevideo のような作業用のディレクトリ(フォルダ)を作る

    [image]
  2. sample1.mp4 を、C:\facevideo の下に保存

lincolnhard/head-pose-estimation のダウンロード

謝辞:参考 Web ページ: https://github.com/lincolnhard/head-pose-estimation

利用条件などは必ず各自で確認してください

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

    [image]
  2. lincolnhard/head-pose-estimation のダウンロード
    mkdir c:\pytools
    cd c:\pytools
    rmdir /s /q head-pose-estimation
    

    [image]

    cd c:\pytools
    git clone https://github.com/lincolnhard/head-pose-estimation
    cd head-pose-estimation
    

    [image]

学習済みのモデルデータのダウンロードと展開(解凍)

次の3つの「学習済みのモデルデータ」をダウンロードする

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

    http://dlib.net/files

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

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

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

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

    [image]
  5. このファイルを,先ほど作成した c:\pytools\head-pose-estimationコピー

    [image]

lincolnhard/head-pose-estimation による頭部の向きの推定

  1. Window でコマンドプロンプトを実行
  2. プログラムファイルをコピーして使いたい

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

    cd c:\pytools\head-pose-estimation
    copy video_test_shape.py 1.py
    

    [image]
  3. プログラムファイル 1.pysample1.mp4 を使うように書き換え

    エディタを使う

    書き換え前

    [image]

    書き換え後

    FACEIMAGEROOT="c:/image/"
    cap = cv2.VideoCapture(FACEIMAGEROOT + "sample1.mp4")
    

    [image]
  4. Python プログラムを動かす.

    py 1.py
    

    [image]
    [image]
  5. 再び、プログラムファイルをコピー

    端末で,次のコマンドを実行.ファイルの書き換えは行わない

    copy video_test_shape.py 2.py
    

    [image]
  6. プログラムを実行してみる

    今度は、USB接続できるビデオカメラを準備し,パソコンに接続しておく.

    py 2.py
    

    [image]

    [image]

    ※ 途中で止めたいとき,右上の「x」をクリックしない.画面の中をクリックしてから,「q」のキーを押して閉じる