Re: Face recognition
От: alex_public  
Дата: 14.05.23 16:11
Оценка:
Здравствуйте, steepe, Вы писали:

S>Я собрал большую базу фоток знаменитостей (актёры, спортсмены, политики, деятели и т.д.). Пользователь вводит свою фотку, и ему на выходе говорится, на какую из звёзд он больше всего похож (в процентах).


S>База большая, несколько гигабайтов. Я думал, процесс такой:

S>1) обучаем нейросеть на базе: обрезаем лица, делаем выравнивание, получаем эмбеддинг для каждого лица из фотки, записываем в базу два поля: имя звезды и эмбеддинг лица. Нужна мощная gpu-карта?

Что за эмбеддинг? И вообще то обучения в указанном процессе просто нет. Сам эмбеддинг — это обычно применение уже натренированной модели.

S>2) вводим фотку пользователя. Получаем её эмбеддинг. Пробегаемся по всей базе и вычисляем евклидово расстояние, сравнивая эмбеддинги


Ну тогда уж косинусное расстояние лучше брать для таких подходов.

А вообще тут лучше применить какой-нибудь классификатор на базе случайного леса или градиентного бустинга (кстати как раз тут и будет тогда настоящее обучение).

S>3) выводим самые короткие расстояния.


S>Как вам такая идея? Или есть получше и поэффективнее?


Вообще то это уже давным давно решённая задача. И лучшие результаты в ней показывают свёрточные нейронные сети. Просто берёшь какую-нибудь там resnet и получаешь сразу и "эмбеддинг" и классификатор в одном флаконе.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.