Аннотация 2
ВВЕДЕНИЕ 5
1 АНАЛИЗ СОСТОЯНИЯ ВОПРОСА РАСПОЗНАВАНИЯ ЭМОЦИЙ НА ИЗОБРАЖЕНИИ 7
1.1 Введение в задачу распознавания эмоций на изображении 7
1.2 Обзор существующих аналогов 10
2 ПРОЕКТИРОВАНИЕ АЛГОРИТМА ДЛЯ РАСПОЗНАВАНИЯ ЭМОЦИЙ НА ОСНОВЕ АНАЛИЗА ИЗОБРАЖЕНИЙ 17
2.1 Описание алгоритма 17
2.2 Математическая модель алгоритма 32
3 ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ ПРЕДЛОЖЕННЫХ РЕШЕНИЙ И ТЕСТИРОВАНИЕ 37
3.1 Программная реализация алгоритма 37
3.2 Тестирование алгоритма 47
ЗАКЛЮЧЕНИЕ 52
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ 53
В настоящее время, когда человечество переступило порог двадцатого века и вступило в третье тысячелетие нашей эры, информационные технологии стали неотъемлемой частью человеческой жизни. Их грамотное применение на производственном поприще является целью любого профессионала. ЮНЕСКО определяет информационные технологии как комплекс взаимосвязанных технологических, научных, инженерных дисциплин, которые направлены на хранение, обработку и использование информации. ИТ включают в себя множество разнообразных областей развития. Например, интеллектуальные системы, когнитивные ИТ, технологии баз данных, компьютерная графика, управленческие информационные системы, а также многие другие. Одной из таких областей является компьютерное зрение.
Компьютерное зрение - достаточно молодая и быстро развивающаяся область информационных технологий. Как самостоятельная дисциплина компьютерное зрение появилось в начале 1950-х годов, когда John von Neumann предложил анализировать микроснимки при помощи компьютеров путём сравнения яркости соседних частей изображения. Основной целью данной дисциплины является построение систем, способных извлекать из изображений полезную информацию об объектах окружающей среды и её дальнейшее использование. Обработка информации может осуществляться как на универсальных, так и на специализированных компьютерах. С помощью компьютерного зрения можно решать множество различных задач. Например, сегментация изображений, обнаружение объектов, классификация изображений, распознавание динамических объектов и многие другие. Одной из таких задач является распознавание эмоций на изображении. Именно данная задача и будет реализовываться в ходе выполнения данной выпускной квалификационной работы.
Актуальность данной работы заключается в том, что тема распознавания эмоций быстро развивается, при помощи эмоций можно определить какие действия в той или иной ситуации буду приемлемы по отношению к человеку, а какие нет. Поэтому обучив компьютер распознаванию эмоций можно значительно оптимизировать и автоматизировать некоторые процессы.
Объектом исследования является алгоритм распознавания эмоций.
Предметом исследования является анализ точности алгоритма распознавания эмоций.
Целью работы является разработка алгоритма для распознавания эмоций на изображении, при этом средняя точность классификации эмоций должна быть больше 77%, а распознавание лиц должно производиться при их отклонении от фронтального положения вплоть до 45 градусов.
В соответствии с обозначенной целью были сформулированы следующие задачи:
• проанализировать предметную область;
• подготовить и рассмотреть альтернативы и решения, которые необходимо использовать при проектировании алгоритма;
• выбрать язык программирования и технологию необходимые для реализации принятых решений;
• исходя из принятых решений реализовать алгоритм для распознавания эмоций на изображении на выбранном языке с использованием выбранной технологии;
• добавить возможность распознавания эмоций на видеопотоке, получаемом с веб-камеры;
• провести анализ эффективности разработанного алгоритма.
При подготовке бакалаврской работы была опубликована статья по теме разработка алгоритма для распознавания эмоций на изображении. Результаты работы были доложены на VI Международной научно-практической конференции молодых ученых «Прикладная математика и информатика: современные исследования в области естественных и технических наук».
В ходе выполнения данной выпускной квалификационной работы был спроектирован и реализован алгоритм для распознавания эмоций на изображении. Данный алгоритм может распознавать все 6 базовых эмоций, а также состояние спокойствия, при работе с видеопотоком алгоритм оценивает не только текущие эмоциональное состояние человека, но и производит расчёты в соответствии с тем какое количество времени объект прибывал в данном эмоциональном состоянии. Повышенная точность распознавания лиц была достигнута использованием для их поиска обратной свёрточной нейронной сети (DNN), достижение точности алгоритма в районе 80% было возможно благодаря классификатору эмоций, которым является свёрточная нейронная сеть (CNN). Считаю, что цель работы была достигнута.
В каждом из основных разделов данной работы решались свои задачи.
В первом разделе была рассмотрена сущность задачи распознавания эмоций, а также представлены наиболее известные существующие аналоги.
Во втором разделе были предложены и рассмотрены решения необходимые при проектировании алгоритма, был сформирован конечный вариант разрабатываемого алгоритма, а также спроектирована его математическая модель.
В третьем разделе были рассмотрены язык программирования, используемый для реализации алгоритма, необходимые библиотеки и технологии, представлены наиболее важные фрагменты кода, а также проведено тестирование точности данного алгоритма.
В дальнейшем разработанный алгоритм можно использовать при проведении социологических исследований или, например, можно встроить его в камеры видеонаблюдения в магазинах, которые буду оценивать эмоциональное состояния покупателей, а результаты выводить на информационное табло. При должном обслуживании такой ход может помочь в привлечении новых клиентов.
1. Визильтер Ю. В. Обработка и анализ изображений в задачах машинного зрения: Курс лекций и практических занятий. - М.: Физматкнига, 2010. - 672 с.
2. Галушкин, А.И. Нейронные сети: основы теории. / А.И. Галушкин. - М.: РиС, 2015. - 496 с.
3. Гелиг, А. Х. Введение в математическую теорию обучаемых распознающих систем и нейронных сетей. Учебное пособие / А.Х. Гелиг, А.С. Матвеев. - М.: Издательство СПбГУ, 2014. - 224 с.
4. Головко В.А. От многослойных персептронов к нейронным сетям глубокого доверия: парадигмы обучения и применение // XVII Всероссийская научно-техническая конференция с международным участием, 2015. - C. 47-84.
5. Гонсалес Р. Цифровая обработка изображений / Р. Гонсалес, Р. Вудс. - Москва: Техносфера, 2012. - 1104 с.
6. Каллан, Р. Нейронные сети: Краткий справочник / Р. Каллан. - М.: Вильямс И.Д., 2017. - 288 с.
7. Клейнберг Дж., Тардос Е. Алгоритмы: разработка и применение. Классика Computers Science / Пер. с англ. Е. Матвеева. - СПб.: Питер, 2016. - 800 с.
8. Красильников Н. Цифровая обработка 2D- и 3Э-изображений / Н. Красильников: Отдельное издание. - БХВ-Петербург, 2011. - 608 с.
9. Редько, В.Г. Эволюция, нейронные сети, интеллект: Модели и концепции эволюционной кибернетики / В.Г. Редько. - М.: Ленанд, 2019. - 224 с.
10. Beyerer J. Automated Visual Inspection: Theory, Practice and Applications / J. Beyerer, P. Fernando, F. Christian. - Springer Berlin Heidelberg, 2016. - 798 p.
11. Calender M. BRIEF: binary robust independent elementary features / M. Calender, V. Lepetit, C. Strecha, P. Fua // European Conference on Computer Vision, 2010. - P. 778-792.
12. Chollet F. Deep Learning with Python - Manning Publications, 2017. - 384 p.
13. Geron Au. Hands-On Machine Learning with Scikit-Learn, Keras and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems Second Edition (Third Release) - O'Reilly Media, 2019. - 856 p.
14. Lubanovic B. Introducing Python: Modern Computing in Simple Packages Second Edition - O'Reilly Media, 2019. - 605 p.
15. Lutz M. Python Pocket Reference, 5th Edition - O'Reilly Media, 2014. - 264 p.
...