1 | initial version |
the FaceRecognizer classes in opencv are doing identification. you can't use those for your probem.
2 | No.2 Revision |
the FaceRecognizer classes in opencv are doing identification. you can't use those for your probem. (closest from a database).
if your problem is verification , you should not use those. (rather use the cv2.dnn).
if your problem is authentication (is that me?) , try with cv2.MACE instead.
3 | No.3 Revision |
your results are somewhat "expected", it's the wrong tool for your job.
the FaceRecognizer classes in opencv are doing identification (closest from a database).
if your problem is verification , (do those 2 images show the same person ?), you should not use those. (rather use the cv2.dnn).
if your problem is authentication (is that me?) , try with cv2.MACE instead.
4 | No.4 Revision |
your results are somewhat "expected", it's the wrong tool for your job.
the FaceRecognizer classes in opencv are doing identification (closest from a database).
if your problem is verification (do those 2 images show the same person ?), you should not use those. (rather use the cv2.dnn).
if your problem is authentication (is that me?) me? , finding a single person) , try with cv2.MACE instead.
5 | No.5 Revision |
your results are somewhat "expected", it's the wrong tool for your job.
the FaceRecognizer classes in opencv are doing identification (closest from a database).
if your problem is verification (do those 2 images show the same person ?), you should not use those. (rather use the cv2.dnn).cv2.dnn, and train some threshold value for same/not-same).
if your problem is authentication (is that me? , finding a single person) , try with cv2.MACE cv2.face.MACE instead.
6 | No.6 Revision |
your results are somewhat "expected", it's the wrong tool for your job.
the FaceRecognizer classes in opencv are doing identification (closest (get the closest from a database). database of known faces, there is no real concept of "unknown" persons here.).
if your problem is verification (do those 2 images show the same person ?), you should not use those. (rather use the cv2.dnn, and train some threshold value for same/not-same).
if your problem is authentication (is that me? , finding a single person) , try with cv2.face.MACE instead.
7 | No.7 Revision |
your results are somewhat "expected", it's the wrong tool for your job.
the FaceRecognizer classes in opencv are doing identification (get the closest from a database of known faces, there is no real concept of "unknown" persons here.).
if your problem is verification (do those 2 images show the same person ?), you should not use those. (rather use the cv2.dnn, and train some threshold value for same/not-same).
if your problem is authentication (is that me? , finding a single person) , try with cv2.face.MACE instead.
[update]
or use opencv's dnn based face recognition: get the model from here: "https://raw.githubusercontent.com/pyannote/pyannote-data/master/openface.nn4.small2.v1.t7"
nn = cv2.dnn.readNetFromTorch(path_to_model)
# now, to compare 2 face images:
nn.setInput(cv2.dnn.blobFromImage(image1, 1./255, (96,96), (), true, false);
f1 = net.forward()
nn.setInput(cv2.dnn.blobFromImage(image2, 1./255, (96,96), (), true, false);
f2 = net.forward()
distance = cv2.norm(f1,f2); # about < 0.6 for "same"