What is confidence in OpenCV's FaceRecognizer?
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.
![Admin](/assets/logo_square_200-5d0d61d6853298bd2a4fe063103715b4daf2819fc21225efa21dfb93e61952ea.png)
Admin
Updated on June 28, 2022Comments
-
Admin about 2 years
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