Intel® Distribution of OpenVINO™ Toolkit
Community assistance about the Intel® Distribution of OpenVINO™ toolkit, OpenCV, and all aspects of computer vision-related on Intel® platforms.

FaceNet example extremely poor results

idata
Employee
1,160 Views

I am shocked at how poorly this example is performing. I added a selfie JPEG and the results could not be worse. A match to me was difference about 2.0 ?

 

What am I missing or doing wrong?
0 Kudos
8 Replies
idata
Employee
649 Views

Anyone get good results with the face recognition example? I have different people in the multi face example and the results are depressing. I have the difference turned down to 0.4 and found my face often matched someone with different color hair better than it matched me. Talk about being way off. Anyone getting respectable results?

 

I even went so far as to resize the input images to 160x160 and used more than one image for the same person. Saved it like sam1.png sam2.png sam3.png

 

The results are still awful. I have now read through the code enough to guess you got the last layers weights results of a graph. Then it looks like you difference the output weights of the still graph vs a frame of video. Last it looks like you look to be below a threshold. Is that right? Anyway it looks like it doesn't work. Least not my test version
0 Kudos
idata
Employee
649 Views

@chicagobob123 Your results will vary depending on the image alignment method you're using. You usually need to use a face detection method (for example dlib, OpenCV , or MTCNN) for face alignment and then use facenet to generate the 128 dimension embeddings for comparison. Please visit the facenet github repo and scroll down to the preprocessing section for more info.

 

For more information on the mentioned face detectors, please visit http://dlib.net/ for dlib and https://github.com/informramiz/Face-Detection-OpenCV for OpenCV. The gender_age_lbp example in the ncappzoo also uses OpenCV lbp face detection for age and gender inferences in C++. Currently there is an issue with MTCNN with NCSDK v2 (see NCSDK v2 release notes errata #12).

0 Kudos
idata
Employee
649 Views

Image alignment.. I will give that a try. I have had reasonably good luck using the haarcasscade_frontal detection for the face when its aligned properly. Maybe a combination of things is necessary for a more accurate result. You wouldn't happen to know what they use on the phones do you? I would think its something like OpenFace. Or some mobilenet but I am just guessing.

 

I originally thought it might have something to do with uneven lighting that occurs when you use a camera.
0 Kudos
idata
Employee
649 Views

@chicagobob123 If you like the OpenCV haarcascade, you should try lbp_frontal_face. It is much faster but sacrifices some accuracy. https://github.com/opencv/opencv/tree/master/data/lbpcascades.

 

Not too sure what solutions phones are using for face recognition/detection.

0 Kudos
idata
Employee
649 Views

FYI I added in the code, didn't take in python to get a proto together, and it was the same poor results.

 

The concept seems to be dreadfully flawed. No idea why.

 

I am having much better result using the LBPHFaceRecognizer but even that version has mistaken responses,

 

but its much much better than the deep learning version.

 

Not only did the deep learning version not recognize me it always came up with the wrong answer.

 

I did learn how to come up with code that just saves faces though. That might be handy.

 

I am no longer sure what to make of it. I think I might have to move up to openface but that performance doesn't work on the PI I read. Dunno.
0 Kudos
idata
Employee
649 Views

Finally got it. The example code was OK but it needed a lot of tweaks to get it to work reliably.

 

Thanks for all the help and ideas
0 Kudos
idata
Employee
649 Views

@chicagobob123 Glad to hear it's working better for you. Can you share a brief overview of what you had to do to get it working better? Thanks!

0 Kudos
idata
Employee
649 Views

When I get a chance I may make a quick write up on it. Out of 9 people so far in the data set its worked very well. No false positives.

0 Kudos
Reply