Python の Dlib ライブラリ,face_recognition のインストールと動作確認(顔検出,顔ランドマーク,顔識別)(Python を使用)(Windows 上)
- 前準備
- Python の Dlib ライブラリのインストール,Dlib のソースコードと学習済みモデルのダウンロード
- Dlib に付属のサンプルプログラム(examples 下)のビルド
- 画像分類,物体検出,トラッキング・ビジョン,犬の顔画像への眼鏡のあてはめ(Dlib に付属のサンプルプログラムを使用)
- Dlib による顔検出(Python を使用)
- Dlib による顔ランドマークの検出(Python を使用)
- Dlib による顔のアラインメント,顔データのデータ拡張,5ランドマーク,68 ランドマーク,顔のコード化(Python を使用)
- ageitgey の face_recognition のインストール
- ageitgey の face_recognition による顔識別(Python を使用)
【サイト内の関連ページ】
- 説明資料: Dlib の機能概要 [PDF], [パワーポイント]
- 顔情報処理の Python プログラム(Dlib,face_recognition を使用) について: 別ページ »にまとめ
- Windows で動く人工知能関係 Pythonアプリケーション,オープンソースソフトウエア): 別ページ »にまとめている.
【用語説明】
- Dlib
Dlibは,機械学習,数値計算,グラフィカルモデル推論,画像処理,スレッド,通信,GUI,データ圧縮,テストなどの機能を持つ C++ ライブラリである.Python API もある.
- 顔検出 (face detection)
Dlib には,Convolutional Neural Network (CNN) による顔検出の機能がある.
Dlib による顔検出の例
顔検出が行われ,顔を囲むバウンディングボックス (bounding box) が表示される.
バウンディングボックスの座標値が数値データとして得られる.
- 顔ランドマークの検出 (face landmark detection)
回帰木のアンサンブル (ensemble of regression trees) により,顔ごとに最大 68 個のランドマーク (68 landmarks) を得る.
顔を囲むバウンディングボックス (bounding box) と,顔のランドマークが表示される.
1. 前準備
Build Tools for Visual Studio 2026(ビルドツール)のインストール
Build Tools for Visual Studio 2026(ビルドツール)のインストールを行い、C/C++ コードのビルド環境を整える。
Build Tools for Visual Studio は,Visual Studio の IDE を含まない C/C++ コンパイラ,ライブラリ,ビルドツール等のコマンドライン向け開発ツールセットである。インストール済みの場合,この手順は不要である。 以下のコマンドは、Build Tools が未インストールの場合は winget で新規インストールし、インストール済みの場合は 【インストールコマンドの実行方法】 管理者権限でコマンドプロンプトを起動する(手順:Windows キーまたはスタートメニュー → 上記のコマンドでは、Build Tools 本体と Visual C++ 再頒布可能パッケージをインストールし、続いて以下のコンポーネントを追加している。 追加のコンポーネントが必要になった場合は Visual Studio Installer で個別にインストールできる。 インストール完了の確認 Visual Studio を必要とするとき Visual Studio の機能を必要とする場合は,追加インストールできる。[Build Tools for Visual Studio 2026(ビルドツール)のインストール手順を見るには、ここをクリック]
Windows での Build Tools for Visual Studio 2026 のインストール
setup.exe modify でコンポーネントを追加する(バージョンは変更しない)。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
--includeRecommended により、MSVC コンパイラ、C++ AddressSanitizer、vcpkg、CMake ツール、Windows 11 SDK 等の推奨コンポーネントが含まれる)winget list Microsoft.VisualStudio.BuildTools
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:インストーラーによるインストール
- Python公式サイト(https://www.python.org/downloads/)にアクセスし、「Download Python 3.x.x」ボタンからWindows用インストーラーをダウンロードする。
- ダウンロードしたインストーラーを実行する。
- 初期画面の下部に表示される「Add python.exe to PATH」にチェックを入れてから「Customize installation」を選択する。このチェックを入れ忘れると、コマンドプロンプトから
pythonコマンドを実行できない。 - 「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のインストール
- 前提条件: NVIDIA GPU,NVIDIA ドライバ,および Build Tools for Visual Studio もしくは Visual Studio が必要である.
- NVIDIA CUDA Toolkit 12.8 は,Visual Studio 2026 の MSVC を公式にはサポートしていない(公式サポートは NVIDIA CUDA Toolkit 13.2 以降).このため,後の cmake の操作では -allow-unsupported-compiler を指定する.
以下のコマンドを管理者権限のコマンドプロンプトで実行する
(手順: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 のソースコードと学習済みモデルのダウンロード
- 以下の手順を管理者権限のコマンドプロンプトで実行する
(手順:Windowsキーまたはスタートメニュー →
cmdと入力 → 右クリック → 「管理者として実行」)。 - Python の Dlib ライブラリのインストール
PyPI の dlib はソース配布のみであり,インストール時にビルドが行われる. ここでは,Dlib のソースコードを取得して C:\dlib に置き,そこからビルドしてインストールする. このソースコードは,後の手順のサンプルプログラムでも使用する.
DLIB_GIF_SUPPORT を OFF にすると,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 .
(以下省略) - Python のdlib ライブラリがインストールできたことの確認
バージョン番号が表示されれば OK.下の図とは違うバージョンが表示されることがある.
python -c "import dlib; print( dlib.__version__ )"
- 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
- 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 の記述に従う.
- 以下の操作を管理者権限のコマンドプロンプトで実行する
(手順: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
- 結果の確認
エラーメッセージが出ていないことを確認する.
- ビルド操作
cmake --build . --config Release
- 結果の確認.エラーメッセージが出ていないことを確認する.
4. 画像分類,物体検出,トラッキング・ビジョン,犬の顔画像への眼鏡のあてはめ(Dlib に付属のサンプルプログラムを使用)
画像分類
- 学習済みモデルのダウンロード
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
- 画像分類の実行
画像分類の対象の画像は,「..\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 による顔検出を行う.
- Dlib に同封の顔画像のファイルを確認する
C:\dlib\examples\faces の下にある.
- Windows のコマンドプロンプトを開く
(手順:Windowsキーまたはスタートメニュー →
cmdと入力 →「コマンドプロンプト」を選択)。 - 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
- 「RuntimeError: Unable to open mmod_human_face_detector.dat for reading」というエラーメッセージが出たときは,
上の「学習済みモデルのダウンロード」をやり直して,もう一度実行する.
- 別の画像で試す
cd C:\dlib cd python_examples python cnn_face_detector.py mmod_human_face_detector.dat ..\examples\faces\2008_001009.jpg
- さらに別の画像で試す
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 を使用)
顔のアラインメント
- Windows のコマンドプロンプトを開く
(手順:Windowsキーまたはスタートメニュー →
cmdと入力 →「コマンドプロンプト」を選択)。 - Python プログラムの実行
cd C:\dlib cd python_examples python face_alignment.py shape_predictor_68_face_landmarks.dat ..\examples\faces\2007_007763.jpg
- Enter キーを複数回押して、結果を確認
顔データのデータ拡張
データ拡張 (data augmentation) は,学習用のデータを増やす操作である.
- 実行する
cd C:\dlib cd python_examples python face_jitter.py shape_predictor_68_face_landmarks.dat元画像として何を使うかは,プログラム中で設定されている.
- Enter キーを複数回押して、結果を確認
5ランドマーク
- 実行する
cd C:\dlib cd python_examples python face_landmark_detection.py shape_predictor_5_face_landmarks.dat ..\examples\faces
- Enter キーを複数回押して、結果を確認
68 ランドマーク
- 実行する
cd C:\dlib cd python_examples python face_landmark_detection.py shape_predictor_68_face_landmarks.dat ..\examples\faces
- Enter キーを複数回押して、結果を確認
顔のコード化(5ランドマークを使用)
- 実行する
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個の数値(特徴量ベクトル)が得られることを確認
- Enter キーを複数回押して、結果を確認
顔のコード化(68 ランドマークを使用)
- 実行する
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個の数値(特徴量ベクトル)が得られることを確認
- Enter キーを複数回押して、結果を確認
8. ageitgey の face_recognition のインストール
- 以下の手順を管理者権限のコマンドプロンプトで実行する
(手順:Windowsキーまたはスタートメニュー →
cmdと入力 → 右クリック → 「管理者として実行」)。 - numpy, scikit-image, scikit-learn のインストール
次のコマンドを実行する.
python -m pip install -U numpy scikit-image scikit-learn - 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 . - インストールできたことの確認
次のコマンドを実行する.エラーメッセージが出なければ OK.
python -c "import face_recognition; print( face_recognition.__version__ )"
9. ageitgey の face_recognition による顔識別(Python を使用)
ファイルとディレクトリの準備
- Windows のコマンドプロンプトを開く
(手順:Windowsキーまたはスタートメニュー →
cmdと入力 →「コマンドプロンプト」を選択)。 - 2つのディレクトリ known_people, unknown_pictures を作る
コマンドプロンプトで次のコマンドを実行する.
mkdir %USERPROFILE%\face_recognition\known_people mkdir %USERPROFILE%\face_recognition\unknown_pictures
- 顔画像の準備
%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
- ディレクトリ known_people の下に 2つの画像ファイルがあることを確認
-
%USERPROFILE%\face_recognition\examples
にある顔画像のファイル
「two_people.jpg」を,先ほど作成した
ディレクトリ unknown_pictures の下にコピーする.
copy %USERPROFILE%\face_recognition\examples\two_people.jpg %USERPROFILE%\face_recognition\unknown_pictures
- ディレクトリ 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