Interpreting OpenCV FaceRecognition predicted confidence values
I am toying with the various FaceRecognition algorithms, and I'd like to better understand the confidence values so that I can have a sense of when to ignore a match or when I can rely on a match.
Using the ATT face database, I did test 1 where I trained on the 40 faces then ran prediction on a known face (With unknown image of course). I then did a second test where I trained on 39 faces and ran prediction on an unknown face (happens to be the same image as used in test 1).
The values I got were:
Eigenspace
- 1806 when face known
- 2618 when face unknown
Fisherface
- 372 known
- 841 unknown
LBPH
- 36 known
- 55 unknown
If I am interpreting the algorithms correctly, Eigenspace and Fisherface work in a high dimension space and try to find the closest neighbor for a given test image. This means the confidence value will change depending on data set, and I can not have a simple threshold. Is there any other information I can gather, such as average distance between clusters, so that I can understand if I should keep or ignore a prediction?
In regards to LBPH, is this confidence acting the same way?
Many thanks
It'll take some time to write the tutorial and source code, so please check back later. This could be some days, because I can only write it in my spare time.