2012年12月28日金曜日

Mastering OpenCVの第8章の顔認識のメモ step2 前半


Mastering OpenCV with Practical Computer Vision Projectの第8章の顔認識は、4つのStepで構成されている。
今回は、Step2の、顔認識の精度を高めるための前処理に関して

両目を検出する
 ・OpenCV 2.4の目の辞書は、目が開いていても閉じていても検出できる

 ・目を閉じている場合を検出するには、左右異なる辞書を使用する
  haarcascade_mcs_lefteye、haarcascade_lefteye_2splits(右も同様)

 ・lefteyeが意味するのは、実際の体の左側を示している。カメライメージでは右側になる。

 ・検出精度は、下記の順番である。

 (1) haarcascade_mcs_lefteye.xml
     haarcascade_mcs_righteye.xml

 (2) haarcascade_lefteye_2splits.xml
     haarcascade_righteye_2splits.xml

 (3) haarcascade_eye.xml

 (4) haarcascade_eye_tree_eyeglasses.xml

 ・haarcascade_eye_tree_eyeglassesは、めがねをかけていても検出できるが、かけていないと検出できない

 ・目の検出には、目の近傍の画像を使用しなければいけない。顔全体で検出すると信頼性が下がる
 
 ・haarcascade_mcs_lefteye、haarcascade_lefteye_2splitsは、目の近傍の少し大きめの範囲に対応できる。一方、haarcascade_eyeは、目の近傍の狭い範囲しか対応できない

 ・近傍のエリア割合の表が、掲載されているが、LBPで検出された顔領域に対するものである。

 ・各辞書に対する検出率の表が掲載
  両目を検出するため、検出率は2乗になる

 ・目の画像は小さくなるためなるべく大きな画像を使用したほうがよい

 ・最初にhaarcascade_mcs_lefteyeを試して、失敗したらhaarcascade_lefteye_2splitsを試すとよい
 
 ・顔認識の場合、目を閉じていると信頼性が下がるため、haarcascade_eyeを試し、失敗したらhaarcascade_eye_tree_eyeglassesを試すとよい

 後半に続く

0 件のコメント:

コメントを投稿