トップページインストール,使い方Windows の種々のソフトウェア(インストール,使い方)Dlib,face_recognition のインストール(ソースコードを使用)(Windows 上)

Dlib,face_recognition のインストール(ソースコードを使用)(Windows 上)

Windows で,Dlib の最新版をソースコードからビルドして,インストールする.

Dlib のインストールは,複数の方法がある.

Dlib は,機械学習などのライブラリ.顔認知,顔検出,顔特徴の抽出の機能もある. Dlib を用いた顔検出,顔識別,表情,顔分類,肌色領域推定については,別ページにまとめている.

Dlib の URL: http://dlib.net

目次

  1. 前準備(マイクロソフト C++ ビルドツール,Git, cmake, 7-Zip, Python のインストール)
  2. NVIDIA ドライバ,NVIDIA CUDA ツールキット, NVIDIA cuDNN のインストール
  3. Dlib のインストール
  4. 上の手順でうまく dlib をインストールできないとき
  5. ageitgey の face_recognition のインストール
  6. ageitgey の face_recognition で顔識別を行ってみる
  7. Dlib 付属のツール類 htmlify, Dlib の imglab のインストール
  8. Dlib のサンプルプログラムのビルド

サイト内の関連ページ

謝辞

Dlib の作者に感謝します

前準備

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

Build Tools for Visual Studio 2022 (ビルドツール for Visual Studio 2022)もしくはVisual Studio 2022 を,前もってインストールしておく.NVIDIA CUDA の nvcc を機能させるため.

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

Git のページ https://git-scm.com/ からダウンロードしてインストール:

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

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

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

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

NVIDIA ドライバ,NVIDIA CUDA ツールキット, NVIDIA cuDNN のインストール

GPU は,グラフィックス・プロセッシング・ユニットの略で、コンピュータグラフィックス関連の機能,乗算や加算の並列処理の機能などがある. NVIDIA CUDA ツールキット は,NVIDIA社が提供している GPU 用のプラットフォームである. NVIDIA 社のグラフィックス・カードが持つ GPU の機能を使うとき,NVIDIA CUDA ツールキット を利用することができる.

以下,インストールの注意点をまとめている. インストールと動作確認の詳細別ページで説明している.

① TensorFlow, PyTorch が必要とするNVIDIA CUDA ツールキットとNVIDIA cuDNN のバージョンの確認

② NVIDIA ドライバ,NVIDIA CUDA ツールキット,NVIDIA cuDNN のインストール

Windows での NVIDIA ドライバ,NVIDIA CUDA ツールキット 11.8,NVIDIA cuDNN v8.6 のインストールと動作確認: 別ページで説明している.

古いバージョンの NVIDIA CUDA ツールキットNVIDIA cuDNN のインストールも,だいたい,同じ手順になる.

以下,インストールの注意点をまとめている.

③ NVIDIA ドライバ,NVIDIA CUDA ツールキット,NVIDIA cuDNN のインストールでの注意点まとめ

NVIDIA ドライバのインストールでの注意点まとめ(Windows 上)
NVIDIA CUDA ツールキットのインストールでの注意点まとめ(Windows 上)
NVIDIA cuDNN のインストールのインストールでの注意点まとめ(Windows 上)

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

① インストールする Python のバージョンの確認

TensorFlow,PyTorch のバージョンは何でもよい場合(TensorFlow,PyTorch の特定のバージョンを必要としない場合,あるいは,TensorFlow,PyTorch を必要としない場合)

TensorFlow,PyTorch のバージョンは何でも良い場合は, Python のバージョンはわりと自由に選ぶことができる. 2022年10月時点では, Python 3.10 を使う.

Python 3.10 の根拠:

使用したい TensorFlow, PyTorch が決まっている場合(あるいは,古いバージョンの Python を使いたい場合)

使用したい TensorFlow, PyTorch が決まっている場合(あるいは,古いバージョンの Python を使いたい場合)では, 次により, Python, TensorFlow, PyTorch のバージョンの組み合わせを確認する.

② Python のインストール

Python のインストールでの注意点

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

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

Python の公式ページ

http://www.python.org/

③ pip と setuptools の更新

Windows での pip と setuptools の更新

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

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

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

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

    [image]

