トップページ人工知能,実世界DB顔情報(顔検出,顔識別,顔のクラスタリングや類似度や分類,肌色部分の抽出,瞳孔の検出,顔姿勢の推定)Dlib での画像分類,物体検出,顔検出,トラッキング・ビジョン,顔のランドマーク検出(Dlib 付属のプログラムを実行)

Dlib での画像分類,物体検出,顔検出,トラッキング・ビジョン,顔のランドマーク検出(Dlib 付属のプログラムを実行)

参考Webページ

https://github.com/davisking/dlib-models

前準備

curl のインストール

Git のインストール

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

cmake のインストール

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

Windows では 7-Zip, Ubuntu では bzip2 のインストール

7-Zip の URL: https://sevenzip.osdn.jp/

Dlib のインストール

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

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" ..
    

    [image]
  2. 結果の確認

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

  3. ビルド操作
    cmake --build . --config RELEASE
    

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

    [image]

画像分類

画像分類:画像(1つ)から、所定のラベル(複数)のうち1つを推定すること。あるいは、複数を推定すること。推定するとき、その確率とともに得ることもある

Windows の場合

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

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

    curl でなく wget を使いたいときは, 「wget http://dlib.net/files/resnet34_1000_imagenet_classifier.dnn.bz2」のように操作する.

    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
    

    [image]
  2. 画像分類の実行

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

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

    [image]

Ubuntu の場合

  1. 学習済みモデルのダウンロード
    cd /usr/local/dlib/examples
    sudo curl -O http://dlib.net/files/resnet34_1000_imagenet_classifier.dnn.bz2
    sudo bzip2 -d resnet34_1000_imagenet_classifier.dnn.bz2
    
  2. 画像分類の実行

    画像分類される画像は,「faces/*.jpg」で指定している.

    cd /usr/local/dlib/examples
    ./build/dnn_imagenet_ex faces/*.jpg
    

    [image]

    [image]

画像分類される画像

[image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image] [image]

物体検出(Max-Margin Object Detection by Davis E. King を使用)

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

Max-Margin 物体検出法が利用されている(文献は次の通り) それにより,Dlib による文体検出が行われる.

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

Windows の場合

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

curl でなく wget を使いたいときは, 「wget http://dlib.net/files/mmod_rear_end_vehicle_detector.dat.bz2」のように操作する.

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

[image]

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

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

[image]

[image]

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

curl でなく wget を使いたいときは, 「wget http://dlib.net/files/mmod_front_and_rear_end_vehicle_detector.dat.bz2」のように操作する.

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

[image]

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

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

[image]

Ubuntu の場合

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

cd /usr/local/dlib/examples
cd build
sudo curl -O http://dlib.net/files/mmod_rear_end_vehicle_detector.dat.bz2
sudo bzip2 -d mmod_rear_end_vehicle_detector.dat.bz2

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

cd /usr/local/dlib/examples/build
./dnn_mmod_find_cars_ex

[image]

[image]

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

cd /usr/local/dlib/examples
cd build
sudo curl -O http://dlib.net/files/mmod_front_and_rear_end_vehicle_detector.dat.bz2
sudo bzip2 -d mmod_front_and_rear_end_vehicle_detector.dat.bz2

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

cd /usr/local/dlib/examples/build
./dnn_mmod_find_cars2_ex

[image]

顔検出

Dlib による顔検出 は次の仕組みで行われる.

Dlib には,ディープラーニングの CNN (convolutional neural network) を用いた物体検出が実装されている.

Max-Margin 物体検出法が利用されている(文献は次の通り) それにより,Dlib による顔検出が行われる.

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

Windows の場合

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

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

[image]

顔検出の実行

..\faces\2007_007763.jpg」で画像ファイルを指定している.

cd C:\dlib
cd examples\build
.\release\dnn_mmod_face_detection_ex mmod_human_face_detector.dat ..\faces\2007_007763.jpg

[image]

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

Windows の場合

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

[image]

犬の顔画像について眼鏡をあてはめる,顔のランドマーク検出

Windows の場合

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

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

[image]

実行してみる

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

[image]

[image]

Ubuntu の場合

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

cd /usr/local/dlib/examples
sudo curl -O http://dlib.net/files/mmod_dog_hipsterizer.dat.bz2
sudo bzip2 -d mmod_dog_hipsterizer.dat.bz2

実行してみる

cd /usr/local/dlib/examples
./build/dnn_mmod_dog_hipsterizer mmod_dog_hipsterizer.dat faces/dogs.jpg

[image]

[image]