Python の Dlib ライブラリ,face_recognition のインストールと動作確認(顔検出,顔ランドマーク,顔識別)(Python を使用)(Windows 上)

目次
  1. 前準備
  2. Python の Dlib ライブラリのインストール,Dlib のソースコードと学習済みモデルのダウンロード
  3. Dlib に付属のサンプルプログラム(examples 下)のビルド
  4. 画像分類,物体検出,トラッキング・ビジョン,犬の顔画像への眼鏡のあてはめ(Dlib に付属のサンプルプログラムを使用)
  5. Dlib による顔検出(Python を使用)
  6. Dlib による顔ランドマークの検出(Python を使用)
  7. Dlib による顔のアラインメント,顔データのデータ拡張,5ランドマーク,68 ランドマーク,顔のコード化(Python を使用)
  8. ageitgey の face_recognition のインストール
  9. ageitgey の face_recognition による顔識別(Python を使用)

サイト内の関連ページ

用語説明

1. 前準備

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

Build Tools for Visual Studio 2026(ビルドツール)のインストールを行い、C/C++ コードのビルド環境を整える。

[Build Tools for Visual Studio 2026(ビルドツール)のインストール手順を見るには、ここをクリック]

Windows での Build Tools for Visual Studio 2026 のインストール

Build Tools for Visual Studio は,Visual Studio の IDE を含まない C/C++ コンパイラ,ライブラリ,ビルドツール等のコマンドライン向け開発ツールセットである。インストール済みの場合,この手順は不要である。

以下のコマンドは、Build Tools が未インストールの場合は winget で新規インストールし、インストール済みの場合は setup.exe modify でコンポーネントを追加する(バージョンは変更しない)。

インストールコマンドの実行方法

