• 締切済み

OpenCVを使用した顔検出

これからOpenCVを勉強していこうと思っています。 目標として静画像の顔検出をしようと思っています。 また、信頼性を高めるために、「目」が顔領域中に存在した場合に検出という条件をプログラムに入れたいです。 どのような処理、流れが必要なのかを教えてください。 そこについて重点的に勉強しようと思います。

みんなの回答

回答No.1

こんにちは. OpenCVにはもとから顔検出関数が入っているのではありませんか? ざっと読んだ限りでは濃淡情報を表すHaar Like Featureという特徴に基づく識別器を学習にかけて検出を行っているようです. Haar Like Featureは白黒のパターンで構成された特徴で, 顔であれば「目の部分は暗く,鼻梁の明るい部分を挟んで左右対称」などの顔の特徴を反映するものです. このような特徴に基づく識別器に同サイズの顔画像とそうでない画像を与え, 顔らしい領域を学習させます. 学習が済めば,一般的な画像から切り出した画像を上記の識別器に与えれば顔かどうかの判定ができます. あとは画像を切り出すウィンドウを移動させながら探索を行えば良いでしょう. リファレンスによれば参考文献[1]に基づく実装なので, ここを重点的に勉強すれば良いでしょう. [1] Paul Viola and Michael J. Jones,“Rapid object detection using a boosted cascade of simple features,” in Proc. CVPR, 2001. ところで,回答がつかないからと何度も消したり書いたりするのはどうかと思いますよ. 質問内容が専門的になればなるほどWebで調べるより書籍や論文をあたらねばならないことが多いのです.

関連するQ&A