Научный журнал
Современные наукоемкие технологии
ISSN 1812-7320
"Перечень" ВАК
ИФ РИНЦ = 0,940

МАТЕМАТИЧЕСКИЕ МОДЕЛИ И КОМПЛЕКС ПРОГРАММ ДЛЯ ОПРЕДЕЛЕНИЯ ЭМОЦИЙ ЧЕЛОВЕКА С ИСПОЛЬЗОВАНИЕМ ТЕХНОЛОГИЙ КОМПЬЮТЕРНОГО ЗРЕНИЯ

Тетеревенков Д.Л. 1 Корчагин С.А. 1
1 ФГОБУ ВО «Финансовый университет при Правительстве Российской Федерации»
В данной работе представлено решение задачи распознавания эмоций по изображению лица в режиме реального времени с использованием математического моделирования и специализированного программного комплекса. Примененный подход основан на использовании глубоких нейронных сетей, сопряженных с математическими методами обработки данных. Разработан и использован набор данных для обучения нейронной сети, а также проведено распределение данных по классам эмоций с учетом численных характеристик каждого класса. Исследованы и применены численные методы машинного обучения с целью определения наиболее эффективного алгоритма для точного распознавания эмоций. Проведен анализ математического аппарата, необходимого для успешной реализации методов распознавания эмоций, что привело к разработке программного комплекса на языке программирования Python. Созданная архитектура веб-приложения предоставляет возможность использования разработанного приложения на локальном компьютере пользователя с использованием видеопотока веб-камеры. Для визуализации результатов исследования применены численные методы, а веб-приложение, созданное с использованием фреймворка streamlit.io, в реальном времени определяет эмоции на лице человека и визуализирует их с помощью линейных и круговых диаграмм, построенных на основе разработанных методов математического моделирования.
математическое моделирование
численные методы
глубокое обучение
нейронные сети
распознавание эмоций
программные комплексы
1. Куанг Н.Д., Южаков М.М. Обзор методов оценки психоэмоционального состояния человека // Информационно-измерительная техника и технологии: материалы VI научно-практической конференции (Томск, 27–30 мая 2015 г.). Томск: Издательство Национального исследовательского Томского политехнического университета, 2015. С. 109–112.
2. Мельник О.В., Саблина В.А., Черненко А.Д. Распознавание микровыражений лица с использованием классификаторов на основе методов машинного обучения // Модели, системы, сети в экономике, технике, природе и обществе. 2023. № 1 (45). С. 125–135.
3. Русанова Е.Г. Обзор методов классификации эмоций человека для задач распознавания эмоций // Политехнический молодежный журнал. 2022. № 8. С. 8–10.
4. Мирошниченко М.А. Биометрические технологии как драйвер развития цифровой экономики // Общество и экономика знаний, управление капиталами: цифровая экономика знаний. 2022. № 6. С. 531–541.
5. Ямполь Е.С., Светличная Н.П. Использование искусственного интеллекта в образовании / Открытые эволюционирующие системы: цифровая трансформация: Материалы шестой международной научно-практической конференции. Посвящается 85-летию образования ДВГУПС. Хабаровск, 2022. С. 221-232.
6. Евсеев В.И. Искусственный интеллект в современном мире: надежды и опасности создания и использования // Аэрокосмическая техника и технологии. 2023. № 1. С. 16–34.
7. Бредихин А.И. Алгоритмы обучения сверточных нейронных сетей // Вестник Югорского государственного университета. 2019. № 1 (52). С. 41–54.
8. Романов А.А. Сверточные нейронные сети // Научные исследования: ключевые проблемы III тысячелетия: 21-я Международная научно-практич. конференция (Тверь, 10 января 2018 г.). Тверь: Издательство Тверского государственного университета, 2018. С. 5-9.
9. Гришанов К.М., Белов Ю.С. Модель сверточной нейронной сети в задачах машинного зрения // Наука, техника и образование. 2017. № СВ1(11). С. 100–106. URL: https://nto-journal.ru/catalog/informacionnye-texnologii/273/) (дата обращения: 13.07.2023).
10. Тимофеева О.П., Неимущев С.А., Неимущева Л.И., Тихонов И.А. Распознавание эмоций по изображению лица на основе глубоких нейронных сетей // Труды НГТУ им. Р.Е. Алексеева. 2020. № 1 (128). С. 16–24. URL: https://nto-journal.ru/catalog/informacionnye-texnologii/273/ (дата обращения: 09.07.2023).
11. Астахов Д.А., Катаев А.В. Использование современных алгоритмов машинного обучения для задачи распознавания эмоций // Cloud of science. 2018. Т. 5, № 4. С. 664–679.
12. Куликова Я.В., Качалов Д.Л. Метод определения эмоционального состояния человека при помощи чат-бота // Инженерный вестник Дона. 2022. № 9 (93). С. 42–52.
13. Гусева О.А. Применение методов машинного обучения для анализа психотипов личности // Инженерный вестник Дона. 2023. № 5 (101). С. 103–111.
14. Pramoda R., Arun S., Athul B., Bharath B., Reddy B. Emotion Recognition and Drowsiness Detection using Digital Image Processing and Python // International Journal of Scientific Research in Science and Technology. 2021. P. 1037-1043. DOI:10.32628/IJSRST2183209.