管理者権限コマンドプロンプトを起動する(手順:Windows キーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。そして、コマンド全体をコマンドプロンプトにコピー&ペーストする。

REM ============================================================
REM Visual C++ 再頒布可能パッケージ (VCRedist 2015-)
REM ============================================================
winget install --scope machine --id Microsoft.VCRedist.2015+.x64 -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "/quiet /norestart"
if not "%ERRORLEVEL%"=="0" ( color 0c & echo VCRedist のインストールに失敗しました & ping 127.0.0.1 -n 6 >nul & color )

REM ============================================================
REM Visual Studio Build Tools + Desktop development with C++
REM (VCTools、MSBuildTools、CMake連携、Clang、Windows 11 SDK)
REM ============================================================
REM 進行中のインストーラーを停止(ロック競合回避。対象プロセスが存在しない場合は
REM taskkillがエラーを返すが、これは想定内であるため出力のみ抑制する)
taskkill /F /IM vs_setup.exe /T >nul 2>&1
taskkill /F /IM vs_installer.exe /T >nul 2>&1
taskkill /F /IM vs_installerservice.exe /T >nul 2>&1
taskkill /F /IM msiexec.exe /T >nul 2>&1

REM Build Tools + Desktop development with C++(VCTools)+ 追加コンポーネント(一括)
REM 未インストール時: winget で新規インストール
REM インストール済み時: setup.exe modify でコンポーネント追加(バージョンは変更しない)
winget list --id Microsoft.VisualStudio.BuildTools 2>nul | findstr /i "BuildTools" >nul 2>&1
if %ERRORLEVEL% EQU 0 (
    for /f "usebackq delims=" %P in (`"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -products Microsoft.VisualStudio.Product.BuildTools -property installationPath`) do start /wait "" "C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe" modify --installPath "%P" --add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Workload.MSBuildTools --add Microsoft.VisualStudio.Component.VC.CMake.Project --add Microsoft.VisualStudio.Component.VC.Llvm.Clang --add Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset --add Microsoft.VisualStudio.Component.Windows11SDK.26100 --add Microsoft.VisualStudio.Component.VC.v143.x86.x64 --includeRecommended --quiet --norestart --nocache
    if not "%ERRORLEVEL%"=="0" ( color 0c & echo Build Tools のコンポーネント追加に失敗しました & ping 127.0.0.1 -n 6 >nul & color )
) else (
    winget install --scope machine --id Microsoft.VisualStudio.BuildTools -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "--quiet --wait --norestart --nocache --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended --add Microsoft.VisualStudio.Workload.MSBuildTools --add Microsoft.VisualStudio.Component.VC.CMake.Project --add Microsoft.VisualStudio.Component.VC.Llvm.Clang --add Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset --add Microsoft.VisualStudio.Component.Windows11SDK.26100 --add Microsoft.VisualStudio.Component.VC.v143.x86.x64"
    if not "%ERRORLEVEL%"=="0" ( color 0c & echo Build Tools のインストールに失敗しました & ping 127.0.0.1 -n 6 >nul & color )
)

REM
REM BuildTools のインストールパスを vswhere.exe で取得(メジャーバージョンに依存しない)
set "VSWHERE=C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe"
set "BT_PATH="
for /f "usebackq delims=" %P in (`"%VSWHERE%" -products Microsoft.VisualStudio.Product.BuildTools -property installationPath`) do set "BT_PATH=%P"
if not defined BT_PATH ( color 0c & echo Build Tools のインストールパスを取得できませんでした & ping 127.0.0.1 -n 6 >nul & color )

REM 破損時の修復(任意、動作がおかしくなった場合)
REM if defined BT_PATH "C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe" repair --installPath "%BT_PATH%" --quiet --norestart
REM 導入確認(インストールパスが表示されれば正常)
"%VSWHERE%" -products * -requires Microsoft.VisualStudio.Workload.VCTools -property installationPath

上記のコマンドでは、Build Tools 本体と Visual C++ 再頒布可能パッケージをインストールし、続いて以下のコンポーネントを追加している。

追加のコンポーネントが必要になった場合は Visual Studio Installer で個別にインストールできる。

インストール完了の確認

winget list Microsoft.VisualStudio.BuildTools

Visual Studio を必要とするとき

Visual Studio の機能を必要とする場合は,追加インストールできる。

Python 3.12 のインストール

Pythonのインストールを行い、Pythonのプログラムを実行する環境を整える。扱う環境は、Windows搭載パソコンである。金子研究室では、Python 3.12.10を推奨する。

[Windows での Python 3.12 のインストール手順を見るには、ここをクリック]

Windows での Python 3.12 のインストール

以下のいずれかの方法でPython 3.12をインストールする。Pythonがインストール済みの場合、この手順は不要である。

方法 1:winget によるインストール

インストールコマンドの実行方法

管理者権限コマンドプロンプトを起動する(手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。そして、コマンド全体をコマンドプロンプトにコピー&ペーストする。

--scope machine を指定することで、システム全体(全ユーザー向け)にインストールされる。このオプションの実行には管理者権限が必要である。インストール完了後、コマンドプロンプトを再起動するとPATHが反映される。

REM Python 3.12 をシステム領域にインストール
winget install --id Python.Python.3.12 -e --scope machine --silent --accept-source-agreements --accept-package-agreements --override "/quiet InstallAllUsers=1 PrependPath=1 Include_test=0 Include_pip=1 Include_launcher=1 InstallLauncherAllUsers=1 TargetDir=\"C:\Program Files\Python312\""
if not "%ERRORLEVEL%"=="0" ( color 0c & echo Python 3.12 のインストールに失敗しました & ping 127.0.0.1 -n 6 >nul & color )

REM Python と Scripts を PATH 先頭に追加
powershell -NoProfile -Command "$p='C:\Program Files\Python312'; $s=\"$p\Scripts\"; if(Test-Path $p){$k=[Microsoft.Win32.Registry]::LocalMachine.OpenSubKey('SYSTEM\CurrentControlSet\Control\Session Manager\Environment',$true); $c=$k.GetValue('Path','',[Microsoft.Win32.RegistryValueOptions]::DoNotExpandEnvironmentNames); $t=$k.GetValueKind('Path'); $new=$c; if((';'+$new+';') -notlike \"*;$p;*\"){$new=$p+';'+$new}; if((';'+$new+';') -notlike \"*;$s;*\"){$new=$s+';'+$new}; if($new -ne $c){$k.SetValue('Path',$new,$t)}; $k.Close()}"

REM 現在のセッションにも反映(システムPATHを再取得して連結)
for /f "usebackq tokens=2,*" %A in (`reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path`) do set "PATH=%B"

REM pip / wheel の更新
python -m pip install --no-user -U pip wheel
if not "%ERRORLEVEL%"=="0" ( color 0c & echo pip / wheel の更新に失敗しました & ping 127.0.0.1 -n 6 >nul & color )

方法 2:インストーラーによるインストール

  1. Python公式サイト(https://www.python.org/downloads/)にアクセスし、「Download Python 3.x.x」ボタンからWindows用インストーラーをダウンロードする。
  2. ダウンロードしたインストーラーを実行する。
  3. 初期画面の下部に表示される「Add python.exe to PATH」にチェックを入れてから「Customize installation」を選択する。このチェックを入れ忘れると、コマンドプロンプトから python コマンドを実行できない。
  4. 「Install Python 3.xx for all users」にチェックを入れ、「Install」をクリックする。

インストールの確認

コマンドプロンプトで以下を実行する。

python --version

バージョン番号(例:Python 3.12.x)が表示されればインストール成功である。「'python' は、内部コマンドまたは外部コマンドとして認識されていません。」と表示される場合は、インストールが正常に完了していない。

Git のインストール(Windows 上) [クリックして展開]

管理者権限コマンドプロンプトで以下を実行する。管理者権限のコマンドプロンプトを起動するには、Windows キーまたはスタートメニューから「cmd」と入力し、表示された「コマンドプロンプト」を右クリックして「管理者として実行」を選択する。管理者権限は、winget の --scope machine オプションでシステム全体にインストールするために必要である。

REM Git をシステム領域にインストール
winget install --scope machine --id Git.Git -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "/VERYSILENT /NORESTART /NOCANCEL /SP- /CLOSEAPPLICATIONS /RESTARTAPPLICATIONS /COMPONENTS=""icons,ext\reg\shellhere,assoc,assoc_sh"" /o:PathOption=Cmd /o:CRLFOption=CRLFCommitAsIs /o:BashTerminalOption=MinTTY /o:DefaultBranchOption=main /o:EditorOption=VIM /o:SSHOption=OpenSSH /o:UseCredentialManager=Enabled /o:PerformanceTweaksFSCache=Enabled /o:EnableSymlinks=Disabled /o:EnableFSMonitor=Disabled"

CMakeのインストール(Windows 上) [クリックして展開]

管理者権限コマンドプロンプトで以下を実行する。管理者権限のコマンドプロンプトを起動するには、Windows キーまたはスタートメニューから「cmd」と入力し、表示された「コマンドプロンプト」を右クリックして「管理者として実行」を選択する。

REM CMake をシステム領域にインストール
winget install --scope machine --id Kitware.CMake -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "/qn /norestart ADD_CMAKE_TO_PATH=System"

7-Zip のインストール(Windows 上) [クリックして展開]

管理者権限コマンドプロンプトで以下を実行する。管理者権限のコマンドプロンプトを起動するには、Windows キーまたはスタートメニューから「cmd」と入力し、表示された「コマンドプロンプト」を右クリックして「管理者として実行」を選択する。

REM 7-Zip をシステム領域にインストール
winget install --scope machine --id 7zip.7zip -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements
REM 7-Zip のパス設定
powershell -NoProfile -Command "$p='C:\Program Files\7-Zip'; $c=[Environment]::GetEnvironmentVariable('Path','Machine'); if((Test-Path $p) -and $c -notlike \"*$p*\"){[Environment]::SetEnvironmentVariable('Path',\"$p;$c\",'Machine')}"

NVIDIA CUDA Toolkit 12.8のインストール

以下のコマンドを管理者権限コマンドプロンプトで実行する (手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。

REM NVIDIA CUDA Toolkit 12.8 をシステム領域にインストール
winget install --scope machine --id Nvidia.CUDA --version 12.8 -e --silent --disable-interactivity --force --uninstall-previous --accept-source-agreements --accept-package-agreements --override "-s -n"

REM 環境変数TEMP, TMPの設定(一時ファイルの保存先を短いパスに変更)
mkdir C:\TEMP
set "TEMP_PATH=C:\TEMP"
setx TEMP "%TEMP_PATH%" /M >nul
setx TMP "%TEMP_PATH%" /M >nul

2. Python の Dlib ライブラリのインストール,Dlib のソースコードと学習済みモデルのダウンロード

  1. 以下の手順を管理者権限コマンドプロンプトで実行する (手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。
  2. Python の Dlib ライブラリのインストール

    PyPI の dlib はソース配布のみであり,インストール時にビルドが行われる. ここでは,Dlib のソースコードを取得して C:\dlib に置き,そこからビルドしてインストールする. このソースコードは,後の手順のサンプルプログラムでも使用する.

    DLIB_GIF_SUPPORTOFF にすると,GIF 画像の読み込み機能を除いてビルドされる. Dlib の setup.py は,DLIB_ で始まる環境変数を cmake のオプションとして扱う.

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

    python -m pip uninstall -y dlib
    cd C:\
    rmdir /s /q dlib
    git clone https://github.com/davisking/dlib
    cd C:\dlib
    set DLIB_GIF_SUPPORT=OFF
    python -m pip install .
    

    (以下省略)
  3. Python のdlib ライブラリがインストールできたことの確認
    バージョン番号が表示されれば OK.下の図とは違うバージョンが表示されることがある.
    python -c "import dlib; print( dlib.__version__ )"
    
  4. 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
    
  5. Dlib の動作確認のため,次を実行する.エラーメッセージが出ず,顔検出の結果が表示されれば OK とする.
    cd C:\dlib
    cd python_examples
    python cnn_face_detector.py mmod_human_face_detector.dat ..\examples\faces\2007_007763.jpg
    

3. Dlib に付属のサンプルプログラム(examples 下)のビルド

Dlib に付属のサンプルプログラムは,C:\dlib\examples の下にある.次の手順でビルドする.

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

  1. 以下の操作を管理者権限コマンドプロンプトで実行する (手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。

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

    cd C:\dlib
    cd examples
    rmdir /s /q build
    mkdir build
    cd build
    cmake .. -A x64 -T host=x64 ^
        -DCUDA_SDK_ROOT_DIR="c:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.8" ^
        -DCUDA_TOOLKIT_ROOT_DIR="c:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.8" ^
        -DCUDA_NVCC_FLAGS="-allow-unsupported-compiler" ^
        -DCUDA_NVCC_FLAGS_DEBUG="-allow-unsupported-compiler" ^
        -DCMAKE_INSTALL_PREFIX=c:/dlib ^
        -DDLIB_GIF_SUPPORT=OFF
    
  2. 結果の確認

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

  3. ビルド操作
    cmake --build . --config Release
    
  4. 結果の確認.エラーメッセージが出ていないことを確認する.

4. 画像分類,物体検出,トラッキング・ビジョン,犬の顔画像への眼鏡のあてはめ(Dlib に付属のサンプルプログラムを使用)

画像分類

画像分類:1つの画像から,所定のラベルのうち1つ,または複数を推定すること.推定結果を確率とともに得ることもある.
Dlib は C:\dlib にインストールされているとする.
  1. 学習済みモデルのダウンロード
    cd C:\dlib
    cd examples\build
    curl -O http://dlib.net/files/resnet34_1000_imagenet_classifier.dnn.bz2
    "c:\Program Files\7-Zip\7z.exe" x resnet34_1000_imagenet_classifier.dnn.bz2
    
  2. 画像分類の実行

    画像分類の対象の画像は,「..\faces\*.jpg」で指定している.

    cd C:\dlib
    cd examples\build
    for %i in (..\faces\*.jpg) do .\release\dnn_imagenet_ex %i
    

画像分類の対象の画像

物体検出(Max-Margin Object Detection を使用)

物体検出:画像から,ある種類の物体を検出し,その位置と大きさを得る.1つの画像の中に物体が複数あることもある.

Max-Margin 物体検出法により,Dlib による物体検出が行われる.文献は次の通り.

Davis E. King, Max-Margin Object Detection, CoRR, abs/1502.00046, 2015.

学習済みモデルのダウンロード

cd C:\dlib
cd examples\build
curl -O http://dlib.net/files/mmod_rear_end_vehicle_detector.dat.bz2
"c:\Program Files\7-Zip\7z.exe" x mmod_rear_end_vehicle_detector.dat.bz2

物体検出の実行(車の背面)

cd C:\dlib
cd examples\build
.\release\dnn_mmod_find_cars_ex

学習済みモデルのダウンロード

cd C:\dlib
cd examples\build
curl -O http://dlib.net/files/mmod_front_and_rear_end_vehicle_detector.dat.bz2
"c:\Program Files\7-Zip\7z.exe" x mmod_front_and_rear_end_vehicle_detector.dat.bz2

物体検出の実行(車の正面と背面)

cd C:\dlib
cd examples\build
.\release\dnn_mmod_find_cars2_ex

トラッキング・ビジョン(correlation_tracker を使用)

cd C:\dlib
cd examples\build
.\release\video_tracking_ex ..\video_frames

犬の顔画像への眼鏡のあてはめ(顔のランドマーク検出による)

学習済みモデルのダウンロード

cd C:\dlib
cd examples\build
curl -O http://dlib.net/files/mmod_dog_hipsterizer.dat.bz2
"c:\Program Files\7-Zip\7z.exe" x mmod_dog_hipsterizer.dat.bz2

実行する.

cd C:\dlib
cd examples\build
.\release\dnn_mmod_dog_hipsterizer mmod_dog_hipsterizer.dat ..\faces\dogs.jpg

5. Dlib による顔検出(Python を使用)

Dlib による顔検出を行う.

  1. Dlib に同封の顔画像のファイルを確認する

    C:\dlib\examples\faces の下にある.

  2. Windowsコマンドプロンプトを開く (手順:Windowsキーまたはスタートメニュー → cmd と入力 →「コマンドプロンプト」を選択)。
  3. Python プログラムの実行
    cd C:\dlib
    cd python_examples
    python cnn_face_detector.py mmod_human_face_detector.dat ..\examples\faces\2007_007763.jpg
    

    結果が表示されるまで少し待つ.

    うまく動かないときの対処
    • RuntimeError: Unable to open mmod_human_face_detector.dat for reading」というエラーメッセージが出たときは, 上の「学習済みモデルのダウンロード」をやり直して,もう一度実行する.
    • python にパスが通っていないときは実行できない. パスが通っているかは,次のコマンドで確認する.パスが表示されなければ,Python のインストールをやり直す.
      where python
      
  4. 別の画像で試す
    cd C:\dlib
    cd python_examples
    python cnn_face_detector.py mmod_human_face_detector.dat ..\examples\faces\2008_001009.jpg
    
  5. さらに別の画像で試す
    cd C:\dlib
    cd python_examples
    python cnn_face_detector.py mmod_human_face_detector.dat ..\examples\faces\2008_001322.jpg
    

6. Dlib による顔ランドマークの検出(Python を使用)

顔ランドマークの検出 (face landmark detection) のサンプルプログラムを実行する.

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

cd C:\dlib
cd python_examples
python face_landmark_detection.py shape_predictor_68_face_landmarks.dat ..\examples\faces\

7. Dlib による顔のアラインメント,顔データのデータ拡張,5ランドマーク,68 ランドマーク,顔のコード化(Python を使用)

顔のアラインメント

  1. Windowsコマンドプロンプトを開く (手順:Windowsキーまたはスタートメニュー → cmd と入力 →「コマンドプロンプト」を選択)。
  2. Python プログラムの実行
    cd C:\dlib
    cd python_examples
    python face_alignment.py shape_predictor_68_face_landmarks.dat ..\examples\faces\2007_007763.jpg
    
  3. Enter キーを複数回押して、結果を確認

顔データのデータ拡張

データ拡張 (data augmentation) は,学習用のデータを増やす操作である.

  1. 実行する
    cd C:\dlib
    cd python_examples
    python face_jitter.py shape_predictor_68_face_landmarks.dat
    

    元画像として何を使うかは,プログラム中で設定されている.

  2. Enter キーを複数回押して、結果を確認

5ランドマーク

  1. 実行する
    cd C:\dlib
    cd python_examples
    python face_landmark_detection.py shape_predictor_5_face_landmarks.dat ..\examples\faces
    
  2. Enter キーを複数回押して、結果を確認

68 ランドマーク

  1. 実行する
    cd C:\dlib
    cd python_examples
    python face_landmark_detection.py shape_predictor_68_face_landmarks.dat ..\examples\faces
    
  2. Enter キーを複数回押して、結果を確認

顔のコード化(5ランドマークを使用)

  1. 実行する
    cd C:\dlib
    cd python_examples
    python face_recognition.py shape_predictor_5_face_landmarks.dat dlib_face_recognition_resnet_model_v1.dat ..\examples\faces
    

    顔ごとに 128個の数値(特徴量ベクトル)が得られることを確認

  2. Enter キーを複数回押して、結果を確認

顔のコード化(68 ランドマークを使用)

  1. 実行する
    cd C:\dlib
    cd python_examples
    python face_recognition.py shape_predictor_68_face_landmarks.dat dlib_face_recognition_resnet_model_v1.dat ..\examples\faces
    

    顔ごとに 128個の数値(特徴量ベクトル)が得られることを確認

  2. Enter キーを複数回押して、結果を確認

8. ageitgey の face_recognition のインストール

  1. 以下の手順を管理者権限コマンドプロンプトで実行する (手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。
  2. numpy, scikit-image, scikit-learn のインストール

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

    python -m pip install -U numpy scikit-image scikit-learn
    
  3. face_recognition のインストール

    face_recognition が使用する face_recognition_models は,pkg_resources を使用する. pkg_resources は setuptools 82 で削除されたため,setuptools 82 未満を入れておく.

    cd /d %USERPROFILE%
    rmdir /s /q face_recognition
    git clone https://github.com/ageitgey/face_recognition
    cd face_recognition
    python -m pip install "setuptools<82"
    python -m pip install .
    
  4. インストールできたことの確認

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

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

9. ageitgey の face_recognition による顔識別(Python を使用)

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

  1. Windowsコマンドプロンプトを開く (手順:Windowsキーまたはスタートメニュー → cmd と入力 →「コマンドプロンプト」を選択)。
  2. 2つのディレクトリ known_people, unknown_pictures を作る

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

    mkdir %USERPROFILE%\face_recognition\known_people
    mkdir %USERPROFILE%\face_recognition\unknown_pictures
    
  3. 顔画像の準備

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

    copy %USERPROFILE%\face_recognition\examples\biden.jpg %USERPROFILE%\face_recognition\known_people
    copy %USERPROFILE%\face_recognition\examples\obama.jpg %USERPROFILE%\face_recognition\known_people
    
  4. ディレクトリ known_people の下に 2つの画像ファイルがあることを確認
  5. %USERPROFILE%\face_recognition\examples にある顔画像のファイル 「two_people.jpg」を,先ほど作成した ディレクトリ unknown_pictures の下にコピーする.
    copy %USERPROFILE%\face_recognition\examples\two_people.jpg %USERPROFILE%\face_recognition\unknown_pictures
    
  6. ディレクトリ unknown_pictures の下に画像ファイルがあることを確認

顔検出を行う

cd /d %USERPROFILE%\face_recognition
face_detection --model cnn unknown_pictures

表示される4つの数字は,顔領域の座標値である.

顔識別を行う

unknown_pictures の下にある画像ファイルを, known_people の下にある画像ファイルと照合して顔識別を行う.

cd /d %USERPROFILE%\face_recognition
face_recognition --show-distance true known_people unknown_pictures
* その他,Dlib を用いた顔検出,顔識別などについては, 別ページ »にまとめ