Разработка алгоритма распознавания эмоций на изображении
|
Введение 5
Глава 1 Анализ технологий распознавания эмоций на изображении 7
1.1 Введение в задачу распознавания эмоций на изображении 7
1.2 Сравнение алгоритмов распознавания эмоций 13
Глава 2 Проектирование алгоритма для анализа эмоций на изображении 21
2.1 Алгоритм нейросетевого распознавания эмоций 21
2.2 Источник данных для обучения нейронной сети 28
2.3 Оптимизация структуры нейронной сети и данных для обучения . . 32
Глава 3 Программная реализация алгоритма для распознавания эмоций на изображении 36
3.1 Описание разработанного приложения 36
3.2 Особенности программной реализации и примеры работы приложения 37
Заключение 48
Список используемой литературы и используемых источников 50
Глава 1 Анализ технологий распознавания эмоций на изображении 7
1.1 Введение в задачу распознавания эмоций на изображении 7
1.2 Сравнение алгоритмов распознавания эмоций 13
Глава 2 Проектирование алгоритма для анализа эмоций на изображении 21
2.1 Алгоритм нейросетевого распознавания эмоций 21
2.2 Источник данных для обучения нейронной сети 28
2.3 Оптимизация структуры нейронной сети и данных для обучения . . 32
Глава 3 Программная реализация алгоритма для распознавания эмоций на изображении 36
3.1 Описание разработанного приложения 36
3.2 Особенности программной реализации и примеры работы приложения 37
Заключение 48
Список используемой литературы и используемых источников 50
Компьютерное зрение - это научное направление по созданию аппаратно-программных комплексов, способных производить обнаружение, локализацию и распознавание объектов. Технологии компьютерного зрения применяются при решении таких задач, как обеспечение безопасности на массовых мероприятия, автоматизация охранных функций на различных объектах, верификация клиентов банков по изображению, улучшение качества фотографий [1].
В настоящее время исследователи из области искусственного интеллекта изучают возможности применения технологий компьютерного зрения для распознавания эмоций человека на основе изображения его лица.
Ежегодно проводятся соревнования разработчиков алгоритмов распознавания эмоций, цель в которых - добиться максимальной точности распознавания на заданном наборе данных. Анализ результатов соревнований AFEW-VA, EmotioNet challenge, OMG-Emotion challenge, 6th Emotion Recognition in the Wild Challenge (EmotiW) и EmoReact, AffectNet позволил выявить следующие особенности реализации алгоритмов. При реализации алгоритмов используется связка двух методов:
- метод поиска ключевых точек лица на изображении,
- метод классификации, определяющий класс эмоции на основе взаимного расположения ключевых точек лица.
Конечная точность работы алгоритма распознавания эмоций зависит от подбора удачного сочетания этих двух методов [5].
В данной работе предлагается отказаться от использования связки «метод поиска ключевых точек лица + метод классификации» и вместо этого использовать сверточную нейронную сеть. Сверточные нейронные сети предназначены для работы с изображениями и умеют самостоятельно определять необходимые признаки изображений для их классификации. Предполагается, что сверточная нейронная сеть с малым количеством слоев сможет показать результаты по точности сопоставимые со связкой «метод поиска ключевых точек лица + метод классификации».
Таким образом, цель работы - подбор архитектуры и тестирование нейронной сети, обеспечивающей распознавание эмоций на изображении при наименьшем количестве слоев и без поиска ключевых точек лица.
Для достижения цели решаются следующие задачи:
- проанализировать предметную область и существующих подходов по распознаванию эмоций на изображениях;
- разработать нейросетевой алгоритм распознавания эмоций на изображении и выбрать структуру нейронной сети;
- разработать программное обеспечение и протестировать
эффективность алгоритма.
Практическая значимость бакалаврской работы заключается в разработке программного обеспечения для нейросетевого распознавания эмоций.
Данная работа состоит из введения, трех глав, заключения, списка используемой литературы и приложений.
В первой главе рассматривается сущность задачи распознавания эмоций, а также анализируются существующие подходы для решения данной задачи.
Во второй главе осуществляет разработка алгоритма для распознавания эмоций на изображении, описывается обучающая выборка и результаты тестирования алгоритма.
В третьем разделе рассматриваются особенности программной реализации предложенного алгоритма распознавания эмоций на изображении.
В заключении представляются выводы по проделанной работе.
Бакалаврская работа состоит из 51 страницы текста, 33 рисунков, 2 таблиц, 4 формул и 20 источников.
В настоящее время исследователи из области искусственного интеллекта изучают возможности применения технологий компьютерного зрения для распознавания эмоций человека на основе изображения его лица.
Ежегодно проводятся соревнования разработчиков алгоритмов распознавания эмоций, цель в которых - добиться максимальной точности распознавания на заданном наборе данных. Анализ результатов соревнований AFEW-VA, EmotioNet challenge, OMG-Emotion challenge, 6th Emotion Recognition in the Wild Challenge (EmotiW) и EmoReact, AffectNet позволил выявить следующие особенности реализации алгоритмов. При реализации алгоритмов используется связка двух методов:
- метод поиска ключевых точек лица на изображении,
- метод классификации, определяющий класс эмоции на основе взаимного расположения ключевых точек лица.
Конечная точность работы алгоритма распознавания эмоций зависит от подбора удачного сочетания этих двух методов [5].
В данной работе предлагается отказаться от использования связки «метод поиска ключевых точек лица + метод классификации» и вместо этого использовать сверточную нейронную сеть. Сверточные нейронные сети предназначены для работы с изображениями и умеют самостоятельно определять необходимые признаки изображений для их классификации. Предполагается, что сверточная нейронная сеть с малым количеством слоев сможет показать результаты по точности сопоставимые со связкой «метод поиска ключевых точек лица + метод классификации».
Таким образом, цель работы - подбор архитектуры и тестирование нейронной сети, обеспечивающей распознавание эмоций на изображении при наименьшем количестве слоев и без поиска ключевых точек лица.
Для достижения цели решаются следующие задачи:
- проанализировать предметную область и существующих подходов по распознаванию эмоций на изображениях;
- разработать нейросетевой алгоритм распознавания эмоций на изображении и выбрать структуру нейронной сети;
- разработать программное обеспечение и протестировать
эффективность алгоритма.
Практическая значимость бакалаврской работы заключается в разработке программного обеспечения для нейросетевого распознавания эмоций.
Данная работа состоит из введения, трех глав, заключения, списка используемой литературы и приложений.
В первой главе рассматривается сущность задачи распознавания эмоций, а также анализируются существующие подходы для решения данной задачи.
Во второй главе осуществляет разработка алгоритма для распознавания эмоций на изображении, описывается обучающая выборка и результаты тестирования алгоритма.
В третьем разделе рассматриваются особенности программной реализации предложенного алгоритма распознавания эмоций на изображении.
В заключении представляются выводы по проделанной работе.
Бакалаврская работа состоит из 51 страницы текста, 33 рисунков, 2 таблиц, 4 формул и 20 источников.
В ходе выполнения бакалаврской работы были получены следующие результаты:
- на основе анализа литературных источников установлено, что большинство алгоритмов распознавания эмоций основано на совместной работе двух методов: метода поиска ключевых точек лица на изображении (Point Distribution Model, Facial Landmark Detection, Active Appearance Model и 2D-and-3D-face-alignment) и метода классификации данных (нейронные сети, деревья принятия решений, классификатор SVM);
- в работе предложено связку метода поиска ключевых точек лица и метода классификации можно заменить на сверточную нейронную сеть, что позволит облегчить настройку классификатора эмоций за счет использования стандартных алгоритмов обучения нейронных сетей;
- спроектирована максимально простая архитектура нейронной сети для решения задачи распознавания эмоций, которая включает в себя входной слой для получения изображения в виде числового массива 48*48*1; сверточный слой (convolution) c ядром 5*5, шагом свертки 2, количеством плоскостей (каналов) 32 и функцией активации ReLU; слой субдискретизации (max-pooling) с группой уплотнения 2*2; слой dropout, блокирующий сигналы 25% нейронов предыдущего слоя; сверточный слой (convolution) c ядром 3*3, количеством плоскостей (каналов) 64 и функцией активации ReLU; слой субдискретизации (max-pooling) с группой уплотнения 2*2; слой dropout, блокирующий сигналы 25% нейронов предыдущего слоя; слой снижения размерности (flatten) данных до одномерного вектора; слой (core layer ReLU) из 500 нейронов прямого распространения с функцией активацией ReLU и выходной (core layer SoftMax) слой с функцией активацией SoftMax.
- Увеличение точности работы нейронной сети с 66,4% до 78,1% удалось достигнуть за счет добавления слоев dropout, функционирующих только в процессе настройки сети и ослабляющих эффект переобучения сети за счет случайного блокирования некоторой части сигналов предыдущего слоя. Также точности сети была увеличена за счет синтезирования дополнительных изображений в самый малочисленный класс (класса эмоций «Disgust» / отвращение) изображений обучающей выборки. Синтез дополнительных изображений осуществлялся за счет применения со случайными параметрами операций масштабирования и вращения к исходным изображениям, содержащимся в классе.
- на языке программирования python разработано приложение, основанное на работе нейронной сети и позволяющего на основе анализа изображения лица определять один из 7 типов эмоция испытываемых человеком.
- на основе анализа литературных источников установлено, что большинство алгоритмов распознавания эмоций основано на совместной работе двух методов: метода поиска ключевых точек лица на изображении (Point Distribution Model, Facial Landmark Detection, Active Appearance Model и 2D-and-3D-face-alignment) и метода классификации данных (нейронные сети, деревья принятия решений, классификатор SVM);
- в работе предложено связку метода поиска ключевых точек лица и метода классификации можно заменить на сверточную нейронную сеть, что позволит облегчить настройку классификатора эмоций за счет использования стандартных алгоритмов обучения нейронных сетей;
- спроектирована максимально простая архитектура нейронной сети для решения задачи распознавания эмоций, которая включает в себя входной слой для получения изображения в виде числового массива 48*48*1; сверточный слой (convolution) c ядром 5*5, шагом свертки 2, количеством плоскостей (каналов) 32 и функцией активации ReLU; слой субдискретизации (max-pooling) с группой уплотнения 2*2; слой dropout, блокирующий сигналы 25% нейронов предыдущего слоя; сверточный слой (convolution) c ядром 3*3, количеством плоскостей (каналов) 64 и функцией активации ReLU; слой субдискретизации (max-pooling) с группой уплотнения 2*2; слой dropout, блокирующий сигналы 25% нейронов предыдущего слоя; слой снижения размерности (flatten) данных до одномерного вектора; слой (core layer ReLU) из 500 нейронов прямого распространения с функцией активацией ReLU и выходной (core layer SoftMax) слой с функцией активацией SoftMax.
- Увеличение точности работы нейронной сети с 66,4% до 78,1% удалось достигнуть за счет добавления слоев dropout, функционирующих только в процессе настройки сети и ослабляющих эффект переобучения сети за счет случайного блокирования некоторой части сигналов предыдущего слоя. Также точности сети была увеличена за счет синтезирования дополнительных изображений в самый малочисленный класс (класса эмоций «Disgust» / отвращение) изображений обучающей выборки. Синтез дополнительных изображений осуществлялся за счет применения со случайными параметрами операций масштабирования и вращения к исходным изображениям, содержащимся в классе.
- на языке программирования python разработано приложение, основанное на работе нейронной сети и позволяющего на основе анализа изображения лица определять один из 7 типов эмоция испытываемых человеком.
Подобные работы
- Моделирование алгоритма для распознавания эмоций на изображении и видеопотоке
Магистерская диссертация, математическое моделирование. Язык работы: Русский. Цена: 5650 р. Год сдачи: 2022 - Разработка алгоритма для распознавания эмоций на основе анализа изображений
Бакалаврская работа, программирование. Язык работы: Русский. Цена: 4600 р. Год сдачи: 2020 - Система видео- анализа эмоционального состояния студентов и их распределение на протяжении семестра (на примере ИТИС КФУ)
Дипломные работы, ВКР, информационные системы. Язык работы: Русский. Цена: 4300 р. Год сдачи: 2017 - Распознавание эмоций человека с помощью нейронных сетей
Бакалаврская работа, информатика. Язык работы: Русский. Цена: 4200 р. Год сдачи: 2022 - Реализация интеллектуальной системы распознавания эмоций с применением нейронных сетей
Магистерская диссертация, информационные системы. Язык работы: Русский. Цена: 5500 р. Год сдачи: 2017 - Проектирование и разработка системы тренировки и распознавания эмоций
Бакалаврская работа, программирование. Язык работы: Русский. Цена: 4650 р. Год сдачи: 2017 - ОПРЕДЕЛЕНИЕ ЭМОЦИОНАЛЬНОГО СОСТОЯНИЯ ЧЕЛОВЕКА НА ОСНОВЕ ВИДЕО АНАЛИЗА ЕГО ЛИЦА
Дипломные работы, ВКР, информатика. Язык работы: Русский. Цена: 6300 р. Год сдачи: 2018 - Анализ цветового распределения и тональности текста на изображениях в социальной сети «ВКонтакте»
Бакалаврская работа, информатика. Язык работы: Русский. Цена: 4335 р. Год сдачи: 2020 - Исследование и разработка методов компьютерного зрения для задач определения
атрибутов личности по изображению лица
Магистерская диссертация, информационные системы. Язык работы: Русский. Цена: 5500 р. Год сдачи: 2022



