@MrPr

Как идентифицировать лица с помощью алгоритмов машинного обучения?

В целях самообразования решил начать изучать вопросы связанные с алгоритмами машинного обучения. Чтобы изучение было интересным, решил попробовать реализовать задачу идентификации лиц на фотографиях. Помогли некоторые статьи (например, https://habrahabr.ru/post/317798/) и я научился выделять лица на фотографиях, выравнивать их, но вот с последним этапом - классификацией, есть проблемы. Если действовать по основной массе примеров, то все получается хорошо, так как конечное количество классов и модель обучается и выдает приемлемые результаты. Это предыстория.
Мой основной вопрос, как сделать классификатор, который можно доучить для идентификации нового лица. Например есть классификатор на 10 выходов, как создать новый классификатор, который будет уметь идентифицировать новое лицо, т.е. будет иметь 10+1 выход, но при этом не переучивая полностью классификатор, а расширив размерность и доучивая для идентификации нового лица?
Сопутствующий вопрос, может есть другой способ быстро сопоставлять вектор признаков с идентификатором человека? Неужели у Facebook используется классификатор с 1,6 миллиардов выходов, который сопоставляет лицо с фотографии с учетной записью?
  • Вопрос задан
  • 273 просмотра
Пригласить эксперта
Ответы на вопрос 2
Arseny_Info
@Arseny_Info
R&D engineer
Можно дообучить любую нейросеть, в случае с изображениями это имеет смысл: гуглите transfer learning и fine tuning (например, cs231n.github.io/transfer-learning/).
Ответ написан
Комментировать
@xdgadd
ML/Python/Cpp
Вместо идентификаторов попробуйте получать на выход вектор фиксированной размерности. Тогда, вам остается векторизировать уже существующие в базе лица, а новые, которые будет выдавать сеть, сравнивать. Например, через консинусное расстояние.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы