目次

OpenCV3で顔認識

せっかくOpenCV3をインストールしたので、お決まりの顔認識をやってみたい!

xmlファイルのダウンロードのときに気をつける必要がある。

開発環境

Windows 8.1

Anaconda 4.4.0 (64-bit)

Python 3.6

Python3.6へのOpenCV3のインストールについては、こちら(WindowsにOpenCV3をインストール)をご覧ください。

python3.5の場合の開発環境作成

conda create -n py35 python=3.5
activate py35
conda install -c https://conda.anaconda.org/menpo opencv3
conda install jupyter numpy matplotlib
jupyter notebook

1.フォルダ構成

今回は、

C:/python/opencv/ フォルダ下に、

faces.jpg : 画像ファイル

haarcascade_frontalface_alt2.xml : OpenCV3顔検出用xmlファイル

を保存して、そのフォルダでipynbファイルを作成し、pythonスクリプトを入力します。

2.画像の用意

人の顔がうつっている写真を用意して保存する。今回は、https://www.photo-ac.com/から以下の画像をダウンロードして、faces.jpgという名前で保存した。

3.OpneCV-master.zipのダウンロード

欲しいのは、https://github.com/opencv/opencv/tree/master/data/haarcascadesの中のxmlファイル群なのだが、ダウンロードに失敗するリスクがあるので、最初は、全部一度にZIPファイル(約83MBもありますが)をダウンロードするのが間違いないです。

https://github.com/opencv/opencv

ZIPファイルをダウンロードして解凍したら、opencv-master.zip > opencv-master > data > haarcascades の中の、「haarcascade_frontalface_alt2.xml」を、上記のfaces.jpgと同じフォルダにコピー。

コピーした後の状態

4.顔認識スクリプトの実行

Anaconda Promptからjupyter notebookを起動して、以下のスクリプトをコピペして、Shift+Enterで実行。
<html>
<script src=“https://gist.github.com/adash333/1aed14fbdbc45efbda6a1b4a189ec711.js”></script>
</html>
実行した結果は以下の通り。

参考

https://github.com/hisafi/haarcascade_opencv

haar-like cascade detectorで顔認識

大阪Pythonの会#04のハンズオン資料

http://shikouno.hatenablog.com/entry/2017/07/28/231123

20170728
PythonでOpenCV|haar-like cascade分類器で顔認識

http://ai-coordinator.jp/opencv_face

2017/6/6
大量の画像から顔の部分のみトリミングして保存する方法