【pip の利用】

Windows では,pip は,次のコマンドで起動できる:

pip または python -m pip または py -3.10 -m pip のようにバージョン指定.

Windows では,管理者として実行.

④ Python 開発環境として,Python コンソール(Jupyter Qt Console), Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, spyder のインストール

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

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

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

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

  2. 次のコマンドを実行する.

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

    [image]

Dlib のインストール

前準備として, Build Tools for Visual Studio 2022 (ビルドツール for Visual Studio 2022)もしくはVisual Studio 2022 のインストールを終えておくこと.

  1. Windows で,コマンドプロンプトを実行.
  2. cmake の確認

    端末で,次のコマンドを実行する.エラーメッセージが出なければ OK.

    where cmake
    

    [image]

    エラーメッセージが出たときは,Windows での cmake のインストールがうまく行われていない可能性がある.Windows での cmake のインストール: 別ページで説明している.

  3. Dlib のソースコードのダウンロード
    cd C:\
    rmdir /s /q dlib
    git clone https://github.com/davisking/dlib
    

    [image]

    古いバージョンの Dlib を使いたい場合には,次のように行う

    cd C:\
    curl -O http://dlib.net/files/dlib-19.19.zip
    "c:\Program Files\7-Zip\7z.exe" x dlib-19.19.zip
    move dlib-19.19 dlib
    
  4. cmake の操作

    cmake のオプションの 「Visual Studio 17 2022」のところは, 使用する Visual Studio のバージョンにあわせること. Visual Studio 2022 のときは,「Visual Studio 17 2022」. Visual Studio 2019 のときは,「Visual Studio 16 2019」.

    11.5」のところは,実際にインストールしている NVIDIA CUDA ツールキットのバージョンにあわせること.

    NVIDIA CUDA ツールキットを使わないときは「-DDLIB_USE_CUDA=NO」を付けて,そのことを指定する.

    cd C:\dlib
    rmdir /s /q build
    mkdir build
    cd build
    del CMakeCache.txt
    cmake .. -G "Visual Studio 17 2022" -A x64 -T host=x64 ^
        -DCUDA_SDK_ROOT_DIR="c:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.5" ^
        -DCUDA_TOOLKIT_ROOT_DIR="c:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.5" ^
        -D CUDA_NVCC_FLAGS="-allow-unsupported-compiler" ^
        -DCUDA_NVCC_FLAGS_DEBUG="-allow-unsupported-compiler" ^
        -DCMAKE_INSTALL_PREFIX=c:/dlib ^
        -DUSE_AVX_INSTRUCTIONS=1
    

    [image]
  5. cmake の結果の確認

    エラーメッセージが出ていないことを確認

    [image]

    このとき「CMake Error: The soruce directory ... does not appear to contain CMakeLists.txt」と表示されるかもしれない.

    [image]

    このときは,続行せず,次の手順で対処する.

    • 「dir ..」でファイル表示.このとき CMakeLists.txt があるか? 

      →無い場合,原因は,Dlib のソースコードのダウンロードを間違ったか,cd の操作を間違ったようである.このページを参考に,Dlib のソースコードのダウンロードのところからやり直す.

      →ある場合,原因は cmake のオプションに「..」を入れ忘れていたかもしれない.もう一度 cmake の実行をやり直してみる.

    CUDA との連携ができている場合には、 「DLIB WILL USE CUDA」と表示される

    CUDAと連携する Dlib を動かすには,NVIDIA CUDA ツールキットNVIDIA cuDNN のインストールが必要.

    NVIDIA CUDA ツールキットNVIDIA cuDNN のインストールは終わっているのに,「DLIB WILL USE CUDA」と表示されない場合がある.

    Windows のユーザ名が日本語のとき, ユーザ環境変数 TEMP に日本語が含まれることになり,nvcc がうまく動作しない可能性がある.

    この問題を回避するため. ユーザ環境変数 TEMP の設定を行う.

    ユーザ環境変数 TEMP に「C:\TEMP」を設定するために, コマンドプロンプトで,次のコマンドを実行する.

    mkdir C:\TEMP
    call powershell -command "[System.Environment]::SetEnvironmentVariable(\"TEMP\", \"C:\TEMP\", \"User\")"
    
  6. ビルド操作,インストール操作
    cmake --build . --config RELEASE --target INSTALL
    

    [image]
  7. 終了の確認

    エラーメッセージが出ていないことを確認

    [image]
  8. テスト(テストが不要なら,この操作は行わない)

    かなり時間がかかる.

    次を実行する.エラーメッセージが出ないことを確認.警告メッセージ(黄色)は無視してよい.

    「cd C:\dlib」の次に「cd dlib」があるのは書き間違いではない.

    このとき,赤字のエラーメッセージが出る場合があるが,無視しても問題なさそうである.

    cd C:\dlib
    cd dlib
    cd test
    rmdir /s /q build
    mkdir build
    cd build
    cmake ..
    cmake --build . --config Release
    

    引き続き,次を実行する. 時間がかかる.

    .\release\dtest --runall
    

    「All tests completed successfully」のように表示されたら問題ない.

    [image]

