2013年1月8日火曜日

Mastering OpenCVの第8章の顔認識のメモ step3 後半


Mastering OpenCV with Practical Computer Vision Projectの第8章の顔認識は、4つのStepで構成されている。

今回は、Step3の収集した画像のトレーニングに関して。

顔認識に適した機械学習は、固有顔とニューラルネットワークがある。固有顔の方がよい結果である傾向があるし、他の新規のアルゴリズムと比較しても簡単であり、初心者向けである

この本のアルゴリズムを使用するために、原理を読む必要はないが、理解を深める意は下記を読んでおくとよい

・Eigenfaces (Principal Component Analisys)
・Fishersfaces (Linear Discriminant Analysis)
他の古典的アルゴリズム
最近の発表

OpenCV 2.4.1から汎用的なcv::Algorithm が提供されている。 実行時にアルゴリズムが選択できる
cv::Algorithm::getList()でサポートしているアルゴリズムを調べることができる

2.4.1では、Eigenfaces、Fishersfaces、LBPをサポートしている。

これらのアルゴリズムは、contribモジュールに含まれており、FaceRecognizerクラスを通じて使用できる。

contribモジュールをリンクする必要があるが、要求されるまでロードされない。
使用するためには、cv::initModule_contib()を呼ぶ必要がある。

cv::Algorithm::create<FaceRecognizer>()で、使用したアルゴリズム名を与えてオブジェクトを作成する必要がある。

モジュールがロードされたら、FaceRecognizer::train()を呼べばよい。

以上

次は、補足の平均顔の表示

0 件のコメント:

コメントを投稿