Как я могу обнаружить неизвестного пользователя в OpenCV ??Код не может обнаружить неизвестного пользователя в коде распознавания лиц. - PullRequest
0 голосов
/ 06 октября 2018

Мой код не может обнаружить неизвестного человека.Даже тот человек, которого нет в наборе данных, мой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)

И код продолжает показывать Дженни Джеймсу.Даже Дженни нет в базе данных.Как я могу увеличить скорость обнаружения лица более точным?

...