opencv を使用してフォルダー内の顔をグループ化しようとしています。
http://docs.opencv.org/modules/contrib/doc/facerec/facerec_tutorial.htmlで固有顔の例をいじっています。しかし、私の問題を解決するものは何も見つかりません。
I have a set of faces in my face database: A,B,C,D,E,F,G,H,I
As a result I try to get;
- A,B,D are person1
- C,E,F are person2
- G,H are person3
- I is person4
プロセスは次のようになるはずです。
sampleFace = A
while
mode.train(faces,labels) // trains face database
model.predict(sampleFace, &predict, &confidence) // get the prediction
using the confidence and similarity percentage decide A,B,D faces are person1
remove A,B,D from face database and remove the labels of these images also
if faces.size=1 exit loop
sampleFace = C
end of loop
その結果を得るには、固有顔サンプルのモデルにしきい値を設定する必要があると思います。そして、信頼値を使用する必要があります。
実際には、%80 のような類似度スコアを設定したいので、指定されたサンプルの顔で 80% より大きい類似度スコアを持つ画像を取得したいと考えています。eigenfaces サンプルは、信頼値を持つ類似の顔を 1 つだけ提供します。それぞれの顔ごとに信頼値を持つ複数の顔を取得する必要があり、類似度スコアを比較できます。また、固有顔のサンプルでは、信頼限界がわからないため、顔ごとにパーセンテージ値が必要です。
ヘルプ、アドバイス、またはコード サンプルをいただければ幸いです。