Определение психоэмоционального состояния человека в настоящее время становится предметом значительного интереса в контексте широкого применения, от медицинских исследований до маркетинговых стратегий [1]. Эмоции играют ключевую роль в общении, отражая взаимодействие человека с окружающим миром и самим собой. В современном обществе расширяются области применения распознавания эмоций, увеличивая потребность в точных методах определения человеческих эмоций.

Особый интерес представляет задача распознавания эмоций по изображению лица, и это обусловлено несколькими факторами. Прежде всего, изображения лиц легко доступны и широко распространены в повседневной жизни. Лица обладают высокой информативностью для распознавания эмоций, так как мимика, выражение глаз и другие физические признаки могут явно выражать или намекать на определенные эмоции [2, 3]. Более того, сбор больших наборов данных с изображениями лиц проще по сравнению с другими типами данных, такими как речь или почерк [4, 5].

Несмотря на активные исследования в области распознавания эмоций по мимике, в настоящее время недостаточно разработаны приложения, которые могли бы эффективно определять человеческие эмоции и использовать эту информацию для научных и медицинских целей. Машинное обучение представляется перспективным методом решения этой проблемы на практике [6].

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

Разрабатываемый программный комплекс позволит в реальном времени определять эмоции на лице человека по видеопотоку с веб-камеры. Для достижения этой цели приложение должно соответствовать следующим функциональным требованиям:

1. Программный комплекс должен проводить распознавание эмоций на лице человека в режиме реального времени.

2. Точность распознавания эмоций должна составлять не менее 85 %.

3. Программный комплекс должен формировать линейчатый график и круговую диаграмму на основе данных о распознанных эмоциях в реальном времени.

4. Пользователь должен иметь возможность использовать программный комплекс на своем локальном компьютере.

Математические модели и методы распознавания эмоций

В настоящее время в научных исследованиях и при создании программных комплексов активно используется техника решения задач с использованием методов глубокого обучения. Из-за изменений в изображениях, вызванных освещением, старением и другими факторами, достижение точности при распознавании эмоций в реальном времени является важной проблемой [7].

Для решения задачи распознавания эмоций в реальном времени был проведен сравнительный анализ следующих методов машинного обучения с акцентом на математические алгоритмы – SVM (Support Vector Machines), ANN (Artificial Neural Networks), и CNN (Convolutional Neural Networks).

Метод опорных векторов (SVM) использует математическую модель для разделения данных на классы. В случае распознавания эмоций SVM стремится построить гиперплоскость, максимально разделяющую изображения лиц по их эмоциональному состоянию. Основная математика SVM включает оптимизацию и поиск опорных векторов, минимизируя функцию потерь.

missing image file,

где ω – веса, b – смещение, C – параметр регуляризации, ξi – штраф за нарушение гипперплоскости.

Искусственные нейронные сети (ANN) состоят из взаимосвязанных узлов, имитируя работу человеческого мозга. В случае распознавания эмоций ANN обучается весам между узлами, оптимизируя функцию потерь. Основные математические аспекты включают в себя обратное распространение ошибки и применение градиентного спуска.

missing image file,

где missing image file – перекрестная энтропия, измеряющая разницу между предсказанными (Oij) и истинными Yij метками.

Основным инструментом из технологий нейронных сетей для решения задач распознавания эмоций является сверточная нейронная сеть (CNN) [8, 9].

В основе данного решения находятся сверточные слои. Операция свертки для i-го фильтра и j-го канала описывается следующим образом:

missing image file,

где W – ядро свертки, I – входные данные, l – коэффициент расширения.

В работе используется нейронная сеть, архитектура которой представлена на рис. 1. На первом этапе происходит определение входного слоя и количества фильтров в первом сверточном слое. Далее проводится эксперимент для определения количества сверточных слоев, размеров фильтров и полностью связанных слоев, что позволяет оптимизировать производительность модели. Для того чтобы предотвратить переобучение и улучшить обобщающую способность модели, были использованы такие методы, как dropout и batch normalization [10].

Модель обучалась на наборе данных, где каждое изображение лица относится к одной из следующих категорий эмоций: злость, отвращение, страх, счастье, грусть, удивление и нейтральное состояние.

missing image file

Рис. 1. Пример архитектуры нейронной сети

missing image file

Рис. 2. Результаты вычислительного эксперимента

Для обучения модели используются изображения лиц размером 48x48 пикселей. Важно, чтобы лица находились в центральной части изображения и занимали примерно одинаковое пространство. Таким образом, будут получены более точные результаты. Обучающий набор данных содержал 28709 примеров, а тестовый – 3589 [11].

