Dlibは,機械学習のアルゴリズムの機能を持つソフトウエア.
利用条件などは利用者において確認してください
サイト内の関連ページ
謝辞
Dlib の作者に感謝します
Python 3.7 を推奨したい(Python 3.8 は,2020年6月時点では,Dlib のインストールでの不具合の可能性がある)
sudo apt -yV install cmake cmake-curses-gui
Windows では「python」を使う,Ubuntu では「python3」を使う.
※ 「pip install ...」は,Python パッケージをインストールするための操作.
python -m pip install -U python -m pip install -U numpy scikit-image
sudo apt update sudo apt -yV install python3-numpy python3-skimage
前準備として、Windows のときは Visual C++ ビルドツール (Build Tools) のインストールが終わっていること
cd C:\pytools\dlib\tools\imglab cmake . cmake --build . --config RELEASE --target INSTALL
※ ここで,「C:\pytools\dlib」は,Dlib をインストールしたディレクトリに読み替えること。
※ まだ Dlib のインストールを行っていないときは、 Dlib のインストールを行うこと.(このWebページにある「前準備」も行うこと)
C:\pytools\dlib\tools\imglab\Release
Windowsのコマンドプロンプトを開き、次のコマンドを実行.エラーメッセージが出ないことを確認.
「.\imglab.exe -c mydata.xml .」は、.xml 形式ファイルを作るコマンド.ファイル名 mydata.xml は何でもよい
C: cd C:\pytools\dlib\tools\imglab\Release .\imglab.exe -c mydata.xml .
Windowsのコマンドプロンプトで、次のコマンドを実行.
.\imglab.exe mydata.xml
imglab は,画像ビューワになっている
シフトキー(SHIFT キー)を押しながら、マウスをドラッグ<
「File」→「Save」」と操作する
指定した領域についての情報が保存される
写真は https://ccphotosearch.com/ を利用して、クリエイティブコモンズのものを使用.領域指定は手作業で実施.
※ Windows での展開(解凍)のためのソフトには,「7-Zip」などがある.
14枚の画像について、 領域を指定済み
Google Chrome ではうまく表示できない.下の図では Firefox での表示結果を示している.
Windowsのコマンドプロンプトで、次のコマンドを実行.
C: cd C:\pytools\dlib\tools\imglab\Release .\imglab.exe training.xml
最後の「.」を忘れないこと
py C:\pytools\dlib\python_examples\train_object_detector.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()
py hoge.py 5920652345_5be61ae940.jpg
以上、学習と、画像の識別を示した(上の犬の写真では、画像の識別がうまくいっていない)
.\imglab training.xml
本サイトは金子邦彦研究室のWebページです.サイトマップは,サイトマップのページをご覧下さい. 本サイト内の検索は,サイト内検索のページをご利用下さい.
問い合わせ先: 金子邦彦(かねこ くにひこ) ![]()