Kpfu.ru
Федеральное государственное автономное образовательное учреждение высшего образованияКАЗАНСКИЙ (ПРИВОЛЖСКИЙ) ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТВЫСШАЯ ШКОЛА ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И ИНФОРМАЦИОННЫХ СИСТЕМНаправление подготовки: 09.04.04 – Программная инженерияВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТАСистема видео - анализа эмоционального состояния студентов и их распределение на протяжении семестра (на примере ИТИС КФУ)Работа завершена:Студент группы 11-511 ?___?_____________2017 г. ____________________ А.А. Омарова Работа допущена к защите:Научный руководительЗаведующий e-lab ?___?_____________2017 г. ____________________ Р.Р. ГайсинДиректор Высшей школы ИТИС ?___?_____________2017 г. __________________ А.Ф. Хасьянов Казань – 2017 г.ОГЛАВЛЕНИЕСтр.Введение……………………………………………………………………… 4Глава 1. Обзор существующих методов и систем распознавания эмоций……………………………………………............................................ 71.1Обзор существующих систем распознавания эмоций……... 71.1.1Система FaceReader …………………………………………… 71.1.2Система EmoDetect ……………………………………………. 81.1.3Система FacesSecurity …………………………………………. 101.1.4Система Microsoft Oxford Project Emotions Recognition ……. 121.1.5eMotion Software……………………………………………….. 121.1.6MMER_FEASy ………………………………………………… 131.2Обзор существующих методов распознавания эмоций……. 141.2.1Метод главных компонентов………………………………….. 141.2.2Метод Виолы-Джонса…………………………………………. 161.2.3Сравнение шаблонов………………………………………….. 161.2.4Нейронная сеть Хопфилда…………………………………….. 171.3Вывод по главе 1……………………………………………….. 18Глава 2. Комбинированный метод распознавания эмоций…………… 192.1Метод на основе локализации ключевых точек на лице……. 192.2Метод на основе информации о текстуре ………………… 242.3Алгоритм на основе геометрического анализа двигательных единиц лица…………………………………………………….. 252.4Классификация эмоций………………………………………... 302.5Вывод по главе 2……………………………………………….. 31Глава 3. Структура системы………………………………………………. 323.1Описание структуры программного обеспечения…………… 323.2Вывод по главе 3……………………………………………….. 34Глава 4. Экспериментальная часть………………………………………. 354.1Тестирование точности распознавания системы MS Emotion API и системы на основе комбинированного метода……….. 354.2Видео - анализ эмоционального состояния студентов, на протяжении семестра, на примере ИТИС КФУ ……………... 39Заключение…………………………………………………………………... 42Список литературы…………………………………………………………. 43Приложение А……………………………………………………………….. 47ВВЕДЕНИЕОбщение между людьми происходит каждый день, и процесс общения не всегда бывает продуктивным. В случае переговоров очень часто согласие, выраженное на словах, не приводит к желаемому решению сторонами. В ходе определенных исследований было установлено, что при личном общении двух людей лишь около 30 процент информации передается вербально, большая часть информации передается невербально – мимикой, жестами, позами и т.д. Также было установлено, что выражения базовых эмоций на лице человека не зависят от половой, расовой, культурной или возрастной принадлежности человека. Эти данные позволяют поставить задачу интеллектуализации системы распознавания эмоций и настоящих намерений человека по его внешнему образу и поведению в процессе коммуникации. Это очень актуально как для переговорного процесса в различных сферах деятельности людей, так и для служб безопасности, а также в повседневном общении. В настоящий момент исследователями принято, что люди могут выражать семь базовых эмоций: гнев, радость, удивление, страх, грусть, отвращение, нейтральное состояние [2]. Но еще существуют смешанные эмоции, которые составляются разными комбинациями главных эмоций. Под эмоциями подразумеваются кратковременные проявления чувств. Большую способность проявлять разные эмоциональные оттенки имеет лицо человека. Во время возникновения этих чувств, мускулы на лице двигаются и происходят заметные изменения на образе, например, морщины, смена положения форм бровей, глаз, и других частей лица.Существует три типа лицевых сигналов: статические (цвет кожи), длительные (морщины) и моментальные (поднятие бровей). Исследователи условно разделили лицо на три края, которые имеют способность двигаться независимо от других областей лица (брови; глаза; нижняя часть лица), и с комбинацией выражения данных областей составляется маска каждой эмоции. Автоматическая идентификация образов с помощью компьютера, является одним из наиболее важных направлений развития технологий искусственного интеллекта, позволяющая дать ключ к пониманию особенностей работы человеческого интеллекта. Исследование методов автоматического распознавания эмоций позволяет дать компьютеру возможность оценивать настроение человека. Анализ выражения лица является непростым направлением исследований в области распознавания образов, в основном из-за сложности получения точных признаков лица и его выражений.Методы распознавания эмоции объединяются на четыре больших класса: холистические, локальные распознавания, динамические, геометрические. Холистические методы распознавания анализируют эмоции по лицу в целом, чтобы после находить различия между изображениями: Independent Component Analysis (ICA), Principal Component Analysis (PCA), Fisher’s Linear Discriminants, Hidden Markov Models, кластерный анализ. Локальные методы распознавания строится на анализе отдельных частей лица: PCA, Нейронные сети, Facial Actions Code System (FACS). Динамические методы при распознавании берут за основу изменения местоположения частей лица, во время изменения различных выражении: Point Distribution Model (PDM), Active Shape Model (ASM). Геометрические методы берут за основу форму и положения различных частей лица человека, для извлечения характерных векторов, что передают геометрические признаки лица. Однако вышеперечисленные методы не всегда позволяют распознать эмоции пользователя с достаточным уровнем точности, поэтому в данной работе была поставлена задача разработки нового комбинированного метода распознавания эмоций.Целью диссертационной работы является – проведение видео - анализа положительного (радость) и отрицательного (грусть) состояния студентов на протяжении семестра, а именно до сессии, во время сессии, после сессии.Актуальность темы - задача распознавания эмоций на сегодняшний день очень актуальна на практике различных сфер, таких как медицина, социология, игровая индустрия, робототехника, маркетинг, психология, и дрПрактическая значимость:Мониторинг эмоций может использоваться в качестве дополнительного инструментария при клинико-психологическом исследовании состояния пациентов;Определение эмоциональных изменений играет важную роль в робототехнике, для понимания людей роботами;Подобный эксперимент с видео-анализом может применяться при определенных научно-исследовательских работах, таких как ?психология студентов?, ?психология работников?, ?психология пользователей? и т. д.Научная новизна - в распознавании эмоций, с целью повышения точности/скорости решения поставленных задач, используется комбинированный метод распознавания.Объем и структура работы. Диссертация состоит из введения, четырех глав и заключения. Полный объём диссертации составляет 46 страниц, включая 15 рисунков и 4 таблицы, 2 графика, 1 диаграммы. Список литературы содержит 35 наименований.Глава 1. ОБЗОР СУЩЕСТВУЮЩИХ МЕТОДОВ РАСПОЗНАВАНИЯ ЭМОЦИЙОбзор существующих систем распознавания эмоцийВ данной главе приведено краткое описание существующих систем распознавания эмоционального состояния человека. Также рассматриваются высокоперспективные направления применения комплексной системы распознавания лиц и эмоций.FaceReader Noldus Information Technology (Нидерланды)Данная система имеет возможность, верно распознавать эмоции по выражению лица. Система находит следующие эмоций, радость, печаль, удивление, злость, страх, отвращение, нейтральность. Кроме этого, FaceReader (рис. 1) может определить пол, возраст, расу человека. Программное обеспечение создается без машинного обучения и дополнительных настроек. В системе реализованы стандарты компьютерного зрения. В частности, метод Active Templates, который заключается при наложении деформирующегося шаблона на фотографию лица.Рисунок 1. Интерфейс Face ReaderПреимущества системы:Средний процент распознавания эмоций этой системой равен 89%, также не зависит от поворота и наклона лиц в поверхности; Программное обеспечение поддерживает огромным количеством форматов видео - файлов, с вложениями MPЕG1, MPЕG2, DV-АVI, DivХ5, DivХ4, DivХ6. Распознавание эмоций происходит покадрово, или в целом при просмотре видео – файла;Система работает не только с загруженным видео, FaceReader так же работает и с изображениями статичными и динамичными, то есть в реальном времени, которые берутся из считывания данных с камеры устройства пользователя [23];Система имеет следующие возможности визуализации: наличие диаграмм, гистограмм, присутствует накладываемая сетка, проценты выраженных эмоций.Недостатки:Процент определения возраста и эмоции очень сильно падает при распознавании лиц детей, возрастом меньше 5 лет;Обнаружение эмоции может быть неточным, при ношении человеком очки;Программное обеспечение не находит лица в профиль.EmoDetect (Россия, Нейороботикс)EmosDetect - это ПО, позволяющее определять психоэмоциональное состояние людей, по их изображениям (в видео, либо фотографии). Данный эмоциональный классификатор (рис. 2), может определить шесть главных эмоций, таких как радость, печаль, удивление, страх, злость, отвращение. Эмоции распознаются с помощью нейронных сетей. Это происходит следующим образом, на лице человека находятся ключевые точки, далее классификатор должен построить целостную картину на основе положения точек относительно друг друга. Компания Нейороботикс реализует системы, которые исследуют человеческую физиологию и физиологию животных. Система использует эти знания, создает технологии в области сенсорики в робототехнике, биоуправления, биомеханики [24].Рисунок 2 – Внешний интерфейс системы EmoDetectДостоинства:Производит спецификацию эмоций тремя свободными реестрами такими как, система решающих законов, нейронная сеть, классификатор по взвешенному числу сигналов;Может построить график динамики преобразования эмоций, проверяемого во времени; также формирует реестр, о результатах обрабатывания видеофайлов;Программа имеет возможность, записывания видеофайлов с веб-камеры;Делает анализ всех форматов, которые поддерживаются ОС.Недостатки:Программное обеспечение не определяет лица в профиль. Face Security (Германия, Cognitec)Данная система сканирует поток приходящих данных и если находятся лица в кадре, сравнивается с готовой базой данных, на предмет наличия схожести (совпадения). В случае нахождения схожести, приложение отправляет уведомление операторам, все это происходит в реальном времени. Это приложение имеет широкую распространенность в использовании в системах безопасности стран Европы, для детектирования подозрительных лиц, в общественных местах. Крупными компаниями используется для идентификации значимых клиентов [1]. Рядовыми фирмами система используется для обнаружения и распознавания лиц своих сотрудников (рис. 3), также для выявления незнакомых посетителей, здесь используются базу данных с фотографиями своих работников. Также это приложение может помочь в следствии, идентификации лица в местах преступления по изображениям на фотографии и видеонаблюдению, путем сопоставления изображений лиц в реестре агентств [35].Рисунок 3. Интерфейс системы FaceSecurity Преимущества:Система работает в реальном времени. Имеет возможность слежения за детектированным лицом, не только на одном потоке данных одновременно;При сканировании режима реального времени, обнаруженные лица сравниваются с изображениями, заранее занесёнными в реестр;Регистрация при неподвижном изображении;Ручное или автоматическое управление видеопотоком;Возможность лупы, то есть масштабирования в пределах ?контрольного реестра?: количество, размер, видеопотока и число видных лиц на изображении.Недостатки:Не имеет возможности произведения вычислений для отдельных лиц, которые имеют отклонение от обычного фронтального положения более чем на 15 градусов.Не может распознавать лица, если на него попадают тени и блики.Microsoft Oxford Project Emotion Recognition (США, Microsoft)Принцип работы системы Emotion Recognitions аналогичен вышеперечисленным системам: с помощью машинных алгоритмов система анализирует наличие лиц во входящем изображении, после этого определяет по мимике, предположительные эмоции человека (рис. 4).Рисунок 4. Интерфейс приложения Emotion RecognitionДостоинства:Вычисляет проценты выражаемых эмоций;Доступен Emotion API, который может использоваться в различных приложениях.Недостатки:Определяет эмоций только лишь на статичных изображениях;Программа не может распознавать лица, которые расположены под углом наклона, в зависимости от фронтального положения (>40градусов).eMotion SoftwareСистема реализована в Нидерландах, компанией Visual Recognition. eMotion Software- это система, которая стала известной тем, что разработчики системы определили эмоции на шедевре Леонардо Да Винчи ?Мона Лизы?. Конечный результат был таковым: Мона Лиза испытывала 83% счастье, 9% она выражала отвращение, 6% страха, на 2% она сердилась. Также приложение популярно тем, что это первое коммерческое приложение, и является платным ?коробочным? решением. В связи с этим решением, группа основателей запустила веб-ресурс . Система Visual Recognition взяла на себя лидерство в открытии портала, который посвящен определению эмоций в онлайн режиме.В этой программе, ведется отслеживание и ведется идентификация тех же эмоции, злость, страх, печаль, удивление, отвращение, счастье. ПО не сильно требователен к техническим и системным характеристикам компьютера. О деталях разработки алгоритма ничего неизвестно, потому что методика держится в тайне [2].MMER_FEASyСистема была разработана в Германии, компанией MMERSystems.В реализации этой системы был использован метод вставки на лицо человека установленного деформируемого шаблона и проверки на совместимость. ActiveAppearanceModel methodology это - методология, которая может высчитывать необходимые признаки в онлайн режиме. Программа распознает 6 главных эмоций, также имеет возможность определения на лицах возраст, расу и пол. Приложение идентифицирует личность человека, если когда-либо раньше фотография личности была введена в реестр системы. Также в дополнительных возможностях системы есть синхронизация других приложении, в данный момент программа выступает в роли опции удаленного помощника, или помощников водителя транспорта, или домашнего мультимедийного сервиса и маркетинговых исследований [26].К недостаткам системы можно отнести неполностный охват загруженных данных, так как работа возможна только с веб-камерой. Неудовлетворительные результаты, то есть вместо шаблона вставляется то же лицо, но с другой эмоцией [3].Обзор существующих методов распознаванияОдин из практических использований парадигмы распознавания образов - это детектирование лиц, целью которого является автоматическое нахождение лиц на фото, если необходимо, опознание личности по его лицу. Спрос к задачам, который лежит в основах процесса детектирования и распознавания, очень важен, в связи с многогранностью их применения в практике, в таких сферах, как система безопасности, в криминалистике, конференциях, компьютерных играх, верификации и т. п. Процедура опознавания личности на основе человеческих лиц, в отличие от применения других биометрических данных, не требует особой физической связи с механизмами, и учитывая совершенствование цифрового оборудования является более выгодной для всеобщего применения [19]. Главной проблемой данного процесса это качество результатов детектирования и идентификация людей по изображениям лиц, ракурса и положения, от освещенности и угла наклона и т. п.1.2.1 Метод основных компонентов (Principal Component Analysis)Смысл данного метода состоит в том, что представляется лица в изображениях в виде вектора (набора) основных компонентов в изображениях, так называемых ?личные лица?. У этих лиц есть хорошее свойство, такое как изображение, что соответствует каждому такому набору, имеет лицеподобный образ (рис.5).Рис. 5. Пример изображений собственных векторов (собственные лица)Исчисление основных компонентов должна сводиться к расчету личных векторов и основных величин ковариационной матрицы, что будет подсчитываться из изображения. Совокупность основных компонент, что умножены на определенные главные вектора, считаются перестройкой изображения [11]. Также для каждого рисунка лица подсчитываются свои основные компоненты.Как правило используются от 10 до 200 основных компонентов. Этот метод обнаружения заключается в сравнениях основных компонент входного (т. е неизвестных) рисунка с компонентами имеющихся известных изображений. Также ожидается, что лица, которые соответствуют только одному человеку, сгруппируются в кластеры в личном пространстве. И из реестра данных отбираются рисунки-кандидаты, которые имеют самое малое расстояние от неизвестного (т.е входного) изображения.Методика собственных лиц должна проводиться в идеализированных условиях, например, единые критерий освещенности, лояльное выражение лица, отсутствие на лице очков и бороды. Если не соблюдать данные условия основные компоненты не смогут показывать межклассовые вариации. К примеру, если условия освещенности разнообразны, то методика собственных лиц практически не может быть применим, так как начальные основные компоненты в основном приоритетно будут отражать преображение освещения, таким образом, сравнение выдаст изображения, которые имеют похожую степень освещенности. Если соблюдать идеализированные условия, то точность распознавания, с использованием этого метода может достичь весомость выше 90 %, и это является отличным результатом.Исчисление реестра собственных векторов обычно отличается высочайшей трудоемкостью. Одним из способов является сокращение изображения по столбцам и строкам. Именно преподнесение изображения в такой форме имеет на порядок наименьшую величину, расчет и обнаружение происходит намного быстрее, тем не менее восстановление исходного изображения уже станет невозможным.1.2.2 Метод Виолы-ДжонсаЭтот метод один из самых эффективных методов детектирования объектов на фото и видео изображениях, в реальном времени [14]. У данного детектора очень маленькая вероятность ложного детектирования объектов.Алгоритм отлично обнаруживает черты лица, если даже наклон объекта наблюдается под не очень большим углом, ориентировочно до 40 гр Точность детектирования, с использованием данного алгоритма, может достигать шкалы свыше 90 %. Это является очень превосходным результатом. Если угол наклона больше 30 гр., то вероятность детектирования лиц падает. Данная особенность этого метода, обычно в стандартной ситуации не позволяет находить лицо, если оно повернуто под большим углом, это в значимой мере может затруднить или делать невозможным пользование этого метода, в современных модернизированных системах, если учесть их большие потребности [15] [32].1.2.3. Сравнение шаблонов (TemplateMatching)Принцип данной методики заключается в отметке участков лица на картинке, и в сверке данных участков для обеих разных рисунков. И всякое совпадение в участках повышает степень сходства рисунков. Для сверки участков используются самые простые алгоритмы, например попиксельные сверки [21].Слабость этой методики она нуждается в немалых средствах, для запоминания участков, также для сверки. Также применяется наипростейший алгоритм сверки, рисунки должны быть сняты в специально установленных условиях, таких как недопущение особенных изменений ракурса, эмоциональных выражений, освещения и др. Безошибочность обнаружения с применением данной методики показывает результат 80 %, и это является неплохим результатом.1.2.4. Нейронная сеть ХопфилдаМетодика практики системы Хопфилда имеет весомое отличие от обыденных методов тренировки персептронов. Разница в том, что вместо поочередного ускорения к необходимому результату с подсчетом ошибок, и все признаки весовой матрицы вычисляются по единой формуле, за единый цикл, и после этого система уже готова работать [16]. Лимиты методики:отмечаемые образы не должны быть похожи между собой;лица не должны быть смещены или повернуты относительно их входного исходного изображения.Для удаления данных минусов рассматриваются разные модификации обычных нейронных сетей Хопфилда. Система Хопфилда с ортогональной модификацией может восстановить образы, которые очень сильно скореллированы, за счет преображения их входной величины к дуальной сумме набора. Следовательно, создается нейронная сеть, что может записывать некую численность векторов, также при отправке на вход каждого вектора, может выяснить, на какой из записанных он больше всех похож. Безошибочность обнаружения с использованием этой методики показывает результат выше 90 %. В некоторых случаях близко к 100 %, это есть превосходный результат. Большая часть современных продуктов обнаружения и распознавания лиц имеет задачу сопоставления неизвестного изображения лиц с реестром изображений образов из реестра данных.Вывод по главе 1Основные проблемы систем распознавания эмоций это - зашумленный фон, различность освещения, сложность прически, присутствие бороды или очков на лице и т. д. Если учесть все возможные проблемы и риски, и создать гибридные методики, то они возлагают на себя большие надежды, которые используют плюсы и минусы рассмотренных ранее разных обособленных подходов. И они могли бы показать более высокие результаты, чем нынешние методы по отдельности.Глава 2. СОЗДАНИЕ КОМБИНИРОВАННОГО МЕТОДА РАСПОЗНАВАНИЯ ЭМОЦИЙЦель создания комбинированного метода состоит в том, чтобы улучшить точность, скорость систем распознавания эмоций. Методы распознавания объединяются в четыре больших классов, таких как: Холистические методы, Локальные методы, методы вычисляющие форму, методы, вычисляющие динамику. В данной работе идет обработка статических изображений, динамические методы не были использованы. Были взяты методы из первых трех классов, а именно метод на основе локализации ключевых точек на лице (локальный метод) [10], Метод на основе информации о текстуре (Холистический метод), Геометрический метод двигательных единиц лица (метод вычисляющий форму, локальный метод), в роли классификатора эмоций был использован классификатор SVM (локальный метод). В последующих подразделах будут описаны вышеперечисленные методы.2.1 Метод на основе локализации ключевых точек на лицеМеждународный стандарт ISO14496 предоставляет подробную информацию о параметрах двигательных единиц лица. Спецификация этого стандарта определяет 68 анимационных параметров лица. Они представляют собой полный базовый набор лицевых движении и, следовательно, позволяют представить наиболее естественные выражения лица. В блоке контрольных точек описываются координаты ключевых точек лица, и каждой точке присваивается свой номер (рис. 6). Рисунок 6. Кодирование опорных точек по ИСО/МЭК 14496-2Также, в стандарте описываются требования к:к фронтальному фотографированию;к параметрам цифрового образа для получения фронтального фотографирования;к параметрам цифрового образа полного фронтального изображения;к форматам записи данных для полного фронтального фотографирования лица;к форматам записи информации для основного типа изображения лицаи т. дВыбранные средства и инструменты для выполнения работы:1) Язык программирования PythonПричины выбора данного языка:Кроссплатформенный язык программирования;Этот язык поддерживает главные парадигмы программирования, которые будут использоваться при выполнении задач;Большой набор полезных библиотек.2) Библиотека NumPyДанная библиотека предназначена для использования на языке Python, она добавляет поддержку огромных n-мерных массивов, также библиотеку высокоуровневых и математических значений для работы с данными массивами, они работают довольно быстро за счет применения вставок на языках: C, и C++.3) Библиотека OpenCV [25]Библиотека компьютерного зрения (с открытым кодом), применяется при обработке изображении, охватывает даже функции машинного обучения [20]. В этой работе были использованы следующие функции описанной библиотеки:Метод Виолы-Джонса для нахождения лиц [13] ;Алгоритмы для детектирования лиц, такие как LBPH, EigenFaces [11];Метод Лукас - Канады для отслеживания объекта (в нашем случае- лица);Функции для работы с изображениями, их фильтрация и преобразование.4) Библиотека OpenFaceБиблиотека с открытым кодом, которая используется при распознавании лиц, в которой используется сверточная нейронную сеть, была основана на FacesNet.5) Библиотека Dlib [25]Библиотека, которая содержит в себе методы машинного обучения [31] и различных вспомогательных инструментов. Также в данной библиотеке имеется готовая обученная модель активного внешнего вида (AAM) [4][12], в этой работе она используется для нахождения ключевых точек на лицах людей.Детектирование лицаДля нахождения лица были использованы нижеперечисленные команды. def detect (img, cascade): rects = cascade.detectMultScale (img, scaleFactor=1.3, minNeighbor = 4, minSize=(60, 60), flags = cv2.CASCADE_SCALE_IMG) if len(rects) == 0: return [] rects[,2:] +-= rects[,:2] return rect На входе функции используются следующие параметры:img- входящее изображение;cascade – каскады Хаара.Метод detectMultiScale(), взятая из библиотеки OpenCV, находит лица на изображениис помощью следующих параметров:img – данный параметр указывает на изображение, где будет происходить поиск объекта- лица;scaleFactor – данный параметр описывает шаг, который обозначает, насколько размер области искомого объекта (в данном случае лица) будет расти;minNeighbors – данный параметр описывает качество найденного лица, чем показатель выше – тем качество считается лучшим;minSize – самая маленькая искомая область. Остальные области размером меньше этого будут игнорироваться. С ростом параметра увеличивается скорость работы данного метода, соответственно со снижением – падать [22].Данная функция возвращает набор векторов, координаты вектора (x, y, m, h):x, y – координаты первой точки прямоугольника (где находится найденное лицо);m ширина прямоугольника;h высота прямоугольника.Функция detectMultiScale() предоставляет нам прямоугольник, где помимо лица присутствуют также точки, а для отслеживания требуются данные точки лица, для локализации ключевых точек применяется метод Active Appearance Models (AAM). На область лица накладывается маска, обученная данной моделью, то есть активной моделью внешнего вида. Эти команды исполняет функция predictor(). Модель AAM и функция predictor() являются составляющими библиотеки dlib.Локализация ключевых точек выглядит следующим образом:shape = self.predictors(frame, nrect) for point in shape.parts(): cv2.circle(self.vis, (point.x, point.y), 2, (0, 255, 0), -1) self.track[-1].appends((point.x, points.y))Команда predictor() (из библиотеки dlib) на выходе дает вектор с координатами ключевых точек на лице [33]. После в цикле данные точки отрисовываются и добавляются в базу, там будут храниться набор лицевых точек отслеживаемых лиц. Далее происходит вычисление координат искомых точек.p0 = np.float32(self.tracks[i]).reshape(-1, 2) p1, st, err = cv2.calcOpticalFlowPyrLK(img0, img1, p0, None, **lk_params) p0r, st, err = cv2.calcOpticalFlowPyrLK(img1, img0, p1, None, **lk_params) d = abs(p0r - p0).reshape(-1, 2).max(-1) good = d < 1 2.2 Метод на основе информации о текстуреМетод информации о текстуре строится на основе морщин, теней и других элементов текстуры на лице. Для расчета текстурных признаков на областях лица были использованы разные методы и способы фильтрации изображений. Для обнаружения мелких морщин (таких как область лба) было использовано вычисление меры среднеквадратических разбросов S значений пикселей по заданной области. Была выбрана область I размером m * n пикселов (1)S=1N-1i=1mj=1n(Iij-μ)2 (1)где, μ=1Ni=1mj=1nIijДля обнаружения крупных морщин (к примеру, носогубная складка) были использованы двумерные фильтры Габора [5]. Двумерные преобразования Габора представляют собой гармоническую функцию, сглаженная гауссовским окном. Комплексная гармоническая функция представляется следующим образом (2):S(x,y)=exp(j(2π(u0x+υ0y)+P)) (2)где (u0, v0) и P — пространственные частоты и фаза гармонической функции соответственно, Гауссовское окно выражается следующим образом (3):ωrx, y=Kexp(-π(a2x-x0r2+b2(y-y0)r2)) (3)(x0, y0) — центр окна; а, b — параметры, характеризующие форму окна; K- амплитуда окна.Итоговая функция Габора выглядит следующим образом (4):gx, y=Kexp(-π(a2x-x0r2+b2(y-y0)r2))exp(j(2π(u0x+υ0y)+P)) (4)Значения фильтр и пространственные частоты рассчитываются зависимо от ориентации морщины и его размеров.2.3. Метод на основе геометрического анализа двигательных единиц лицаТретий метод который был использован в данной работе это- геометрический анализ, он производится на основе Системы кодирования лицевых движении, разработанной в 1978 году Полом Экманом и Уоллесом Фризеном. Система описана в 600 страницах. В данной работе мы использовали лицевые движения, связанные с эмоциональными состояниями (Таблица 1) [30]. Таблица 1. Комбинация лицевых движенииЭмоцияКодыУдивление1+2+275+265B+272+5B+261+2+5+271+2+25Страх1+2+4+5*1+2+5*, с/без 25, 26, 275*+20* с/без 25, 26, 271+2+4+5*+20*+26, 26, или 271+2+4+5*+25, 26, или 271+2+4+5*+L или R20*+25, 26, или 27Печаль6+15* с/без 54+641+4+11+15B с/без 54+641+4+15* с/без 54+641+4+11, 1+4+15B 11+15, 11+17Радость6+12*12C/DГнев3+5*+7+10*+22+26, 254+5*+7+10*+23+26, 254+5*+7+23+26, 254+5*+7+17+254+5*+7+23Отвращение98+16+15, 2610*10*+16+25, 26Звездочкой обозначена интенсивность каждого движения. Двигательные единицы это главные движения мышц, которые совершаются отдельными мышцами или несколькими. Дескрипторы это движение групповых мышц, например, нижняя челюсть выпирается. Интенсивность в системе кодирования обозначаются латинскими буквами от A до E, и пишутся с добавлением к номеру. А- трудно различимые, В- незаметные, С- ярко выраженные, D очень сильно заметные, Е- максимально заметные. По симметричности ДЕ делятся на двусторонние (bilateral В) и односторонние(unilateral- U). В работе были использованы 68 лицевых движении, которые образуют 6 базовых эмоции. Использованные ДЕ обозначается меткой, можно посмотреть в приложении А Классификация двигательных единиц рассчитывается по ключевым расстояниям (рис. 7):Рисунок 7. Ключевые расстоянияОсновные расстояния указаны во 2 – таблице, где рассчитываются расстояния и делятся на 1024, чтобы единица была достаточно мала, для того чтобы FAP могли представляться целыми числамиТаблица 2. Вычисление значений лицевых движенийDescription FAPU Value IRISD0 = 3.1.y – 3.3.y = 3.2.y – 3.4.y Диаметр глаза (по определению равен расстоянию нижней точки верхнего века и верхней точки нижнего века) в нейтральной эмоции IRISD = IRISD0 / 1024 ES0 = 3.5.x – 3.6.x Расстояние зрачковES = ES0 / 1024 ENS0 = 3.5.y – 9.15.y Длина носа от расстояния зрачковENS = ENS0 / 1024 MNS0 = 9.15.y – 2.2.y Расстояние рта и носа MNS = MNS0 / 1024 MW0 = 8.3.x – 8.4.x Длина рта (ширина)MW = MW0 / 1024Нейтральное положение лица (когда все FAP равны 0) определяется следующим образом:система координат правая; взгляд в направлении оси Z;все мышцы лица расслаблены;веки касаются радужной оболочки глаза;губы находятся в контакте; Линия губ горизонтальная и углы губ на одинаковой высоте; рот закрыт.Для определения эмоции составляются файлы маски, которые состоят из значении двигательных единиц [7][8]. Синтаксис файла:# at the beginning of a line indicates a comment [ Header ] [ FAP Mask ] [ Frame Number ] [ FAP Values ] #the above two lines are repeated for each frame of animation Где:[ Header ] <float file format version> <string sequence name> <int frame rate> <int number of frames> [ FAP Mask ] <int[68] FAP mask>Образец файла:#Header description 2.1 emotions 25 1050 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 80 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 100 100 80 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 100 100 80 80 0 0 0 0 0 0 0 0 0 0 0 0 … … … ….…0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1049 0 0 0 0 0 0 0 0 0 0 0 100 100 80 80 0 0 0 0 0 0 0 0 0 0 0 0 2.4 Классификация эмоцийДля классификации эмоций был использован метод опорных векторов SVM. Так как у нас есть 68 анимационных признака из системы кодирования лицевых единиц. Конкретнее использовали библиотеку LIBSVM с открытым кодом, с ее помощью можно обучить SVM (рис. 2) модель, делать какие - либо прогнозы, можно делать проверку. Также в этой библиотеке есть возможность использования функции радиального базиса и других ядренных методов [28].Рисунок 8. Классификатор SVMДля работы с библиотекой, нужно поместить скомпилированную версию LIBSVM и пакет svm.py в папку, где интерпретаторы языка Python ищут библиотеки. Далее необходимо импортировать ее и приступить к работе.С помощью следующих деректив работает данная библиотека:>>> from svm import * -импортирование билиотеки>>> prob = svm_problems([1,-1],[[1,0,-1],[-1,0,1]]) Создание простого набора данных. >>> svm_parameters – метод ядра>>> r = svm_model(prob, param) - обучение модели>>> r.predict([1, 1, 1]) прогноз принадлежности к классам>>> r.save(test.models) >>> m=svm_model(test.models) – сохранение и загрузка обученной модели.2.5 Вывод по главе 2В комбинированном методе каждый метод может служить самостоятельно, и каждый по отдельности показывает неплохие результаты (85-87%). Но объединив их, мы планируем получить метод, который показал бы более высокие результаты. Также планируется использовать комбинацию еще ряда других методов и классификаторов. В будущем также планируется работа с динамическими методами, которые будут детектировать объекты в реальном времени и определять эмоций в онлайн режиме.ГЛАВА 3. СТРУКТУРА СИСТЕМЫ3.1 Структура системы распознавания эмоцийДля создания системы распознавания эмоций был использован комбинированный метод, состоящий из четырех методов, таких как метод локализации ключевых точек на лице, метод на основе информации о текстуре, геометрический метод (двигательные единицы лица) и в роли классификатора метод опорных векторов (SVM). Так как разработка системы была командной работой, написание скрипта первого метода (локализации ключевых точек на лице), была моей задачей. Скрипты остальных методов были распределены другим студентам лаборатории. Для написания скрипта был использован язык программирования python 2.7 и дополнительные вспомогательные инструменты OpenCV, OpenFace, Dlib, Numpy, Matplotlib. Общая система была разработана на языке C++. Ниже нарисована диаграмма вариантов использования системы (рис. 9):179954314626802969895174625СистемаСистема2844801778000500380221043528448026422355003802642235284480242633523596606965957162801308100318770014128752556510860425Локализация точекЛокализация точек31432502068195“include”“include”72136027813002420620187325266573013970Определение эмоцийОпределение эмоцийРисунок 9. Диаграмма вариантов использования системыТак как система нам необходима для видео - анализа и для проверки точности распознавания комбинированного метода, система выполняет всего 2 функции, такие как Локализация ключевых (рис. 10) точек и Определение эмоций (рис. 11). Рисунок 10. Скрин работы системы, во время локализации опорных точекРисунок 10. Скрин работы системы, во время распознавания эмоций3.2 Вывод по главе 3Была реализована система, на основе комбинированного метода. В следующей главе будут описаны проведенные экспериментальные работы с данной системой.Глава 4. ЭКСПЕРИМЕНТАЛЬНАЯ ЧАСТЬ В этой главе будет описываться исследовательская часть работы, которая была проделана для достижения цели диссертационной работы. Будут описаны основные результаты работы и продемонстрированы в виде таблиц, диаграмм и графиков. Дополнительные файлы и документы (файлы с большими данными, база изображений Cohn-Kanade [34], видеопоток и изображения студентов) были загружены вместе с созданным программным обеспечением, по адресу Тестирование точности распознавания системы MS Emotion API и системы на основе комбинированного методаСозданная система была протестирована на расширенной базе изображений Cohn-Kanade (СК+) [6]. База состоит из 593 изображений, в которой зарегистрировано лицевое поведение 210 личностей, которые были сняты на профессиональную камеру Panasonic AG-7500. Участники возраста от 18 до 50 лет, 69% женщин, 41% мужчин; 81% европейских, 13% афроамериканских и 6% других групп [9]. Я Возрастные последовательности для фронтальных видов и 30-градусные точки зрения были Оцифровывается в массивы 640x490 или 640x480 пикселей с 8-битные значения по шкале серого или 24-битного цвета. Также на данной базе изображении была протестирована система Microsoft Emotion Api. Во время эксперимента изображения были нормированы по координатам центров глаз таким образом [29], что расстояние между зрачков составляло 110 пикселей, глаза должны были находиться на одном уровне. Степень выраженности каждой эмоции были определены в диапазоне [0...1]. При вычислении вероятностных признаков считалась распознанной та эмоция, который получил максимальный отклик от классификатора [17].Таблица1. Процент верного распознавания каждой эмоции системы с комбинированным методомЭмоция, опре-деленная алго-ритмом Распознаваемая эмоцияНейтральнаяРадостьУдивлениеСтрахОтвращениеГнев ГрустьНейтральная0,900,000,010,040,040,000,02Радость0,020,950,020,030,020,010,03Удивление0,020,010,920,020,030,010,005Страх0,030,010,030,840,010,020,005Отвращение0,020,010,020,040,830,020,03Гнев0,0050,020,000,020,050,940,03Грусть0,0050,000,000,010,020,000,88Таблица 2. Процент верного распознавания каждой эмоции MS Emotion ApiЭмоция, опре-деленная алго-ритмом Распознаваемая эмоцияНейтральнаяРадостьУдивлениеСтрахОтвращениеГнев ГрустьНейтральная0,900,010,0050,030,030,020,02Радость0,0050,950,020,040,010,010,02Удивление0,020,000,900,020,050,010,03Страх0,020,020,020,840,020,010,005Отвращение0,0050,010,030,020,830,020,005Гнев 0,030,000,020,010,020,920,02Грусть0,020,010,0050,040,040,010,90В данных таблицах показаны результаты тестирования каждой эмоций системы MS Emotion Api и системы на основе комбинированного метода. Ориентироваться нужно по столбцам. Видно, что самая хорошо распознаваемая эмоция – радость, плохо распознаваемая отвращение. Хоть и результаты определения гнева и удивления системы на основе комбинированного метода немного выше MS Emotion Api, определение грусти ниже чем у MS Emotion Api. На следующих диаграммах можно более наглядно посмотреть результаты тестирования.Диаграмма 1. Количество верных распознаваний системы на основе комбинированного методаДиаграмма 2. Количество верных распознаваний системы MS Emotion ApiВ результате тестирования система с комбинированным методом показала результат точности 89,3% (диаграмма 1), а система MS Emotion API показала результат 89% (). Разница результатов правильного распознавания двух систем составила 0,3 %.Рисунок 12. Разность распознавания двух проверяемых системРисунок 13. Разность распознавания двух проверяемых системНа рисунке 12 показаны примеры распознавания эмоций двух систем, обе системы правильно находят эмоцию удивление, но разница в том, что MS Emotion Api находит только удивление, в то время как наша система нашла еще и страх. На рисунке 13 примере MS Emotion Api находит только гнев, в то время как система, на основе комбинированного метода находит гнев и небольшой процент отвращения.Исходя из этого, мы можем сказать, что комбинированный метод способен выявлять слабо выраженные микроэмоции. При классификации заметно, что некоторые признаки могут относиться к нескольким классам одновременно (рис. 14). Например ?Поднятие бровей? и к удивлению и к страху, или ?открытый рот, сжатая челюсть, опущены внутренние уголки бровей, сморщивание носа? относится и к гневу и к отвращению [18].Рисунок 14. Классификация признаков по эмоциям с помощью SVM4.2. Видео - анализ эмоционального состояния студентов, на протяжении семестра, на примере ИТИС КФУДля проведения видео - анализа эмоционального состояния студентов, на протяжении семестра была установлена камера наблюдения, которая фиксировала эмоции студентов ИТИС КФУ. Из снятого видеопотока, для исследования, были выбраны 500 лиц студентов, и эти же изображения были протестированы созданной системой (рис. 15). И главной целью видео- анализа является определение выраженности положительной и отрицательной эмоций до сессии, во время и после сессии. Рисунок 15. Видеопоток, снятый для эксперимента (студенты ВШ ИТИС КФУ)В каждом месяце было снято ориентировочно по 55 лиц студентов. Набор, вырезанных из видеопотока изображении, прилагается в папке, к разработанному приложению, по адресу .Выбранные 500 изображений, были протестированы в реализованной системе, на основе комбинированного метода. Результаты были записаны в Excel файл, и также были приложены к остальным документам в .График 1. Смена эмоционального состояния студентов на протяжении семестраВесь семестр был разделен на три части:До сессии (Сентябрь-Декабрь)Во время сессии (Декабрь-Февраль)После сессии (Февраль-Май)График показывает, как меняются эмоциональные состояния студентов, процент положительных эмоции до сессии постепенно снижается, во время сессии заметно - резкое снижение, после сессии заметное увеличение (график 1). Отрицательные эмоции до сессии постепенно снижаются, во время сессии заметно - резкое увеличение, после резкое снижение.ЗАКЛЮЧЕНИЕБыла создана система распознавания эмоций, на основе комбинированного метода. Система была протестирована на расширенной базе Cohn-Kanade, показала очень хороший результат распознавания- 90,5% точности. Был произведен сравнительный анализ двух систем, из чего можно сказать, что хоть и на небольшую разницу, но точность распознавания с комбинированным методом показывает результаты больше чем у второй системы.Был сделан видео - анализ эмоционального состояния студентов, на протяжении семестра. По результатам эксперимента было выявлено, что у студентов во время сессии повышается процент отрицательных эмоции и снижается процент положительных, но в целом у студентов ИТИС больше положительных эмоций чем отрицательные на 30%.В комбинированном методе каждый метод может служить самостоятельно, и каждый по отдельности показывает неплохие результаты (85-87%). Но объединив их, мы получили метод, который показал более высокий результат.В дальнейшем планируется, улучшить работу системы с помощью увеличения количества тренировочных изображений, добавления дополнительных функции, таких как: обнаружения очков, бороды и других подобных дополняющих на лице. Также планируется функция распознавания эмоций в реальном времени (через веб-камеру).СПИСОК ЛИТЕРАТУРЫBatlett M.S., Haget J.C, Ekman P., Sejniwskie T.J. Measuring facial expressions by computer image analysis // Cambridge University Press. publc., 2000, p. 254–265.Breazieal P., Washeef A Robots Emotion: A functional perspective // Who Need Emotions: The Brain Meet the Robots. MIT Press, 2003, р.138–169. Chandran S., Washeef A., Somar M., Debasis M. Facial Expressions: A Cross Cultural Study // Emotion Recognition: A Pattern Analysis Approach. Wiley, 2016, p 89Coots T. R, Edward G. J Active appearance model// British Machines Vision Conference, 2011. №5(3). p 480-488Gabor D. Theory of communication. Part 1: The analysis of information // Journal of the IEE, 2005, vol. 93, no. 27, p. 430–440Kanade T., Cohn J. F., Tian Y. Comprechensive database for facial expression analysis // Proceedings of the Fourth IEEE International Conference on Automatic Face and Gesture Recognition, Grenoble, France, 2001, p. 47–56.Lee Y. O., Shim J. A. Curvature based human face recognition using depth weighted Hausdor? distance // Proc. ICIP 3 2013, p. 1430–1433. Lu X., Jain A. K. Deformation modeling for robust face matching // IEEE Trans. Pattern Anal. Mach. Intell. 2011, Vol. 30, No. 8, p. 1347–1358.Lucey P., Cohn J. F., Kanade T., Saragih J., Ambadars Z., Matthew I. The Ex-tended Cohn-Kanade Dataset (CK+): A complete expression dataset for action unit and emotion-specified expression // Proc. of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition-Workshops, IEEE, 2011, p. 95–102. Mian A. S., Benamoun M., Owens R. Keypoint detection and local feature matching for textured face recognition // Int. Comput. Vis. 2011, Vol. 80, No. 1, p. 1–13.Turk M., Pentlande, A. Eigenfaces for recognition // Journal of Cognitive Neuroscience 4, 1998. p 72–88.Usharova D., Vershin A. The algorithm active appearance model// Архивариус. 2015. № 9 (13). c. 50-53.Viola P., Jones M. Fast Multi-view Face Detection // Mitsubishi Electric Research Laboratories, 2005, TR2005-097, c. 67Viola, P. Rapid object detection using a boosted cascade of simple features // IEEE Conf. on Computer Vision and Pattern Recognition. –Kauai, Hawaii, 2008. – V. 1. – p. 513–520.Viola, P. Robust real-time face detection // International Journal of Computer Vision. – 2005. –V. 58. – № 2. – p. 137–155.Заболеева А.В. Развитие системы автоматизированного определения эмоций и возможные сферы применения // Открытое образование, 2012, № 3, с. 60–63. p. 69–87.Князев Б.А. Распознавание аномального поведения человека по его эмоциональному состоянию и уровню напряженности с использованием экспертных правил // Инженерный Вестник, 2015, с. 510–525.Конышев Д.В., Выборнов Н.А. Управление мимическим аппаратом сервисных роботов при синтезе эмоций // Прикаспийский журнал ?Управление и высокие технологии?, 2014, № 3, с. 217–230.Мищенкова Е.С. Сравнительный анализ алгоритмов распознавания лиц // Вестник Волгоградского государственного университета. Серия 9: Исследования молодых ученых. 2015. № 11. c. 75-78.Полякова А.С., Кобер В.И. О применении библиотеки OpenCV в задаче распознавания лиц по их изображению // Актуальные проблемы авиации и космонавтики. 2017. Т. 1. № 12. c. 559- 590. Тухтасинов М.Т., Раджабов С.С. Алгоритмы распознавания лиц на основе локальных направленных шаблонов // Проблемы вычислительной и прикладной математики. 2016. № 5 (5). c. 101-106.Шапиро Л. Компьютерное зрение// М.: БИНОМ. Лаборатория знаний, 2015.— 753 c.Эчеагарай - Патрон Б.А., Кобер В.И. Метод распознавания лиц с использованием трехмерных поверхностей // Информационные процессы. 2016. Т. 16. № 3. c. 170-178.Ян Си Автоматические распознавание эмоций пользователя для организации интеллектуального интерфейса // Молодежный научно-технический вестник 2013. №2 (4) c. 51Dlib. URL: (Дата обращения 15.11.2016) Face Recognition with Local Binary Patterns. URL: (Дата обращения 15.03.2016)Face Recognition with OpenCV URL: (Дата обращения 15.10.2016) FaceNet: A Unified Embedding for Face Recognition and Clustering. URL: (Дата обращения 15.02.2017)Georgia Tech Face Database. URL: (Дата обращения 15.03.2016) База биометрических данных и алгоритмы распознавания- URL: (Дата обращения 10.05.2017)Машинное обучение URL: (Дата обращения 25.04.2017)Метод Виолы-Джонса (Viola-Jones) как основа для распознавания лиц. URL: (Дата обращения 17.04.2017) Обнаружение черт лица URL: (Дата обращения 1.12.2016)Расширенная база изображений для машинного обучения модели URL: (Дата обращения 25.09.2016)Системы видеонаблюдения URL: system (Дата обращения 15.09.2016)ПРИЛОЖЕНИЕ А ................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.