我正在使用 pythonface_recongnition 模块。我想认出 100 个人,其中一些面孔非常相似。例如两个兄弟,都返回“True”,对于哥哥都返回 True,对于弟弟都返回 True。
我想知道最相似的并且只有返回true的
我不知道我能做什么来解决它
谢谢你的任何想法
for caras in image_face_encoding:
for known_face_encoding in [known_face_encodings]:
matches = face_recognition.compare_faces(known_face_encoding, caras, tolerance=0.37)
print(matches)
name = "Unknow"
if True in matches:
first_match_index = matches.index(True)
name = known_face_names[first_match_index]
contador=contador+1
print ('Encontrado!!! ', contador)
print(name)#input_image
解决了!
一位朋友给了我解决方案。 “face_distances”用于了解模型和图像之间的数值差异。据此我可以知道最相似的。 新代码是:
matches = face_recognition.compare_faces(known_face_encoding, caras, tolerance=0.40)##tolerance=image_thread## tolerance=0.45# tolerance=0.35
face_distances = face_distances = face_recognition.face_distance(known_face_encoding, caras)##tolerance=image_thread## tolerance=0.45# tolerance=0.35
name = "Unknow"
best_match_index = np.argmin(face_distances)
if True in matches:
#first_match_index = matches.index(True)
name = known_face_names[best_match_index]
contador=contador+1
print ('Encontrado!!! ', contador)
print(name)#input_image