AI coordinator

人工知能 & ロボティクス

サイト運営者

© AI coordinator All rights reserved.

20176/3

簡単にできるOpenCVを使った顔検出

画像からの顔検出は意外と簡単

以前から画像に写っている顔の検出ができたら良いなぁって思っていましたが、そう簡単ではないイメージを持っていました。

ただ、最近になってちょっと調べてみたら、案外簡単にできそうだということが分かったので挑戦してみました。

そしてビックリするほどあっさりできたので、その内容を紹介します。

 

OpenCVを使えばあっさり画像からの顔検出ができますので、興味がある方はぜひやってみてください。

 

テスト環境

macOS Sierra

Anaconda3-4.2.0-MacOSX-x86_64

opencv3 3.1.0

 

顔検出に挑戦

それでは早速、画像からの顔検出に挑戦したいと思います。

今回使用する画像は以下の画像です。

 

適当にネットから拝借してきた新垣結衣さんの画像を使ってみたいと思います。

ソースコードは本当に少なくてすみます。

OpenCVには初めから顔検出ができるカスケードファイルが準備されています。

顔検出をしたい場合は、「haarcascade_frontalface_alt.xml」を指定しください。(ソースコードの真ん中あたり)

顔と検出した部分を赤枠で囲み、ファイル出力するようにしています。

 

実行はjupyter notebookで実行して頂ければ、入力前の画像と出力画像をjupyter notebook上に表示できるようにしています。

 

それでは早速実行しみましょう。

実行すると以下のような結果が表示されます。

 

しっかりと顔を検出できました。

画像が小さすぎる場合、上記ソースコードそのままでは検出しないことがあります。

その場合は、minSize(100,100)部分の数字を小さくしてください。

これは100ピクセル以下の画像は検出させないという指定になっています。

 

今度は別のカスケードファイルを使ってみましょう。

目を検出するカスケードファイルを使ってみると以下のような画像になりました。

minSize = (10,10)で実行しています。

なんだが目以外の画像も目と検出しているようです。

この辺の精度はあまり高くなさそうですね。

 

いずれにせよ、OpenCVを使用すれば簡単に画像からの物体検出ができるようです。

この技術を使えば色々なことに使用できそうですね。

ぜひお試しあれ。

 


その他の物体検出記事はこちらから

 

それではまた。

関連記事

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

対話ができる?kerasで英文を自動生成するLSTMモデルの作成方法

英文だけど、LSTMモデルを作成して文章を自動生成できるか試してみた 文章を自動生成できるようになれば、AIも大きく進化するなぁ〜なんて日…

20173/11

Pepperコントローラー for Python

PythonでPepperコントローラーを作成 Pepperを簡単に動かせるPepper用コントローラーをPythonで作成してみましょう…

201710/9

Fine-tuningを使って少ない画像データから効率よく学習モデルを作成する方法

VGG16モデルを使ったFine-tuning 近々、人を認識させる学習モデルを真面目に開発する機会が発生したため、以前からチャレンジして…

Watson APIを活用した英訳するPepperコントローラー

Python GUIを使ってWatson APIを使用したペッパー用コントローラーの作成方法 Watson APIの「LanguageTr…

Watson NLCが使えるGUIをPythonで実装する方法

PythonでWatson NLCを使えるGUIを作ってみよう 質問を入力すれば、一番高い確信度を回答として返却してくれるGUIをPyth…

20174/29

jupyter notebookのインストールに失敗した時の対処法(MAC)

jupyter notebookのインストールに失敗 簡単にインストールできると思った「jupyter notebook」のインストールに…

YOLO v2の物体検出とVGG16の画像認識との組み合わせが凄すぎた!

YOLO v2にVGG16を組み合わせて使用してみよう ある日、閃きました。 YOLO v2の物体検出の精度に、VGG16の画像認識…

自然言語解析の形態素解析 janome を使ってみよう

形態素解析 janome とは 簡単に説明しますと、自然言語の文章を意味を持つ最長単位に分割し、品詞を判別することができるライブラリです。…

20177/15

SlackからPepperを発話させる超簡単な方法

SlackからPepperを喋らせてみる 久しぶりのPepperネタです。 最近、Slackbotを学習したので、今度はPepper…

映像からの物体検出(SSD_Keras)に挑戦 for ubuntu

映像からの物体検出 リアルタイム映像からの物体検出に挑戦してみました。 ただし簡単にはできず、色々ハマってえらく苦労したので、同じ悩…

ページ上部へ戻る