What is confidence in OpenCV's FaceRecognizer?

假装没事ソ 提交于 2019-12-18 16:53:38

问题


I've been working on a face recognition project using OpenCV's FaceRecognizer, doing gender differentiation. The algorithm works pretty well, but I wanted to implement some extra features into my program like the confidence of the prediction.

The predict function can output a confidence level, but I'm not sure what it means. What does this confidence actually measure, and can I convert it into a percentage?

int predictedLabel = -1;
double confidence = 0.0;
model->predict(face_resized, predictedLabel, confidence);
string result_message = format("Predicted class = %d / Confidence = %d.", predictedLabel, confidence);
cout << result_message << endl;

Here's what the output looks like. https://www.dropbox.com/s/65h1n5180ulz3hl/facerecConfidence%20.jpg


回答1:


There's a brief discussion on what this distance actually is on the OpenCV-users list here.

To summarise, the function they use is:

distance = 1.0f - sqrt( distSq / (float)(nTrainFaces * nEigens) ) / 255.0f 

However, the author of the function says that it is a very rough guide and not a full proof guide. See the link to the users list discussion for a reference to the paper and a suggestion for an alternative metric.



来源:https://stackoverflow.com/questions/13652778/what-is-confidence-in-opencvs-facerecognizer

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!