トップページ -> 最新情報技術の実習と研究ツール -> 顔検出、顔識別 -> 瞳孔を検知してみる(TobiasRoeddiger/PupilTracker を使用)
[サイトマップへ]  

瞳孔を検知してみる(TobiasRoeddiger/PupilTracker を使用)

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

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

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

サイト内の関連Webページ:

先人に感謝

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


前準備

Python, 主要パッケージ, OpenCV, Dlib, git のインストール

以下,Windows でインストール済みであるものとして説明を続けます.

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


imutils のインストール

  1. Window でコマンドプロンプトを実行

  2. (オプション)もし、virtualenv のPython 仮想環境にインストールしていて、そこにインストールしたいとき、それを有効化する

    ※ virtualenv のPython 仮想環境を有効化したいときに限る(「ai」のところは、Python仮想環境の名前に変えること)

    workon ai 
    

  3. imutils のインストール
    mkdir c:\pytools
    cd c:\pytools
    rmdir /s /q imutils
    

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

    (以下省略)

  4. imutils のバージョン確認

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

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

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

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

ここで使用する mp4 形式ビデオファイル: sample2.mp4 (30秒)

作業手順

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

  2. sample2.mp4 を、C:\face-image の下にダウンロード

TobiasRoeddiger/PupilTracker のダウンロード

謝辞:参考 Web ページ: https://github.com/TobiasRoeddiger/PupilTracker

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

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

  2. TobiasRoeddiger/PupilTracker のダウンロード
    mkdir c:\pytools
    cd c:\pytools
    rmdir /s /q PupilTracker
    

    cd c:\pytools
    git clone https://github.com/TobiasRoeddiger/PupilTracker 
    cd PupilTracker
    

TobiasRoeddiger/PupilTracker による頭部の向きの推定

  1. Window でコマンドプロンプトを実行

  2. (オプション)もし、virtualenv のPython 仮想環境にインストールしていて、それを使いたいときは、有効化する

    ※ virtualenv のPython 仮想環境を有効化したいときに限る(「ai」のところは、Python仮想環境の名前に変えること)

    workon ai 
    

    次のコマンドを実行

    copy pupil_tracker.py a.py 
    

  3. プログラムファイル a.pysample2.mp4 を使うように書き換え

    エディタを使う

    書き換え1つめ

    書き換え前

    書き換え後

    cap = cv2.VideoCapture("C:/face-image/sample2.mp4")

    書き換え2つめ

    書き換え前

    書き換え後

    cv2.line(image,(int((bottom_left[0] + bottom_right[0]) / 2), lower_bound), (int((upper_left[0] + upper_right[0]) / 2), upper_bound),(0,0,255), 1)

  4. プログラムを実行してみる

    python a.py -p shape_predictor_68_face_landmarks.dat
    

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

    次のコマンドを実行.

    copy a.py b.py 
    

  6. プログラムファイル b.pysample2.mp4 を使うように書き換え

    エディタを使う

    書き換え前

    書き換え後

    cap = cv2.VideoCapture(0)

  7. プログラムを実行してみる

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

    python b.py -p shape_predictor_68_face_landmarks.dat