Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Alert: Beginning Tuesday, June 25th, we will be freezing this site and migrating the content and forums to our new home at Check it out now!

FaceNet example extremely poor results

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?


  • 8 Comments sorted by Votes Date Added
  • 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

  • @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 for dlib and 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).

  • 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.

  • @chicagobob123 If you like the OpenCV haarcascade, you should try lbp_frontal_face. It is much faster but sacrifices some accuracy.

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

  • 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.

  • 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

  • @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!

  • 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.

Sign In or Register to comment.