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

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

参考Webページ

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

前準備

curl のインストール

  • curl の URL: https://curl.se/
  • Windows では 7-Zip, Ubuntu では bzip2 のインストール

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

    Dlib のインストール

    Dlib は c:\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 16 2019" -A x64 -T host=x64 ^
          -DCMAKE_INSTALL_PREFIX="c:\dlib" ..
      

      [image]
    2. 結果の確認

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

      [image]
    3. ビルド操作
      cmake --build . --config RELEASE
      
    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\examples\build
      curl -O http://dlib.net/files/resnet34_1000_imagenet_classifier.dnn.bz2
       e resnet34_1000_imagenet_classifier.dnn.bz2
      

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

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

      cd c:\dlib\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\examples\build
    curl -O http://dlib.net/files/mmod_rear_end_vehicle_detector.dat.bz2
     e mmod_rear_end_vehicle_detector.dat.bz2
    

    [image]

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

    cd c:\dlib\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\examples\build
    curl -O http://dlib.net/files/mmod_front_and_rear_end_vehicle_detector.dat.bz2
     e mmod_front_and_rear_end_vehicle_detector.dat.bz2
    

    [image]

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

    cd c:\dlib\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" e mmod_human_face_detector.dat.bz2
    

    [image]

    顔検出の実行

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

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

    [image]

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

    Windows の場合

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

    [image]

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

    Windows の場合

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

    cd c:\dlib\examples\build
    curl -O http://dlib.net/files/mmod_dog_hipsterizer.dat.bz2
     e mmod_dog_hipsterizer.dat.bz2
    

    [image]

    実行してみる

    cd c:\dlib\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]