顔検出 3分クッキング on MacOSX
概要
ラズパイ使って家族と判断したら
「こんにちはご主人様」
家族以外なら
「通報しまーす」
と話してくれるおもちゃを
作ろうと思ってます。
その前段の前段として
静止画で顔検出してみます。
ちなみに顔検出と顔認識は意味が全く異なります。
- 顔検出 … 顔部分を検出すること。
- 顔認識 … 特定の人物の顔と判断すること。
環境構築は前回記事を参照してください。
環境
- MacOSX 10.11.5
- Python 3
CV2 インストール
- homebrew で cv2 インストール
1 | brew tap homebrew/science |
- Python 3 を利用する
1 | $ source ~/py3env/bin/active |
- cv2.so を pip の site-package へコピー
1 | (py3env)$ cd ~/py3env/lib/python3.4/site-packages |
- cv2 import 確認
Version が表示されれば成功
1 | (py3env)$ python -c 'import cv2; print(cv2.__version__)' |
スクリプトインストール
1 | (py3env)$ cd ~/py3env |
スクリプト実行
1 | (py3env)$ python trimming.py <img_path> |
Before
After
革パンも顔認識されてしまう…
が、一応まずできました。
今回のスクリプト要点
- 正確な検知数を向上させるべく、スクリプト上の以下 detectMultiScale メソッドのパラメータを調整します。
1 | facerect = cascade.detectMultiScale(image_gray, scaleFactor=1.02, minNeighbors=3, minSize=(7,7)) |
Item | Value |
---|---|
scaleFactor | 画像解析する際に随時縮小し解析するその尺度 |
minNeighbors | 最小近傍矩形数 |
minSize | 顔部分を認識するためのサイズ (縦,横) |
まず最初の第一歩ができました♪