この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
opencvで顔認識 [2017/08/11] adash333 [開発環境] |
opencvで顔認識 [2018/10/07] (現在) |
||
---|---|---|---|
ライン 2: | ライン 2: | ||
せっかくOpenCV3をインストールしたので、お決まりの顔認識をやってみたい! | せっかくOpenCV3をインストールしたので、お決まりの顔認識をやってみたい! | ||
- | Python3.6の環境でやろうと努力したが、xmlファイルの読み込みがうまくできなかった。 | + | xmlファイルのダウンロードのときに気をつける必要がある。 |
- | そのため、Python3.5環境を作成してやってみる。 | ||
- | ===== 開発環境 ===== | + | ==== 開発環境 ==== |
Windows 8.1\\ | Windows 8.1\\ | ||
Anaconda 4.4.0 (64-bit)\\ | Anaconda 4.4.0 (64-bit)\\ | ||
- | Python 3.5 | + | Python 3.6 |
+ | Python3.6へのOpenCV3のインストールについては、[[windowsにopencv3をインストール|こちら(WindowsにOpenCV3をインストール)]]をご覧ください。 | ||
+ | ==== python3.5の場合の開発環境作成 ==== | ||
+ | <code> | ||
+ | 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 | ||
+ | </code> | ||
+ | |||
+ | ==== 1.フォルダ構成 ==== | ||
+ | 今回は、\\ | ||
+ | C:/python/opencv/ フォルダ下に、\\ | ||
+ | faces.jpg : 画像ファイル\\ | ||
+ | haarcascade_frontalface_alt2.xml : OpenCV3顔検出用xmlファイル\\ | ||
+ | を保存して、そのフォルダでipynbファイルを作成し、pythonスクリプトを入力します。 | ||
+ | |||
+ | ==== 2.画像の用意 ==== | ||
+ | 人の顔がうつっている写真を用意して保存する。今回は、https://www.photo-ac.com/から以下の画像をダウンロードして、faces.jpgという名前で保存した。 | ||
+ | |||
+ | {{:pasted:20170811-233338.png}} | ||
+ | |||
+ | {{:pasted:20170811-234329.png}} | ||
+ | |||
+ | ==== 3.OpneCV-master.zipのダウンロード ==== | ||
+ | 欲しいのは、https://github.com/opencv/opencv/tree/master/data/haarcascadesの中のxmlファイル群なのだが、ダウンロードに失敗するリスクがあるので、最初は、全部一度にZIPファイル(約83MBもありますが)をダウンロードするのが間違いないです。 | ||
+ | |||
+ | https://github.com/opencv/opencv | ||
+ | {{:pasted:20170811-233524.png}} | ||
+ | |||
+ | ZIPファイルをダウンロードして解凍したら、opencv-master.zip > opencv-master > data > haarcascades の中の、「haarcascade_frontalface_alt2.xml」を、上記のfaces.jpgと同じフォルダにコピー。 | ||
+ | |||
+ | {{:pasted:20170811-233800.png}} | ||
+ | |||
+ | {{:pasted:20170811-233949.png}} | ||
+ | |||
+ | コピーした後の状態 | ||
+ | {{:pasted:20170811-233349.png}} | ||
+ | |||
+ | ==== 4.顔認識スクリプトの実行 ==== | ||
+ | Anaconda Promptからjupyter notebookを起動して、以下のスクリプトをコピペして、Shift+Enterで実行。 | ||
+ | <html> | ||
+ | <script src="https://gist.github.com/adash333/1aed14fbdbc45efbda6a1b4a189ec711.js"></script> | ||
+ | </html> | ||
+ | 実行した結果は以下の通り。 | ||
+ | {{:pasted:20170811-234628.png}} | ||
+ | |||
+ | {{:pasted:20170811-234648.png}} | ||
===== 参考 ===== | ===== 参考 ===== | ||
ライン 25: | ライン 72: | ||
PythonでOpenCV|haar-like cascade分類器で顔認識 | PythonでOpenCV|haar-like cascade分類器で顔認識 | ||
+ | http://ai-coordinator.jp/opencv_face\\ | ||
+ | 2017/6/6 | ||
+ | 大量の画像から顔の部分のみトリミングして保存する方法 |