Opencv

※前提条件:本情報はOpenCV3.1を基づいて説明してる

概要

FaceRecognizer顔識別contribライブラリ

以下のアルゴリズムを提供している。

  • EigenFace
  • FisherFace
  • LBPHFace

以上のアルゴリズムで訓練と予測用の写真は必ずグレー化される上、同じサイズの画像を利用すること。

問題点

この三つのアルゴリズムは経験統計の方法で識別するため、訓練画像の照明、視角に大きく影響される。

照明

今の時点では、国際上照明の問題まだいい解決法がない。

視角

3Dモデル方法で解決できるだが、訓練画像の採取設備のコストが高い。一般的の2Dカメラから撮った2D画像をどう3Dへ変換できるのも課題となる。

紹介

共通的に以下のメソッドを提供する

  • train訓練
  • predict予測(戻り値は-1の場合は予測不能と意味している)
  • saveデータ保存
  • loadデータ読込(毎回訓練する必要がなく、一回訓練したデータを保存、次回起動時データをロードするだけ)

サンプルコード:

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対応のラベル



あなたのお住まいの地域で最安のブロードバンド選び

コメント:



(画像の文字列を入力して下さい)

トップ   編集 凍結 差分 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019/12/02 (月) 12:35:12 (1628d)

yVoC[UNLIMITȂ1~] ECirŃ|C Yahoo yV LINEf[^[Ōz500~`I


z[y[W ̃NWbgJ[h COiq 萔O~ył񂫁z COsیI COze