Я следовал объяснениям и примерам из репозитория, однако при использовании функцию Compare_faces я получаю True, хотя человек в кадре полностью отличается от существующих face_encodings в моей кодовой базе.
Я пробовал изменить допуск в функции Compare_faces, а также измените параметр face_encodings model на big . Однако это не принесло пользы, поскольку снижение допуска вызывает другую проблему, а это означает, что в систему добавляется больше кодировок face_encoding для одного и того же человека.
Код: Выделить всё
import face_recognition
known_face_encodings = []
# Frame is from OpenCV
face_locations = face_recognition.face_locations(frame)
face_encodings = face_recognition.face_encodings(frame, face_locations, model="small")
for face_encoding in face_encodings:
matches = face_recognition.compare_faces(
known_face_encodings, face_encoding, tolerance=0.6)
if True in matches:
print(matches) # [True, False, etc.]
else:
# Append new face to known_face_encodings
known_face_encodings.append(face_encoding)
Сталкивался ли кто-нибудь с этой проблемой раньше, и если да, то как вы это сделали? о решении этой проблемы?
Подробнее здесь: https://stackoverflow.com/questions/791 ... ent-people
Мобильная версия