Как сделать распознавание лица, используя евклидово расстояние в python - PullRequest
0 голосов
/ 15 апреля 2020

У меня есть проект, в который мне нужно включить face recognition. Я имею в виду эту статью . Эта статья использует open-face, чтобы получить лицо embeddings и сохраняет все вложения в файл рассола. Затем его передача граней встраивает данные в support vector machine, который генерирует другой файл pickle. Позже этот файл используется для распознавания и прогнозирования лица.

Это работает и дает мне более 80% точности. Но эта статья не объяснила, как рассчитать euclidean distance. Это мне нужно для моей собственной исследовательской работы.

Я могу легко вычислить euclidean distance между вложением лица тестового изображения и вложениями лица, присутствующими в файле маринования, но я не могу понять, как установить пороговое значение так, чтобы любое расстояние больше этого было отмечено as unknown.

Может кто-нибудь указать мне статью, в которой это было объяснено, и я могу оттуда продолжить. Я пробовал искать много статей, но не получил много результатов по этому вопросу. Пожалуйста помоги. Спасибо

1 Ответ

1 голос
/ 15 апреля 2020

Вы можете построить 2 (нормальные) распределения.

  1. расстояния между лицами одного и того же человека
  2. расстояния между различными лицами

Пересечение этих распределений будет быть порогом.

Маленькая иллюстрация: enter image description here

...