В этом статье мы рассмотрим, как с помощью Python можно распознать человека на фото, анализировать черты лица и устанавливать эмоцию человека на снимке, а также определять возраст человека по фотографии. Распознавание лиц, определение эмоции, возраста и пола может применяться в системах охраны, в общественных учреждениях для подсчета и классификации посетителей и др. Для реализации функций распознания человека на фото, определения его эмоций, пола и возраста мы будем использовать библиотеку Deepface.
Устанавливаем необходимые библиотеки через командную строку:
pip install deepface
Deepface это легкая библиотека для распознавания лиц и анализа атрибутов лица ( возраст , пол , эмоции и раса ) для Python. Модуль является гибридной системой распознавания лиц, объединяющей самые современные модели.
Современные системы распознавания лиц состоят из 5 общих этапов: обнаружение, выравнивание, нормализация, представление и проверка. Хотя модуль Deepface обрабатывает все эти общие этапы в фоновом режиме, нам для работы требуется вызвать только необходимую функцию.
Проверка лица.
Импортируем модуль DeepFace. Создаем функцию face_id(), которая принимает два параметра, пути к изображению. Для отлова возможных ошибок создаем блок try except. Для сравнения двух лиц на фотографии вызываем метод verify() модуля DeepFace. Метод возвращает словарь, главным ключом является verified в котором хранится True в случае сходства и False при различии. В зависимости от значения ключа verified мы можем настроить логику программы, например, разблокировать/заблокировать доступ.
Для качественного распознания человека на фото не достаточно одного фото. Для высокого качества распознания на фото человека нам нужна большая база его фотографий. Напишем код, который распознает на фотографии человека, используя несколько фотографий данного человека.
Метод find принимает два параметра путь к изображению, которое проверяем и путь к папке с базой изображений человека. Метод возвращает дата фрейм с информацией о совпадении или отсутствии совпадений.
Анализ черт лица
Deepface также поставляется с мощным модулем анализа черт лица, включая возраст, пол, национальность, выражение.
Создаем функцию face_analyze(), которая принимает один параметр путь к изображению. Создаем блок try except для обработки ошибок. Вызываем метод analyze() для проведения анализа изображения лица. Метод принимает два параметра: путь к изображению и список, содержащий необходимые черты для распознания. В результате получаем набор сведений о человеке его возраст, пол, эмоцию и расу.
В этой статье мы рассмотрели основы распознавание (идентификация) лиц на Python библиотекой Deepface, рассмотрели вопросы идентификации человека по фото,а также определение его возраста, пола, расы, эмоции.
С уважением, Карян Армен.
Занимаюсь профессиональной разработкой прикладных программ на Python.
email SoftSAR@yandex.ru
Telegram @SoftSar_am