Skip to content

Face, emotion, gender, age and race detector in photos and videos with the ability to analyze detections on video

License

Notifications You must be signed in to change notification settings

sergey21000/face-detector-deepface

Repository files navigation


Face, Emotion, Gender, Age, Race Detection with DeepFace and Streamlit

Hugging Face Spaces Docker Hub

Детектор эмоций, пола, возраста и расы на фото и видео на основе библиотеки DeepFace и с веб-интрефейсом на Streamlit

В Google Colab Open in Colab ноутбуке находится код демонстрации возможностей библиотеки DeepFace, демонстрация функционала приложения и отрисовка графиков результатов детекции видео

Скриншот страницы детекции изображений

Главная страница

Скриншот страницы детекции видео

Страница детекции

Скриншот страницы отображения графиков результатов детекции видео

Страница результатов


📋 Содержание


🚀 Функционал

  • Детекция лиц и распознавание эмоций, пола, возраста и расы с отрисовкой результата на фото/видео
  • Отображение прогресс-бара детекции видео
  • Регулировка порога уверенности модели в том что на изображении есть лицо
  • Возможность указать параметр дополнительного выравнивания (align) перед детекцией для улучшения качества
  • Сохранение результатов детекции видео в файл csv с последующей отрисовкой графиков для анализа видео
  • Возможность скачать результаты детекции (фото / видео / файл csv с аннотациями)
  • Детекция фото с веб-камеры и отрисовка результата

🛠 Стек

  • 3.8 <= python <= 3.11
  • deepface для детекции лиц и распознавания эмоций, пола, возраста и расы
  • Streamlit для написания веб-интерфейса
  • ffmpeg для конвертации видео в отображаемый в браузере формат
  • seaborn для отрисовки графиков результатов детекции видео

Работоспособность приложения проверялась на Ubuntu 22.04 (python 3.10)
Документация с командами установки TensorFlow для Windows


🐍 Установка и запуск на Linux через Python

1) Клонирование репозитория

git clone https://github.com/sergey21000/face-detector-deepface.git
cd face-detector-deepface

2) Создание и активация виртуального окружения (опционально)

python3 -m venv env
source env/bin/activate

3) Установка зависимостей

  • С поддержкой CPU

    pip install -r requirements-cpu.txt
    
  • С поддержкой CUDA

    pip install -r requirements.txt
    

4) Запуск сервера Streamlit

streamlit run Image_Detection.py

После запуска сервера перейти в браузере по адресу http://localhost:8501/


🐳 Установка и запуск через Docker

Для запуска приложения с поддержкой GPU CUDA необходима установка NVIDIA Container Toolkit.

🏃‍ Запуск контейнера из образа Docker HUB

С поддержкой CPU и CUDA

docker run -it -p 8501:8501 -v ./models:/app/models sergey21000/face-detector-deepface

Данный образ собран на основе образа tensorflow/tensorflow:2.15.0-gpu

🏗 Сборка своего образа и запуск контейнера

1) Клонирование репозитория

git clone https://github.com/sergey21000/face-detector-deepface.git
cd face-detector-deepface

2) Сборка образа и запуск контейнера

Сборка образа

docker build -t face-detector -f Dockerfile .

Запуск контейнера

  • С поддержкой CPU
docker run -it -p 8501:8501 -v ./models:/app/models face-detector
  • С поддержкой CUDA
    docker run -it --gpus all -p 8501:8501 -v ./models:/app/models face-detector
    

После запуска сервера перейти в браузере по адресу http://localhost:8501/


Приложение написано для демонстрационных и образовательных целей как любительский проект, оно не предназначалось / не тестировалось для промышленного использования

Лицензия

Этот проект лицензирован на условиях лицензии MIT.

About

Face, emotion, gender, age and race detector in photos and videos with the ability to analyze detections on video

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages