Система Распознования Лиц
Описание
Система, написанная с применением алгоритмов машинного обучения, предназначенная для обнаружения лиц на изображении, с последующей идентификацией личности при помощи нейросети классификатора.
Проект был разработан в качестве индивидуального проекта для 1 курса специальности 09.02.01 "Компьютерные системы и комплексы". Полное описание теоретической и практической части проекта, а так же, списки использованной литературы, смотреть здесь.
Используемые технологии:
Tensorflow / Keras;Dlib;Scikit-image;Python Imaging Library;Matplotlib.
Обучающая и Тестовая выборка:
Обучающая выборка состоит из 5 наборов изображений лиц. 4 из 5 наборов состоят из изображений лиц добравольцев, готовых поучаствовать в проекте. Данные наборы имеют названия:
Men1;Men2;Men3;Female1.
Для создания изображений, используемых для обучения нейронной сети, были сняты 4 небольших видео, на каждого участника. Длинна каждого видео, в среднем была равна 20 секундам, с частотой смены кадров 30 FPS. При съёмке, камера плавно перемещалась, чтобы запечатлеть участников с разных ракурсов (вид по бокам, снизу и сверху).
Пример отснятого видео:
Далее каждое видео необходимо было разбить на отдельные кадры. Для решения данной задачи был использован онлайн ресурс img2go. При использовании конвертации файла с расширением .mp4 в .jpg, видеофайл разделяется на отдельные кадры, которые можно скачать одним архивом.
Помимо наборов изображений лиц 4 добровольцев, необходимо использовать некоторое количество изображений лиц случайных людей. Данный метод поспособствует улучшению точности работы модели нейронной сети. Для создания данного набора изображений был использован сайт This person does not exist. Данный сайт использует алгоритмы машинного обучения для генерации изображений человеческих лиц, почти не отличимых от настоящих. Алгоритм способен генерировать изображения лиц людей разных возрастов (включая детей и пожилых людей), а также различных этнических групп.