Python の dlib パッケージのインストール

  1. Windows で,コマンドプロンプト管理者として開く.
  2. 次のように操作する.
    python -m pip uninstall -y dlib
    cd C:\dlib
    setup.py build 
    python setup.py build 
    python setup.py install 
    
  3. 結果の確認

    エラーメッセージが出ていないことを確認

    [image]
  4. Python の dlib パッケージがインストールできたことの確認

    バージョン番号が表示されれば OK.下の図とは違うバージョンが表示されることがある.

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

    [image]

    dlib を用いた顔検出、顔識別などについては, 別ページにまとめている.

  5. Windowsシステム環境変数 Pathに,c:\dlib\bin追加することにより,パスを通す

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

    call powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";c:\dlib\bin\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
    

    [image]
  6. 学習済みデータなどのダウンロードと展開(解凍)

    端末で,次のコマンドを実行する.することにより, 顔識別などに利用できるファイルの ダウンロードと展開(解凍)が行われる. 次のコマンドを実行するには,curl と 7-Zip が必要である. curl のインストールは 別ページで説明している. 7-Zip のインストールは 別ページで説明している.

    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
    
  7. 動作確認

    Dlib の動作確認のため,次を実行.エラーメッセージが出ずに,顔検出の結果が表示されれば OK とする.

    cd C:\dlib
    cd python_examples
    python cnn_face_detector.py mmod_human_face_detector.dat ..\examples\faces\2007_007763.jpg
    

    [image]

    [image]
  8. 参考情報

    サイト内の別ページに Dlib の利用についてまとめているので,活用してください.

    https://www.kkaneko.jp/db/dlib/

上の手順でうまく dlib をインストールできないとき

上の手順でうまく dlib をインストールできないとき

このページでは, CUDA と連携させたい,最新版を使いたいという理由で, pip を用いずに,コマンド(手動)で,ソースコードをダウンロードし,ビルドしてインストールしている.

上の手順でうまくいかないときは,次の(1),(2),(3),(4)で解決する可能性がある.

(1)cmakeにパスが通っているかを確認する

(2)Python のインストール: 別ページで説明している.のときに, 「Install for all users」をチェックしなかった場合にトラブルが起きることがある. Python をインストールし直す(このとき, 「Install for all users」をチェック)と簡単に解決できる場合がある.

(3)なお,NVIDIA GPU と Visual Studio Community 2019 を使う場合には, CUDA バージョン 10.1 以上と,それに合う cuDNN をインストールすること.

(4)最新版のDlib でなく,古いバージョンの Dlib を使うと解決できる場合はある.その手順については,このWebページの上に説明がある.

(5)pip を用いて,インストール操作するとうまく動くようになる場合がある.その手順は次の通り.

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

    Windowsコマンドプロンプト管理者として実行するには, 検索窓で「cmd」と入れたあと, 右クリックメニューで「管理者として実行」を選ぶのが簡単.

    [image]
  2. 使用する Python のバージョンの確認
    python --version
    

    [image]
  3. パッケージのインストール

    dlib==19.19」とあるのはバージョン指定. 上の手順でうまく dlib をインストールできない場合は,別のバージョン(古いバージョンなど)を指定してインストールすることで,問題を回避できる可能性がある

    python -m pip install -U dlib==19.19 
    

    [image]
  4. Python の dlib パッケージがインストールできたことの確認

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

    [image]

