Raspberry Pi3でdlibを利用してみた

dlibは画像処理、線形代数、機械学習、ベイジアンネットワークなどさまざまな機能を提供するC++プログラムで開発されたライブラリです。dlibを利用することで顔の器官検出を含む高度な顔検出を行えます。ここではRaspberry Pi3におけるdlibについて解説していきます。

01: インストール

bash


# dlibに必要なパッケージのインストール
$ sudo apt-get install cmake wget libopenblas-dev liblapack-dev libx11-dev build-essential

# dlibのダウンロード/解凍
$ wget http://dlib.net/files/dlib-19.2.zip
$ unzip dlib-19.2.zip

# 仮想メモリを増やす。
$ sudo /etc/init.d/dphys-swapfile stop
$ sudo nano /etc/dphys-swapfile
$ sudo /etc/init.d/dphys-swapfile start 

# dlibのビルド
$ cd dlib-19.2/examples
$ mkdir build && cd build
$ cmake ..
$ cmake --build . --config Release

# 顔検出
$ ./face_detection_ex <画像ファイル>

# 顔器官検出
# shape_predictor_68_face_landmarks.dat.bz2: 学習済みモデルデータ
$ wget http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2
$ bzip2 -d shape_predictor_68_face_landmarks.dat.bz2
$ ./face_landmark_detection_ex shape_predictor_68_face_landmarks.dat <画像ファイル>

dphys-swapfile


...
CONF_SWAPSIZE=1024
...

02: 動作テスト

元画像

顔検出

顔器官検出