ПРИМЕНЕНИЕ НЕЙРОННЫХ СЕТЕЙ В ПОДСИСТЕМЕ РАСПОЗНАВАНИЯ ЭМОЦИЙ ДЛЯ ПРОЕКТА “СУРДОТЕЛЕФОН” - Студенческий научный форум

X Международная студенческая научная конференция Студенческий научный форум - 2018

ПРИМЕНЕНИЕ НЕЙРОННЫХ СЕТЕЙ В ПОДСИСТЕМЕ РАСПОЗНАВАНИЯ ЭМОЦИЙ ДЛЯ ПРОЕКТА “СУРДОТЕЛЕФОН”

Клешнин Н.Г. 1, Воронова Л.И. 1
1МТУСИ
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
Статья выполнена в рамках курсового проекта по дисциплине «Machine Learning. Обучающиеся технические системы» (Научный руководитель д.ф.м., проф. Воронова Л. И.). В статье рассматривается применение нейронной сети для разработки подсистемы распознавания эмоций для проекта “Сурдотелефон”, проводится исследование существующих продуктов и решений, приводится результат данного исследования на примере эксперимента с использованием библиотеки OpenCV, в рамках которого было произведено обучение нейронной сети и распознавание лиц из базы данных Yale Faces и из специально разработанного автором данной статьи для этого эксперимента обучающего набора данных.

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

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

Одним из ключевых направлений в данной сфере является разработка программного обеспечения, которое способно в режиме реального времени проводить распознание жестового языка и переводить его в текстовую или голосовую форму. Если обратиться к статистике, то на данный момент число свободно говорящих на языке глухонемых примерно оценивается в 250000-500000 человек, что заметно сужает круг людей, с которыми глухонемые могут полноценно общаться [1].

Одним из доступных вариантов общения является служба коротких сообщений (SMS - Short Message Service), но в случае чрезвычайной ситуации данный способ недостаточно быстрый, а в повседневности - лишен свободы и простоты использования, присущей устной речи.

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

Обзор существующих решений

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

Рынок систем детекции и распознавания эмоций (EDRS - Emotion Detection and Recognition Systems) активно развивается. По оценкам ряда экспертов, он продемонстрирует среднегодовой рост в 27,4% и достигнет планки 29,1 млрд долларов к 2022 году [2].

Affectiva[3]

Одним из наивысших достижений с точки зрения рынка стал основанный «Пикард» и её аспиранткой из MIT Раной Эль Калибу (Rana el Kaliouby) стартап Affectiva. Компания, появилась в 2009 году, и в четырех последовательных венчурных раундах привлекла за истекшие годы совокупный объем инвестиций более чем в $25 млн и не намерена останавливаться на достигнутом.

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

Affectiva плотно сотрудничает с бизнесом и академической наукой, запуску совместных проектов в различных отраслях (с Uber, Tesla, Qualtrics, сюда же относится релиз игры с обратной эмоциональной связью Nevermind и другие [3]), внедрению самого концепта Emotion A.I. (эмоционального искусственного интеллекта) в бизнес-среду и умы потребителей.

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

MicrosoftProjectOxfordAPI[4]

Проект «Оксфорд» (Project Oxford) от Microsoft представляет собой каталог готовых API (artificial intelligence APIs), сфокусированных на алгоритмах компьютерного зрения.

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

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

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

Рис.1 Работа Project Oxford

В дальнейшем Проект «Оксфорд» не получил своего развития и был интегрирован в платформу Azure, в которую, в свою очередь, вошло множество иных решений.

MindWave Mobile от NeuroSky

Иным путем пошла такая компания, как NeuroSky. Определение эмоций по физиологическим данным является несущей функцией устройства MindWave Mobile, которое надевается на голову и запускает встроенный датчик мозговой активности. Он устанавливает степень концентрации, расслабления либо беспокойства человека, оценивая ее по шкале от 1 до 100.

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

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

Рис. 2 Brainwave Starter Kit

