Как получить процент совпадения изображения в алгоритме KNN для распознавания лиц

#python #face-recognition #knn

Вопрос:

В настоящее время я слежу за этим репо: https://github.com/ageitgey/face_recognition/blob/master/examples/face_recognition_knn.py для распознавания лиц в python используется алгоритм KNN. Когда я прочитал код, я нашел это

     # Find encodings for faces in the test iamge
    faces_encodings = face_recognition.face_encodings(X_img, known_face_locations=X_face_locations)

    # Use the KNN model to find the best matches for the test face
    closest_distances = knn_clf.kneighbors(faces_encodings, n_neighbors=1)

    are_matches = [closest_distances[0][i][0] <= distance_threshold for i in range(len(X_face_locations))]

    # Predict classes and remove classifications that aren't within the threshold
    return [(pred, loc) if rec else ("unknown", loc) for pred, loc, rec in zip(knn_clf.predict(faces_encodings), X_face_locations, are_matches)]

 

из приведенного выше кода можно узнать, есть ли способ получить процент совпадающего изображения… например: я хотел бы знать процент изображения X, когда оно сравнивается с изображениями, которые были обучены

Ответ №1:

Попробуйте взглянуть на это: %%% на github Адам Гейтги объясняет, что нет прямого способа преобразовать расстояние в процент … но «что-то вроде этого» есть.

Комментарии:

1. Привет @Bohdan,я заглянул на этот сайт, и меня смущает то, как получить face_distance ценность. Является face_distance ли значение исходит из closest_distances (из приведенного выше кода, который я упомянул в своем вопросе) ?

2. Да, это так, ваши самые близкие расстояния-это список таких расстояний… Однако это расстояние между двумя гранями нормализуется на 1: когда оно равно 0 — грани абсолютно одинаковы(100% сходства), а 1 означает, что они абсолютно разные(0% сходства), верно? Итак, мое предложение состоит в том, чтобы использовать самый простой процентный расчет » процент = (1,0 — расстояние) * 100,0 ` . Никто не может увидеть и понять разницу между 86% и 92% сходства изображений, так зачем вам нужно ломать себе голову этим?!