トップページ -> 最新情報技術の実習と研究ツール -> Windows でソフトウエアのインストールと設定 -> Windows で Dlib 19.13 同封の imglab を使ってみる
[サイトマップへ]  

Windows で Dlib 19.13 同封の imglab を使ってみる

サイト内の関連Webページ

目次

  1. Windows で Dlib 19.13 同封の imglab をビルドする
  2. imglab を使ってみる
  3. Dlib を用いた演習

謝辞

Dlib の作者に感謝します


前準備


Windows で Dlib 19.13 同封の imglab をビルドする

Dlib のインストールが終わっていて、 C:\tools\dlib-19.13 に展開(解凍)されているものとして説明します

  1. Visual Studio Tools の Native Tools コマンドプロンプト を起動する

    起動は,Windows のメニューで「Visual Studio 2015」のの「VS 2015用 x64 Native Tools コマンドプロンプト」のように操作する.

    以下の操作は,Native Tools コマンドプロンプトで行う

  2. cmake の実行

    プロセッサの AVS の機能を使いたいので、cmake のオプションに「-DUSE_AVX_INSTRUCTIONS=YES」を付ける.

    C:
    cd C:\tools\dlib-19.13
    cd tools\imglab
    del /s /f /q build
    mkdir build
    cd build
    cmake -G "Visual Studio 14 2015 Win64" -T host=x64 -DUSE_AVX_INSTRUCTIONS=YES ..
    

  3. 結果の確認

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

  4. ビルド
    cmake --build . --config Release
    

  5. 結果の確認

imglab を使ってみる

  1. 画像を数枚準備する

  2. 準備した画像ファイルを,次のディレクトリに置く
    C:\tools\dlib-19.13\tools\imglab\build\Release
    

  3. 画像ファイルの準備が終わったら、 .xml 形式ファイルを作る.

    Windowsのコマンドプロンプトを開き、次のコマンドを実行.エラーメッセージが出ないことを確認.

    「.\imglab.exe -c mydata.xml .」は、.xml 形式ファイルを作るコマンド.ファイル名 mydata.xml は何でもよい

    C:
    cd C:\tools\dlib-19.13\tools\imglab\build\Release
    .\imglab.exe -c mydata.xml .
    

  4. 生成された .xml 形式ファイルをエディタなどで開き確認してみる.

  5. imglab を起動してみる

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

    .\imglab.exe mydata.xml 
    

    imglab は,画像ビューワになっている

  6. imglab で、領域を指定してみる

    シフトキー(SHIFT キー)を押しながら、マウスをドラッグ<

  7. 保存する

    File」→「Save」」と操作する

  8. 確かに .xml形式ファイルに,結果が保存される

    指定した領域についての情報が保存される


Dlib を用いた学習

  1. 教材ファイル Release.zip をダウンロード

    写真は https://ccphotosearch.com/ を利用して、クリエイティブ・コモンズのものを使用.領域指定は手作業で実施.

  2. ダウンロードした Release.zip ファイルを展開(解凍)する.分かりやすいディレクトリに置く.

    ※ Windows での展開(解凍)のためのソフトは「7-Zip」をおすすめ.

  3. 展開してできたファイルを、まるごと C:\tools\dlib-19.13\tools\imglab\build\Release にコピー

  4. Web ブラウザで training.xml を開いて、確認してみる

    14枚の画像について、 領域を指定済み

    Google Chrome ではうまく表示できない.下の図では Firefox での表示結果を示している.

  5. imglab を起動して確認してみる

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

    C:
    cd C:\tools\dlib-19.13\tools\imglab\build\Release
    .\imglab.exe training.xml
    

  6. imglab を閉じる

  7. 学習を行う(学習データの生成)

    最後の「.」を忘れないこと

    python C:\tools\dlib-19.13\python_examples\train_object_detector.py .
    

  8. 途中で、Enterキーを押して続行

  9. 次のプログラムファイルを作り、 C:\tools\dlib-19.13\tools\imglab\build\Release の下に hoge.py のようなファイル名で保存

    謝辞:http://tadaoyamaoka.hatenablog.com/entry/2016/09/21/184955 のものを参考に(少し変更して)使っています

    import os
    import sys
    import glob
    
    import dlib
    from skimage import io
    
    if len(sys.argv) != 2:
        exit()
    f = sys.argv[1]
    
    detector = dlib.simple_object_detector("detector.svm")
    
    win_det = dlib.image_window()
    win_det.set_image(detector)
    
    win = dlib.image_window()
    
    print("Processing file: {}".format(f))
    img = io.imread(f)
    dets = detector(img)
    print("Number of objects detected: {}".format(len(dets)))
    for k, d in enumerate(dets):
        print("Detection {}: Left: {} Top: {} Right: {} Bottom: {}".format(
            k, d.left(), d.top(), d.right(), d.bottom()))
    
    win.clear_overlay()
    win.set_image(img)
    win.add_overlay(dets)
    dlib.hit_enter_to_continue()
    

  10. 次のコマンドを実行
    python hoge.py 5920652345_5be61ae940.jpg
    

  11. 学習に使う画像を増やすには
    .\imglab training.xml