2014 dxdy logo

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

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




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


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

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

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

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

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

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

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

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
3363
г. Чехов
Как на самом деле работает распознавание лиц
https://habr.com/ru/company/ntechlab/blog/586770/

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

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


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

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


16/08/19
124
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
3363
г. Чехов
mathpath в сообщении #1567713 писал(а):
Меня open-source проекты естественно интересуют больше

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

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


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

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


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

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

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



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

Сейчас этот форум просматривают: Rasool


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

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