※前提条件:本情報はOpenCV3.1を基づいて説明してる 概要 †FaceRecognizer顔識別contribライブラリ 以下のアルゴリズムを提供している。
以上のアルゴリズムで訓練と予測用の写真は必ずグレー化される上、同じサイズの画像を利用すること。 問題点 †この三つのアルゴリズムは経験統計の方法で識別するため、訓練画像の照明、視角に大きく影響される。 照明 †今の時点では、国際上照明の問題まだいい解決法がない。 視角 †3Dモデル方法で解決できるだが、訓練画像の採取設備のコストが高い。一般的の2Dカメラから撮った2D画像をどう3Dへ変換できるのも課題となる。 紹介 †共通的に以下のメソッドを提供する
サンプルコード: vector<Mat> images; vector<int> labels; // images for first person images.push_back(imread("person0/0.jpg", CV_LOAD_IMAGE_GRAYSCALE)); labels.push_back(0); images.push_back(imread("person0/1.jpg", CV_LOAD_IMAGE_GRAYSCALE)); labels.push_back(0); // images for second person images.push_back(imread("person1/0.jpg", CV_LOAD_IMAGE_GRAYSCALE)); labels.push_back(1); images.push_back(imread("person1/1.jpg", CV_LOAD_IMAGE_GRAYSCALE)); labels.push_back(1); Ptr<FaceRecognizer> model = createFisherFaceRecognizer(); model->train(images, labels); Mat img = imread("person1/2.jpg", CV_LOAD_IMAGE_GRAYSCALE); int predicted = model->predict(img); EigenFace †顔の特徴を抽出できるアルゴリズム FisherFace †Fisher顔 LBPHFace †LBPアルゴリズム パラメータは、半径radius,neighbors,x、y方向セル数grid_x,grid_y、 histograms訓練データから学習した図形、 labels対応のラベル ★月額105円~/容量最大30GB/機能満載! ロリポップ!レンタルサーバー ★ コメント: |