Files
Face-recognition/README.md
T

39 lines
4.3 KiB
Markdown

# **Система Распознования Лиц**
![GitHub](https://img.shields.io/github/license/IgorVolochay/Face-recognition?style=flat-square&color=blue)  
![GitHub Repo stars](https://img.shields.io/github/stars/IgorVolochay/Face-recognition?style=flat-square&color=yellowgreen)  
![GitHub forks](https://img.shields.io/github/forks/IgorVolochay/Face-recognition?style=flat-square)  
![Python version](https://img.shields.io/badge/python-3.7-green?style=flat-square) <br>
## **Описание**
Система, написанная с применением алгоритмов **машинного обучения**, предназначенная для обнаружения лиц на изображении, с последующей идентификацией личности при помощи нейросети классификатора. <br>
Проект был разработан в качестве индивидуального проекта для 1 курса специальности 09.02.01 "Компьютерные системы и комплексы". Полное описание теоретической и практической части проекта, а так же, списки использованной литературы, смотреть <a href="https://github.com/IgorVolochay/Face-recognition/tree/main/Documentation">**здесь**</a>.
___
## **Используемые технологии:**
* `Tensorflow / Keras`;
* `Dlib`;
* `Scikit-image`;
* `Python Imaging Library`;
* `Matplotlib`.
___
## **Обучающая и Тестовая выборка:**
Обучающая выборка состоит из 5 наборов изображений лиц. 4 из 5 наборов состоят из изображений лиц добравольцев, готовых поучаствовать в проекте. Данные наборы имеют названия:
* `Men1`;
* `Men2`;
* `Men3`;
* `Female1`.
![img](/Documentation/persons.png)
Для создания изображений, используемых для обучения нейронной сети, были сняты 4 небольших видео, на каждого участника. Длинна каждого видео, в среднем была равна 20 секундам, с частотой смены кадров 30 FPS. При съёмке, камера плавно перемещалась, чтобы запечатлеть участников с разных ракурсов (вид по бокам, снизу и сверху).
### Пример отснятого видео:
![gif](Documentation/Men1_in_motion.gif)
Далее каждое видео необходимо было разбить на отдельные кадры. Для решения данной задачи был использован онлайн ресурс <a href="https://www.img2go.com/convert-to-image">img2go</a>. При использовании конвертации файла с расширением `.mp4` в `.jpg`, видеофайл разделяется на отдельные кадры, которые можно скачать одним архивом.
Помимо наборов изображений лиц 4 добровольцев, необходимо использовать некоторое количество изображений лиц случайных людей. Данный метод поспособствует улучшению точности работы модели нейронной сети. Для создания данного набора изображений был использован сайт <a href="https://thispersondoesnotexist.com/">This person does not exist</a>. Данный сайт использует алгоритмы машинного обучения для генерации изображений человеческих лиц, почти не отличимых от настоящих. Алгоритм способен генерировать изображения лиц людей разных возрастов (включая детей и пожилых людей), а также различных этнических групп.
### Пример сгенерированных изображений лиц:
![img](Documentation/some_person.png)
___