Python人脸识别多重匹配

问题描述 投票:0回答:1

我正在使用 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
python face-recognition multiple-matches
1个回答
0
投票

解决了!

一位朋友给了我解决方案。 “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
© www.soinside.com 2019 - 2024. All rights reserved.