На рис. 2 изображен один из последних начальных наборов MindWave - Brainwave от NeuroSky стоимостью 99.99 $.

Beyond Verbal Communications [5]

Одним из бесспорных лидеров эмоциональных голосовых технологий является израильская компания Beyond Verbal Communications.

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

Компания по праву гордится базой приблизительно в 2,3 млн уникальных образцов голоса на сорока языках мира. Сегодняшняя долгосрочная стратегия проекта оказывается на пересечении цифровой медицины и встраиваемых виртуальных ассистентов.

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

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

Реализация нейронной сети на базе библиотеки OpenCV

Нейронные сети (Neural Networks) - это модели биологических нейронных сетей мозга, в которых нейроны имитируются относительно простыми, часто однотипными, элементами (искусственными нейронами) [6].

Нейронные сети широко используются для решения разнообразных задач. С помощью нейронных сетей можно, например, предсказывать объемы продаж изделий, показатели биржевого рынка, выполнять распознавание сигналов, конструировать самообучающиеся системы.

В рамках данной работы рассмотрена работа программы, написанной на языке Python 2.7 с использованием библиотек NumPy и PIL на основе библиотеки компьютерного зрения OpenCV 2-ой версии.

Основные части библиотеки — интерпретация изображений и алгоритмы машинного обучения. Распознавание построено на нейронных сетях. В наше время OpenCV [7] используется в таких проектах, как:

  • Google self-driving car — в беспилотных автомобилях Google OpenCV используется для разработки прототипа распознавания окружающей обстановки;

  • Google Glass — в этих очках 3D-реконструкция изображения построена на OpenCV.

Список возможностей, предоставляемых OpenCV, весьма обширен:

  • интерпретация изображений;

  • калибровка камеры по эталону;

  • устранение оптических искажений;

  • определение сходства;

  • распознавание лиц;

  • распознавание мимики;

  • анализ перемещения объекта;

  • определение формы объекта и слежение за объектом;

  • 3D-реконструкция;

  • сегментация объекта;

  • распознавание жестов.

Программа должна обнаружить лицо на фотографии и при помощи нейронной сети однозначно определить – кому именно оно принадлежит. Иными словами – решить задачу классификации на основе заранее заданной базы данных лиц и соответствующих им номерам.

В начале необходимо произвести импорт модулей, что отображено на рис. 3.

Рис. 3 Импорт необходимых модулей

Рис. 4 Каскады Хаара и бинарные шаблоны

Для распознавания лиц на фото были использованы каскады Хаара и метод Виолы-Джонса. Параметр cascadePath содержит имя файла с уже готовыми значениями для распознавания лиц (рис. 4).

Хотя метод был разработан и представлен в 2001 году Полом Виолой и Майклом Джонсом, он до сих пор является основополагающим для поиска объектов на изображении в реальном времени.

Основные принципы метода Виолы-Джонса:

  • используются изображения в интегральном представлении, что позволяет вычислять быстро необходимые объекты;

  • используются признаки Хаара, с помощью которых происходит поиск нужного объекта (в данном контексте, лица и его черт);

  • используется бустинг (от англ. boost – улучшение, усиление) для выбора наиболее подходящих признаков для искомого объекта на данной части изображения;

  • используются каскады признаков для быстрого отбрасывания окон, где не найдено лицо.

В стандартном методе Виолы – Джонса используются прямоугольные признаки, изображенные на рис. 5-А, они называются примитивами Хаара, а в расширенном методе Виолы – Джонса, использующемся в библиотеке OpenCV используются дополнительные признаки, указанные на рис. 5-Б.

Рис.5 Примитивы Хаара

Вычисляемым значением такого признака будет

F = X-Y, (1.5)

где X – сумма значений яркостей точек закрываемых светлой частью признака, а Y – сумма значений яркостей точек закрываемых темной частью признака. Признаки Хаара дают точечное значение перепада яркости по оси X и Y соответственно.

