OpenCV、機械学習、はやりのDeep learningの環境構築の方法、サンプルの動かし方、APIの使い方、Tipsなどをすぐに忘れてしまうので、備忘録として記録している。記憶がなくなるスピードが、早いのでメモしておかないと再現できなくなる確率が高まっている。 最近、再度HDDを飛ばしてしまい、過去の自分のページに再度助けられた。 また、DNNモジュールを触る機会が増えているので、C++からPyhonへと鞍替え中。 内容を気にいっていただければ、twitterで紹介願います。
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()を呼べばよい。
以上
次は、補足の平均顔の表示
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