Полученный набор данных был разбит на обучающую и тестовую выборку. Данный подход позволяет обеспечить валидацию точности модели по метрикам Precision, Recall и F-Score, благодаря тому, что не весь набор данных используется при обучении модели. Использование полного набора данных при моделировании и подборе параметров может привести к переобучению модели – модель с высокой точностью будет справляться с примерами из обучающей выборки, но будет показывать хуже результаты в данных на реальных примерах [12].

Проведено сравнение CNN с другими методами машинного обучения, используемыми в задачах распознавания эмоций – SVM, ANN [13]. В качестве метрики качества работы модели была использована Precision.

missing image file

где TP – количество экспериментов, когда классификатор верно соотнес объект к выбранному классу, FP – количество экспериментов, когда классификатор неверно соотнес объект к выбранному классу.

Результаты вычислительного эксперимента показаны на рис. 2.

Создание программного комплекса на основе streamlit.io

Принцип работы разработанного программного комплекса описан ниже. Система распознает лицо, по которому возможно определить эмоцию. Выражения лица обычно формируются движениями лицевых мышц. Затем различным эмоциям, которые они изображают, присваиваются определенные названия. После этого происходит процесс загрузки модели. Изображение bgr в градации серого преобразуется в изображение RGB, как только включается камера. После этого серое изображение масштабируется. Сразу после преобразования в градацию серого кадр пропускается через классификатор эмоций, который был предварительно обучен и настроен. Он предназначен для сопоставления настроения с ранее записанными эмоциями и классификации эмоций на основе вероятности. Затем классифицированное изображение маркируется. Возможно, что эмоция не будет распознана, если не будет ярко выражена. Если заданные эмоции присутствуют в базе данных, вычисляется вероятность присутствия конкретной эмоции.

После того, как получены результаты распознавания эмоций на тестовой выборке, необходимо проверить эффективность модели на видео в реальном времени. Программный комплекс включает в себя веб-приложения на основе streamlit.io. Как показывает практика [14], streamlit.io является довольно популярным решением для подобных задач. Разработанное приложение позволяет наглядно продемонстрировать результаты исследований, вывести дополнительные графики вероятности возникновения определенных эмоций для визуализации.

Код на Python преобразуется в веб-приложение при помощи библиотеки Streamlit. Данная библиотека позволяет добавлять виджеты, ввод текста, списки, выбор значений, визуализацию, графики, интерактивные панели, карты, различные элементы управления и запускать их во встроенном сервере.

При запуске было указано имя на Python с описанием веб-страницы, в нашем случае app.py. Streamlit запустил встроенный веб-сервер, а в нем – страницу на основе скрипта app.py. Сервер Streamlit запущен по адресу http://localhost:8501. Он запускается только на локальном компьютере, другие пользователи не смогут подключиться к этому приложению по сети.

missing image file

Рис. 3. Архитектура разработанного приложения Streamlit

В веб-приложении реализована визуализация видеопотока с веб-камеры. На основе данного видеопотока с помощью ранее обученной нейронной сети определяется эмоция человека. Результат работы нейронной сети выводится в левом верхнем углу видеопотока зелеными буквами.

Помимо видеопотока с прогнозом эмоций реализованы два графика:

− Круговая диаграмма – определенные нейросетью эмоции отображаются в виде круговой диаграммы, которая отображается в реальном времени.

− Линейный график – отображает определенные нейросетью эмоции во времени. По оси x – время, по оси y – эмоции. График обновляется в режиме реального времени.

Заключение

В исследовании был приведен анализ существующих методов распознавания эмоций на основе машинного обучения. Сверточная архитектура нейронной сети позволила распознать эмоции с точностью 89 %, что является лучшим результатом, по сравнению с другими исследуемыми моделями машинного обучения. Был разработан комплекс программ для распознавания эмоций человека по видео с использованием языка программирования Python. Программный комплекс включает в себя веб-приложение на основе streamlit.io, которое позволяет визуализировать исследуемые и обработанные данные. Полученные результаты могут быть полезны при решении практических задач в психологии, медицине и маркетинге.


Библиографическая ссылка

Тетеревенков Д.Л., Корчагин С.А. МАТЕМАТИЧЕСКИЕ МОДЕЛИ И КОМПЛЕКС ПРОГРАММ ДЛЯ ОПРЕДЕЛЕНИЯ ЭМОЦИЙ ЧЕЛОВЕКА С ИСПОЛЬЗОВАНИЕМ ТЕХНОЛОГИЙ КОМПЬЮТЕРНОГО ЗРЕНИЯ // Современные наукоемкие технологии. – 2024. – № 1. – С. 82-86;
URL: https://top-technologies.ru/ru/article/view?id=39912 (дата обращения: 19.05.2024).

Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»
(Высокий импакт-фактор РИНЦ, тематика журналов охватывает все научные направления)

«Фундаментальные исследования» список ВАК ИФ РИНЦ = 1,674