Объект распознавания лиц – LBPHFaceRecognizer (рис. 4) содержит в себе пять параметров. Первые два значения (1 и 8) характеризуют окрестности пикселя, что отображено наглядно на рис. 6.

Рис. 6 LBPHFaceRecognizer – параметры

Первое число – радиус, в котором происходит выборка пикселей, а второе – число этих пикселей. Чем больше пикселей взято, тем точнее происходит процесс распознания.

Следующие два параметра (8, 8) характеризуют размеры областей, на которые разбивается исходное изображение с лицом. Чем оно меньше, тем больше будет таких областей и тем качественнее распознание.

Последнее значение — это параметр confidence threshold, определяющий пороговое значение для распознавания лица. Чем меньше confidence тем больше алгоритм уверен в том, что на фотографии изображено известное ему лицо. Когда уверенности мало алгоритм просто считает это лицо незнакомым. Порог был выбран равным 123.

В качестве базы данных была использована БД лиц под названием Yale Faces [8], в данной БД содержаться фотографии 15 человек с разными выражениями лиц на каждой фотографии.

Имя каждого файла в этой БД выглядит следующим образом: subject01.sad. Сначала идет слово subject, далее порядковый номер человека, а после характеристика фото. Например, характеристика sad означает грустное лицо.

Функция get_images (приложение Б) считывает каждую фотографию, кроме тех, что с окончанием .happy и выделяет ту область, где находится лицо.

Фотографии с радостным выражением лица будут использованы в качестве контрольной выборки, на которой будет проверено качество распознания лиц программой.

Так же из каждого названия файла извлекается номер человека на фотографии и сохраняется список labels. Каждой фотографии в итоге будет сопоставлен этот номер.

Рис. 7 Yale Faces

После завершения процесса обучения на вход программы подается контрольная выборка лиц (радостных) и программа должна определить – какому из 15 человек принадлежит то или иное радостное лицо.

После этого происходит сравнение значения, которое вернула нам функция с реальным номером субъекта и, если они совпадают – в консоль выводится соответствующая надпись о том, что распознание прошло успешно. Также в консоль выводится значение параметра confidence. Результаты работы представлены на рис. 8.

Рис. 8 Результат распознания объектов и значение параметра confidence

Исходя из полученных результатов работы программы можно сделать выводы о том, что программа распознает принадлежность лиц с достаточно низкой точностью, особенно это заметно на примере объекта №12 (Чем меньше confidence тем больше алгоритм уверен в том, что на фотографии изображено известное ему лицо, а максимальное значение – 123 пункта).

Проведем эксперимент и составим собственную базу данных из фотографий эмоций одного человека и загрузим её в качестве объекта №16 (рис. 9).

Рис. 9 Фотографии эмоций объекта №16

После загрузки объекта 16 и запуска программы были получены результаты, отраженные на рис. 10.

Рис. 10 Результат распознания объектов и значение параметра confidenceпосле добавления нового объекта

Из полученных данных видно, что 12-ый объект был ложно распознан в качестве 16-го, а 16-ый был распознан корректно. Произведем сравнение 12 и 16-го объектов на примере эмоции удивления.

Рис. 11 Сравнение двух объектов

Действительно, с точки зрения примитивов Хаара эти объекты очень похожи – светлая овальная зона по центру лица, темные зоны по краям, в области рта и бровей.

Для увеличения точности распознания произведем изменение параметров объекта распознавания лиц LBPHFaceRecognizer, а именно – изменим размер областей, на которые разбивается исходное изображение с лицом, вместо квадрата 8 на 8 пикселей зададим квадрат 4 на 4 пикселя (рис. 12)

Рис. 12 Измененные параметры LBPHFaceRecognizer

После изменения данных параметров – запустим программу еще раз, полученные результаты отражены на рис. 13.

Рис.13 Результат распознания объектов и значение параметра confidenceпосле модификации программы

Исходя из полученных данных можно сделать вывод о том, что в этот раз программа успешно и с заметно большей уверенностью смогла распознать всех людей из обучающего набора Yale Faces и объект №16, из чего можно сделать вывод об успешном проведении эксперимента.

