金子邦彦研究室人工知能Windows で動く人工知能関係 Pythonアプリケーション,オープンソースソフトウエア)TobiasRoeddiger/PupilTracker のインストールと動作確認(瞳孔の検出)(Dlib,Python を使用)(Windows 上)

TobiasRoeddiger/PupilTracker のインストールと動作確認(瞳孔の検出)(Dlib,Python を使用)(Windows 上)

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

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

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

サイト内の関連ページ

先人に感謝

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

前準備

Git のインストール(Windows 上)

Gitは,バージョン管理システム.ソースコードの管理や複数人での共同に役立つ.

サイト内の関連ページ

Windows での Git のインストール: 別ページ »で説明している.

関連する外部ページ

Git の公式ページ: https://git-scm.com/

CMake のインストール

CMake の公式ダウンロードページ: https://cmake.org/download/

7-Zip のインストール(Windows 上)

7-Zip 23.01 のインストール

7-Zipは,ファイルの圧縮や展開のツール.さまざまなフォーマットに対応している.

Windows では, コマンドプロンプトを管理者として開き, 次のコマンドを実行することにより, 7-Zip 23.01 のインストールを行うことができる.

mkdir %HOMEPATH%\7zip
cd %HOMEPATH%\7zip
curl -O https://www.7-zip.org/a/7z2301-x64.exe
.\7z2301-x64.exe
powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";c:\Program Files\7-Zip\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"

サイト内の関連ページ

Windows での 7-Zip のインストール: 別ページ »で説明している.

関連する外部ページ

7-Zip の公式ページ: https://sevenzip.osdn.jp/

Python のインストール(Windows 上)

サイト内の関連ページ

関連する外部ページ

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

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

サイト内の関連ページ

関連する外部ページ

Dlib のインストール

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

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

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

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

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

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

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

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

    次のコマンドを実行.

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

    次のコマンドを実行.

    cd C:\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
    

Python の opencv-python のインストール

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

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

  2. opencv-python のインストール

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

    python -m pip install -U opencv-python opencv-contrib-python
    

imutils のインストール

  1. Window でコマンドプロンプトを実行
  2. imutils のインストール
    cd %HOMEPATH%
    rmdir /s /q imutils
    

    [image]

    cd %HOMEPATH%
    git clone https://github.com/jrosebr1/imutils
    cd imutils
    python setup.py build
    python setup.py install 
    

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

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

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

    [image]

ビデオの準備

ここで使用するビデオ

mp4 形式動画ファイル: sample1.mp4

[image]

作業手順

  1. Windows のコマンドプロンプトを開く
  2. ダウンロード

    次のコマンドを実行.

    cd C:\dlib
    cd python_examples
    curl -O https://www.kkaneko.jp/sample/face/sample1.mp4
    

TobiasRoeddiger/PupilTracker のダウンロード

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

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

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

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

  2. TobiasRoeddiger/PupilTracker のダウンロード
    cd %HOMEPATH%
    rmdir /s /q PupilTracker
    

    [image]

    cd %HOMEPATH%
    git clone https://github.com/TobiasRoeddiger/PupilTracker
    

    [image]

TobiasRoeddiger/PupilTracker による瞳孔の検知

[image]
  1. Window でコマンドプロンプトを実行
  2. shape_predictor_68_face_landmarks.dat のコピー

    次のコマンドを実行.

    cd %HOMEPATH%\PupilTracker
    copy ..\dlib\python_examples\shape_predictor_68_face_landmarks.dat .
    
  3. 次のコマンドを実行.
    cd %HOMEPATH%\PupilTracker
    copy pupil_tracker.py a.py
    

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

    エディタを使う

    書き換え1つめ

    書き換え前

    [image]

    書き換え後

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

    [image]

    書き換え2つめ

    書き換え前

    [image]

    書き換え後

    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)

    [image]
  5. Python プログラムの実行

    python a.py -p shape_predictor_68_face_landmarks.dat
    

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

    次のコマンドを実行.

    copy a.py b.py
    
  7. プログラムファイル b.pysample1.mp4 を使うように書き換え

    エディタを使う

    書き換え前

    [image]

    書き換え後

    cap = cv2.VideoCapture(0)

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

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

    python b.py -p shape_predictor_68_face_landmarks.dat
    

    [image]