Мой код не может обнаружить неизвестного человека.Даже тот человек, которого нет в наборе данных, мойogniser.py по-прежнему показывает тот человек, который в базе данных.например, в файле набора данных есть только одно имя человека Джеймс.Тем не менее, даже неидентифицированные лица, такие как Дженни или Кевин (которых нет в базе данных), показывают код Джеймсу.
Мой код распознавателя.py ниже
data = pickle.loads(open(args["encodings"], "rb").read())
vs = VideoStream(src=0).start()
for encoding in encodings:
matches = face_recognition.compare_faces(data["encodings"], encoding)
name = "Unknown"
if True in matches:
matchedIdxs = [i for (i, b) in enumerate(matches) if b]
counts = {}
for i in matchedIdxs:
name = data["names"][i]
counts[name] = counts.get(name, 0) + 1
name = max(counts, key=counts.get)
names.append(name)
for ((top, right, bottom, left), name) in zip(boxes, names):
# rescale the face coordinates
top = int(top * r)
right = int(right * r)
bottom = int(bottom * r)
left = int(left * r)
cv2.rectangle(frame, (left, top), (right, bottom),
(0, 255, 0), 2)
y = top - 15 if top - 15 > 15 else top + 15
cv2.putText(frame, name, (left, y), cv2.FONT_HERSHEY_SIMPLEX,
0.75, (0, 255, 0), 2)
И код продолжает показывать Дженни Джеймсу.Даже Дженни нет в базе данных.Как я могу увеличить скорость обнаружения лица более точным?