Заключение

В данной статье проведен обзор и анализ существующих решений распознавания эмоций, которые могли бы быть использованы в сфере коммуникаций глухонемых

В процессе реализации нейронной сети на базе библиотеки OpenCV описан метод Виолы-Джонса с применением примитивов Хаара. В качестве обучающего набора использована база данных Yale Faces без эмоции радости. В качестве проверочного набора использованы счастливые лица из этой базы.

После обучения программа успешно распознала все лица с фотографий тестового набора, но уверенность программы не была достаточно высокой, особенно в отношении объекта №12.

После создания собственной базы данных на основе фотографий объекта №16 проведено обучение программы на дополненном обучающем наборе. Программа ложно распознала объект №12 как №16. После модификации программного кода получены новые результаты с заметно возросшей уверенностью (до десяти раз) и абсолютно точным распознанием всех 16-ти объектов без ошибок.

Список используемой литературы и источников

1. Mitchell, Ross; Young, Travas; Bachleda, Bellamie; Karchmer, Michael (2006). "How Many People Use ASL in the United States?: Why Estimates Need Updating" (PDF). Sign Language Studies (Gallaudet University Press.) 6 (3). ISSN 0302-1475. Retrieved November 27, 2012

2. Rb.ru [Электронный ресурс]: Георгий Плиев – Как технологии распознают наши эмоции и почему это так перспективно. URL: https://rb.ru/opinion/tehnologii-i-emptsii/ (дата обращения 25.12.2017).

3. Affectiva.com [Электронный ресурс]: Affectiva: About us.URL: https://www.affectiva.com/ (дата обращения 25.12.2017).

4. Azure.microsoft.com [Электронный ресурс]: Azure.microsoft: Emotion cognitive service. URL: https://azure.microsoft.com/ru-ru/services/cognitive-services/emotion/(дата обращения 25.12.2017).

5. Beyondverbal.com [Электронный ресурс]: Beyondverbal: About us.

URL: http://www.beyondverbal.com/ (дата обращения 25.12.2017).

6. Radio.ru [Электронный ресурс]: А. Голышко – Нейронные сети.

URL: ftp://ftp.radio.ru/pub/2017/03/4.pdf (дата обращения 25.12.2017).

7. Opencv.org [Электронный ресурс]: Opencv: About.

URL: https://opencv.org/ (дата обращения 25.12.2017).

8. Cvc.cs.yale.edu [Электронный ресурс]: Cvc.cs.yale.edu: About.

URL: http://cvc.cs.yale.edu/cvc/projects/yalefaces/yalefaces.html (дата обращения 25.12.2017).

9. Л.И. Воронова, В.И. Воронов. Machine Learning: Регрессионные методы интеллектуального анализа данных: учебное пособие – МТУСИ, 2017 – 81 с.

10. Воронов В.И., Воронова Л.И. О повышении результативности магистерских программ в условиях инновационной экономики/ Инновационные подходы в науке и образовании: теория, методология, практика. - Изд-во: "Наука и Просвещение, 2017, с.35-44

11. Генчель К.В. ПРИМЕНЕНИЕ КОГНИТИВНЫХ СЕРВИСОВ ДЛЯ РАСПОЗНАВАНИЯ ЛИЦ // Материалы VIII Международной студенческой электронной научной конференции «Студенческий научный форум» URL: http://www.scienceforum.ru/2017/2320/28067 (дата обращения: 25.01.2018).

12. Пак Г.В. О СОЗДАНИИ ПРОГРАММНОГО КОМПЛЕКСА ДЛЯ РАСПОЗНАВАНИЯ ЭМОЦИЙ С ИСПОЛЬЗОВАНИЕМ МЕТОДОВ МАШИННОГО ОБУЧЕНИЯ // Материалы VIII Международной студенческой электронной научной конференции «Студенческий научный форум» URL: http://www.scienceforum.ru/2017/2320/28005 (дата обращения: 25.01.2018).

Просмотров работы: 272