2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Face detection / recognition
Сообщение25.10.2022, 14:34 


16/08/19
122
Как работают системы распознавания лиц, установленные в метро, аэропортах ?

Я слабо представляю, как это выглядит
Имеется эталонная база данных людей, на каждого человека в этой базе, как я понимаю, заведена пара фотографий
в профиль и в анфас. Понятно, что может быть и больше, но в основном, как я понимаю, одна-две-три фотографии.

Видеокамера пишет видео, на видео мелькает интересующий нас субьект несколько секунд
Далее эти несколько секунд парсятся, и на интересующего субьекта генерится пачка фотографий

Потом эта пачка фотографий поступает на вход классификатора.
Эти фотки обрабатываются и сравниваются с базой данной
В этой эталонной базе данных нужно найти всего одного человека, если он там есть,
который представлен всего двумя-тремя эталонными фотографиями

И вот тут у меня диссонанс ...
Классические алгоритмы распознавания изображений построены наоборот:
имеется большая база данных, допустим классификация собак по породам
На вход поступает - одна ! - фотография собаки, далее она классифицируется как определенная порода собака
Т.е. здесь на входе - один обьект, а эталонная база очень большая

А в случае с распознаванием личности все наоборот - на входе куча обьектов,
и нужно определить не класс обьекта, а идентифицировать обьект по эталонной базе,
т.е. найти иголку в стоге сена

Как это работает ?

PS: хотя немного подумал и понял: по пачке входных фотографий строится стандартная модель
а потом по ней прогоняется вся эталонная база

 Профиль  
                  
 
 Re: Face detection / recognition
Сообщение25.10.2022, 15:01 


10/03/16
4444
Aeroport
mathpath
Заметьте, что эталонная база не заморожена. Вот понаехал я в Москву и вошел в метро. Не видевшая меня до этого момента система обязана распознать мое лицо как новый объект и в том или ином виде поместить в базу данных. А затем, когда я снова войду... куда-нибудь, отметить совпадение моего лица с тем самым новым объектом. Т.е. это как бы динамическая кластеризация, причем с гарантией, что каждому лицу в природе с вероятностью 99.9999% соответствует отдельный, хорошо "изолированный" от остальных кластер.

 Профиль  
                  
 
 Re: Face detection / recognition
Сообщение25.10.2022, 15:15 


12/07/15
3316
г. Чехов
Как на самом деле работает распознавание лиц
https://habr.com/ru/company/ntechlab/blog/586770/

Очень вкратце: на каждого человека (несколько фото) составляется представление (эмбеддинг) - вектор признаков. И затем векторы сравниваются с теми, что лежат в базе данных.

 Профиль  
                  
 
 Re: Face detection / recognition
Сообщение25.10.2022, 15:20 
Заслуженный участник
Аватара пользователя


16/07/14
9149
Цюрих
Если упрощенно, то для распознавания лиц модель учится решать не задачу "какой из встречавшихся при обучении людей изображен на этой фотографии", а "на этих двух фотографиях один и тот же человек или двое разных". Соответственно модели не нужно запоминать всех людей, а всего лишь учиться сравнивать две фотографии друг с другом.
А дальше можно некоторым хитрым образом спроектировать модель, чтобы по имеющейся базе людей можно было находить похожих на нашу текущую фотографию более эффективно, чем полным перебором.

 Профиль  
                  
 
 Re: Face detection / recognition
Сообщение25.10.2022, 15:51 


16/08/19
122
Mihaylo в сообщении #1567707 писал(а):
Как на самом деле работает распознавание лиц
https://habr.com/ru/company/ntechlab/blog/586770/

Очень вкратце: на каждого человека (несколько фото) составляется представление (эмбеддинг) - вектор признаков. И затем векторы сравниваются с теми, что лежат в базе данных.


Спасибо за наводку на insightface
Меня open-source проекты естественно интересуют больше

 Профиль  
                  
 
 Re: Face detection / recognition
Сообщение26.10.2022, 10:04 


12/07/15
3316
г. Чехов
mathpath в сообщении #1567713 писал(а):
Меня open-source проекты естественно интересуют больше

В datascience вовсе необязательно ковыряться в коде чужих. Вы можете юзать скомпилированные алгоритмы знаменитых компаний типа Google, Meta (террористическая организация) и др. Обёртки под скрипт Python.

 Профиль  
                  
 
 Re: Face detection / recognition
Сообщение26.10.2022, 18:41 


16/08/19
122
Я тут что называется на коленке наваял на питоне программу распознавания лиц
Она работает на основе сверточных нейронных сетей (тензорфлоу)
Алгоритм следующий: есть известные киноартисты, и я беру какой-то фильм с участием артиста,
нарезаю кучу картинок из этого фильма, где есть его морда, и создаю тренировочный датасет и тренирую модель.
Затем я делаю запрос на яндексе - покажи мне этого известного артиста, яндекс выдает кучу картинок с ним,
и с этих картинок я создаю тестовый набор, который не тренируется, а служит для проверки уже натренированной модели
Затем я подсовываю модели любое тестовое фото и прошу назвать артиста
Я сегодня проверил тестовый набор, и как ни странно, все работает почти с пол-пинка
Формат картинок и в тренировочном, и в тестовом наборе - 150 на 150 пикселов
Картинки могут быть любого формата - в смысли черно-белые и цветные
Я в ближайшее время хочу это все выложить на своем сайте для всеобщего обозрения, с датасетом и питоновскими исходниками

 Профиль  
                  
 
 Re: Face detection / recognition
Сообщение27.10.2022, 09:43 


16/08/19
122
Сегодня нашел на гитхабе проект deepface
Там уже все придумано и написано
В проекте есть поисковая функция find, которая ищет в массиве фотографий совпадения с эталонной фотографией,
и она подходит для моего случая, когда в качестве массива фотографий выступает нарезка кадров из видео,
а в качестве поискового эталона используется фотография из поисковика
Есть 5 моделей - VGG-Face, Facenet, Facenet512, ArcFace, SFace
Из 5 моделей некоторые работают идеально, некоторые не очень
Есть 3 метрики - cosine, euclidean, euclidean_l2
По метрикам особой разницы не заметил - все работают
Формат картинок в массиве и в эталоне может быть произвольным - в эталоне допустим черно-белая фотография,
а нарезка цветная, в эталоне лицо может быть на весь экран, а в видео-нарезке лицо может занимать не более 20 процентов от площади экрана
Точность движка в моем случае практически равна 100%

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group