ageitgey の face_recognition のインストール

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

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

cd %HOMEPATH%
rmdir /s /q face_recognition
git clone https://github.com/ageitgey/face_recognition
cd face_recognition
copy C:\dlib\python_examples\shape_predictor_68_face_landmarks.dat .
python setup.py build
python setup.py install 

ageitgey の face_recognition で顔識別を行ってみる

ファイルとディレクトリの準備

  1. Windows のコマンドプロンプトを開く
  2. 2つのディレクトリ known_people, unknown_pictures を作る

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

    mkdir %HOMEPATH%\face_recognition\known_people
    mkdir %HOMEPATH%\face_recognition\unknown_pictures
    

    [image]
  3. 顔画像の準備

    %HOMEPATH%\face_recognition\examples にある顔画像のファイル 「biden.jpg」と「obama.jpg」を,先ほど作成した ディレクトリ known_people の下にコピー

    copy %HOMEPATH%\face_recognition\examples\biden.jpg %HOMEPATH%\face_recognition\known_people
    copy %HOMEPATH%\face_recognition\examples\obama.jpg %HOMEPATH%\face_recognition\known_people
    

    [image]
  4. Windows で、ディレクトリ known_people の下に 2つの画像ファイルがあることを確認

    [image]
  5. %HOMEPATH%\face_recognition\examples にある顔画像のファイル 「two_people.jpg」を,先ほど作成した ディレクトリ unknown_pictures の下にコピー
    copy %HOMEPATH%\face_recognition\examples\two_people.jpg %HOMEPATH%\face_recognition\unknown_pictures
    

    [image]
  6. Windows で、ディレクトリ unknown_pictures の下に画像ファイルがあることを確認

    [image]

顔識別を行ってみる

unknown_pictures の下にある画像ファイルを、 known_people 下の画像ファイルを照合して顔識別を行うコマンド

cd %HOMEPATH%\face_recognition
face_recognition --show-distance true known_people unknown_pictures

[image]

顔検出を行ってみる

cd %HOMEPATH%\face_recognition
face_detection --model cnn unknown_pictures

表示される4つの数字は、顔領域の座標値

[image]

※ その他,Dlib を用いた顔検出、顔識別などについては, 別ページにまとめている.

Dlib 付属のツール類 htmlify, Dlib の imglab のインストール

今度は,Dlib 付属のツール類をインストールしたい

http://dlib.net/compile.html の記述に従う

  1. Windows で,コマンドプロンプト管理者として開く.
  2. htmlify のビルドとインストール
    cd C:\dlib
    cd tools\htmlify
    rmdir /s /q build
    mkdir build
    cd build
    cmake -G "Visual Studio 17 2022" -A x64 -T host=x64 ^
        -DCMAKE_INSTALL_PREFIX="c:\dlib" ..
    cmake --build . --config RELEASE 
    cmake --build . --config RELEASE --target INSTALL 
    

    結果を確認.エラーメッセージが出ていないこと

    [image]
  3. imglab のビルドとインストール
    cd C:\dlib
    cd tools\imglab
    rmdir /s /q build
    mkdir build
    cd build
    cmake -G "Visual Studio 17 2022" -A x64 -T host=x64 ^
        -DCMAKE_INSTALL_PREFIX="c:\dlib" ..
    cmake --build . --config RELEASE 
    cmake --build . --config RELEASE --target INSTALL 
    

    結果を確認.エラーメッセージが出ていないこと

    [image]

    imglab の使用法については 別ページで説明している.

Dlib のサンプルプログラムのビルド

今度は,examples をビルドしたい

http://dlib.net/compile.html の記述に従う

  1. Windows で,コマンドプロンプト管理者として開く.
    cd C:\dlib
    cd examples
    rmdir /s /q build
    mkdir build
    cd build
    cmake -G "Visual Studio 17 2022" -A x64 -T host=x64 ^
        -DCMAKE_INSTALL_PREFIX="c:\dlib" ..
    
  2. 結果の確認

    エラーメッセージが出ていないこと

  3. ビルド操作,インストール操作
    cmake --build . --config RELEASE
    

    結果を確認.エラーメッセージが出ていないこと

    [image]