Распознавание лиц — это популярный метод, используемый в различных областях для обнаружения и идентификации лиц. Несмотря на то, что точность распознавания лиц ниже, чем у других биометрических технологий, таких как сканирование радужной оболочки глаза и отпечатки пальцев, этот метод считается безопасным благодаря бесконтактному и неинвазивному процессу. Прогнозируется, что в ближайшие годы все больше людей начнут внедрять и предпочтут распознавание лиц другим биометрическим процессам из-за сценариев COVID19. За последние несколько лет разработано множество библиотек и фреймворков для распознавания лиц. В этом проекте я использовал технологию гистограммы ориентированных градиентов (HOG), этот метод был разработан в начале 2005 года. Исследование Навнит Далал и Билл Триггс показало, что HOG может обнаруживать людей относительно лучше, чем существующие методы, такие как вейвлеты. . SVM (машина опорных векторов) используется для классификации изображений методом HOG.

Что такое HOG и как он работает?

HOG — это дескриптор функции, используемый для извлечения функций попиксельно с помощью градиентов. Это в основном используется для обнаружения лиц, распознавания и обнаружения объектов. HOG работает с изображениями в оттенках серого. Каждое изображение имеет определенную ориентацию градиента, которая помогает HOG извлекать уникальные функции из изображения.

Требования –

В этом проекте я использовал различные видеоклипы из известного веб-сериала Money Heist, клипы были собраны с ютуба, загруженного разными пользователями. Во-первых, алгоритм обучался на одном изображении каждого персонажа, появляющегося в видео, помеченного отдельно. Модель смогла идентифицировать персонажей до конца, но не под разными углами. Чтобы создать лучший набор данных, код был немного изменен таким образом, что каждый раз, когда обнаруживается лицо, модель обрезает обнаруженное лицо и сохраняет его по соответствующему пути с соответствующим именем файла (character_name+n.bmp ), а позже собранные лица были объединены в одно изображение и использованы в качестве обучающего набора данных, что позволило обнаруживать лица под разными углами. В некоторых случаях более 3000 лиц каждого персонажа были объединены вместе для создания надежной модели.

Я столкнулся с проблемой cv2.imwrite при попытке экспортировать изображение в формат png, поэтому изображения были сохранены в формате .bmp.

Объединенное изображение, объединенное со всеми лицами персонажа, выглядит так, как показано на изображении ниже.

Окончательный вывод -

Ссылка на репозиторий кода на github. Не стесняйтесь раскошелиться :)