Фиксируем эмоциональный отклик бесплатно без регистрации и sms
Статья для моего telegram канала proUXR
Сначала небольшой дисклеймер: прошу не относиться к статье очень серьезно, для меня это пока не прикладная история, а скорее любопытный кейс.
Итак, о чем пойдет речь? После прочтения я предлагаю вам поиграть в нейромаркетолога и проанализировать выражение лица на видеозаписи. Все, что вам для этого потребуется, – ChatGPT и немножко Python-кода (не переживайте, с его написанием легко справятся ChatGPT или DeepSeek, вам придется только разобраться, как запустить код).
В достижении цели нам поможет фреймворк DeepFace
Библиотека DeepFace – это легковесное решение для распознавания лиц и анализа их атрибутов с использованием передовых моделей глубокого обучения. Она поддерживает множество популярных моделей и методов, включая VGG-Face, FaceNet, OpenFace, DeepID, ArcFace, Dlib, SFace и GhostFaceNet.
DeepFace работает локально, без необходимости в облачных сервисах. Он использует предобученные модели, которые можно запускать на локальном компьютере с CPU или GPU.
📌 Что нужно для работы?
- Python (рекомендуется 3.7+).
- Установка через pip: pip install deepface
- Дополнительные библиотеки (устанавливаются автоматически):
🔥 Ускорение на GPU
Если у вас есть видеокарта NVIDIA (например, RTX 3070 как в моем случае), то DeepFace может работать быстрее с использованием CUDA. Для этого нужно установить:
pip install tensorflow-gpu
🚀 Локальный запуск
После установки библиотека готова к использованию.
🔹 Основные возможности:
- Распознавание лиц – идентификация лиц с использованием различных предобученных моделей.
- Верификация лиц – определение, принадлежат ли два изображения одному человеку.
- Построение эмбеддингов – представление лиц в виде многомерных векторов.
- Анализ атрибутов лица:
- возраст (±4.65 года точность MAE)
- пол (97.44% точность)
- эмоции (грусть, радость, гнев, страх и др.)
- раса (азиат, белый, латиноамериканец и др.)
- Детекция и выравнивание лиц – улучшение точности за счёт нормализации изображений.
- Антиспуфинг – определение, является ли изображение реальным.
- Работа с видео – потоковый анализ лиц в реальном времени.
- API и интеграция – возможность работы через REST API и Docker-контейнеры.
Нас интересует четвертый пункт, атрибуты эмоций
DeepFace распознаёт следующие эмоции:
- angry (злость)
- disgust (отвращение)
- fear (страх)
- happy (радость)
- sad (грусть)
- surprise (удивление)
- neutral (нейтральное выражение лица)
Предположим, что на входе у нас есть видео с изображением лица. Лично я просто сделал селфи видео и покривлялся на камеру. Дальше нам нужно установить все что нужно, я предпочитаю работать в Jupyter Notebook, в папке нашего проекта будет видеозапись и скрипт.
Результатом нашей работы будет Python-скрипт, который извлекает кадры из видео, определяет выраженность каждой из эмоций на лице в кадре и строит график с динамикой значений эмоций.
Вот что получилось у меня:
Очевидно, весь процесс можно было описать и подробнее, но у меня не было цели сделать инструкцию. Я предлагаю взять эту идею за основу и самостоятельно поэкспериментировать с ChatGPT. Если вдруг у кого-то возникнет желание собрать больше данных и вместе попилотировать этот инструмент, напишите мне, пожалуйста, в телегу, это будет интересный опыт!
Другие статьи в моем канале: https://t.me/proUXR