Применение нейронных сетей в подсистеме распознавания эмоций для проекта "Сурдотелефон"
Особенности применения нейронной сети с использованием библиотеки OpenCV для распознавания эмоций. Обучение нейронной сети, распознавание лиц из базы данных Yale Facesс помощью обучающего набора данных в рамках авторского проекта "Сурдотелефон".
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 25.02.2019 |
Размер файла | 1008,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Применение нейронных сетей в подсистеме распознавания эмоций для проекта “Сурдотелефон”
Статья выполнена в рамках курсового проекта по дисциплине «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 является стремление к движению не вглубь, а вширь, без пересмотра постепенно устаревающей идеи о небольшом наборе базовых эмоций, с ориентацией на единственный модуль - микроэкспрессии, -- недостаточный для полноценной трактовки эмоционального состояния индивида.
Microsoft Project Oxford API [4]
Проект «Оксфорд» (Project Oxford) от Microsoft представляет собой каталог готовых API (artificial intelligence APIs), сфокусированных на алгоритмах компьютерного зрения.
В этом решении идет работа исключительно со статикой изображений: пользователю дается возможность загрузить произвольные фотографии, на которых детектируется лицо, и получить в итоге результат, разбитый на восемь строк (семь базовых эмоций плюс нейтральное состояние) в процентном соотношении до пяти цифр после запятой по каждой позиции.
В 2016 году проект обрел вирусную популярность как по причине азарта пользователей, так и из-за периодически встречающихся несуразностей в трактовках выражений лиц.
Загрузив [4] в данный проект одну из фотографий с эмоцией счастья из обучающего набора данных, разработанного автором данной статьи, можно получить следующие результаты:
Рис.1 Работа Project Oxford
В дальнейшем Проект «Оксфорд» не получил своего развития и был интегрирован в платформу Azure, в которую, в свою очередь, вошло множество иных решений.
MindWave Mobile от NeuroSky
Иным путем пошла такая компания, как NeuroSky. Определение эмоций по физиологическим данным является несущей функцией устройства MindWave Mobile, которое надевается на голову и запускает встроенный датчик мозговой активности. Он устанавливает степень концентрации, расслабления либо беспокойства человека, оценивая ее по шкале от 1 до 100.
MindWave Mobile адаптирует способ регистрации ЭЭГ, принятый в научных исследованиях. Только в этом случае система оснащена всего одним электродом, в отличие от лабораторных установок, где их количество может быть гораздо больше десяти. Однако, данный программно-аппаратный комплекс не в состоянии точно распознать определенную эмоцию или показать - какая из эмоций доминирует в данный момент, он лишь определяет степень напряженности индивида.
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).
Размещено на Allbest.ru
...Подобные документы
Описание структурной схемы искусственного нейрона. Характеристика искусственной нейронной сети как математической модели и устройств параллельных вычислений на основе микропроцессоров. Применение нейронной сети для распознавания образов и сжатия данных.
презентация [387,5 K], добавлен 11.12.2015Разработка алгоритма и программы для распознавания пола по фотографии с использованием искусственной нейронной сети. Создание алгоритмов: математического, работы с приложением, установки весов, реализации функции активации и обучения нейронной сети.
курсовая работа [1,0 M], добавлен 05.01.2013Выбор типа и структуры нейронной сети. Подбор метода распознавания, структурная схема сети Хопфилда. Обучение системы распознавания образов. Особенности работы с программой, ее достоинства и недостатки. Описание интерфейса пользователя и экранных форм.
курсовая работа [3,0 M], добавлен 14.11.2013Математическая модель нейронной сети. Однослойный и многослойный персептрон, рекуррентные сети. Обучение нейронных сетей с учителем и без него. Алгоритм обратного распространения ошибки. Подготовка данных, схема системы сети с динамическим объектом.
дипломная работа [2,6 M], добавлен 23.09.2013Прогнозирование на фондовом рынке с помощью нейронных сетей. Описание типа нейронной сети. Определение входных данных и их обработка. Архитектура нейронной сети. Точность результата. Моделирование торговли. Нейронная сеть прямого распространения сигнала.
дипломная работа [2,7 M], добавлен 18.02.2017Понятие искусственного нейрона и искусственных нейронных сетей. Сущность процесса обучения нейронной сети и аппроксимации функции. Смысл алгоритма обучения с учителем. Построение и обучение нейронной сети для аппроксимации функции в среде Matlab.
лабораторная работа [1,1 M], добавлен 05.10.2010Математическая модель искусственной нейронной сети. Структура многослойного персептрона. Обучение без учителя, методом соревнования. Правило коррекции по ошибке. Метод Хэбба. Генетический алгоритм. Применение нейронных сетей для синтеза регуляторов.
дипломная работа [1,5 M], добавлен 17.09.2013Принципы и система распознавание образов. Программное средство и пользовательский интерфейс. Теория нейронных сетей. Тривиальный алгоритм распознавания. Нейронные сети высокого порядка. Подготовка и нормализация данных. Самоорганизующиеся сети Кохонена.
курсовая работа [2,6 M], добавлен 29.04.2009Нейронные сети и оценка возможности их применения к распознаванию подвижных объектов. Обучение нейронной сети распознаванию вращающегося трехмерного объекта. Задача управления огнем самолета по самолету. Оценка экономической эффективности программы.
дипломная работа [2,4 M], добавлен 07.02.2013Построение векторной модели нейронной сети. Проектирование и разработка поискового механизма, реализующего поиск в полнотекстовой базе данных средствами нейронных сетей Кохонена с применением модифицированного алгоритма расширяющегося нейронного газа.
курсовая работа [949,0 K], добавлен 18.07.2014Понятие о нейронных сетях и параллели из биологии. Базовая искусственная модель, свойства и применение сетей. Классификация, структура и принципы работы, сбор данных для сети. Использование пакета ST Neural Networks для распознавания значимых переменных.
реферат [435,1 K], добавлен 16.02.2015Анализ существующих алгоритмов распознавания режимов работы газотурбинного двигателя. Метод группового учета аргументов, метод Байеса. Применение технологий системного моделирования на этапе проектирования интеллектуальной системы распознавания режимов.
курсовая работа [1,4 M], добавлен 11.04.2012Этап предварительной обработки данных, классификации, принятия решения. Изображения обучающих рукописных символов, тестового символа. Выход нейронной сети для тестового символа. График тренировки нейронной сети. Последовательность точек. Входные вектора.
статья [245,7 K], добавлен 29.09.2008Прогнозирование валютных курсов с использованием искусственной нейронной сети. Общая характеристика среды программирования Delphi 7. Существующие методы прогнозирования. Характеристика нечетких нейронных сетей. Инструкция по работе с программой.
курсовая работа [2,2 M], добавлен 12.11.2010Математические модели, построенные по принципу организации и функционирования биологических нейронных сетей, их программные или аппаратные реализации. Разработка нейронной сети типа "многослойный персептрон" для прогнозирования выбора токарного станка.
курсовая работа [549,7 K], добавлен 03.03.2015Искусственные нейронные сети как одна из широко известных и используемых моделей машинного обучения. Знакомство с особенностями разработки системы распознавания изображений на основе аппарата искусственных нейронных сетей. Анализ типов машинного обучения.
дипломная работа [1,8 M], добавлен 08.02.2017Общие сведения о принципах построения нейронных сетей. Искусственные нейронные системы. Математическая модель нейрона. Классификация нейронных сетей. Правила обучения Хэбба, Розенблатта и Видроу-Хоффа. Алгоритм обратного распространения ошибки.
дипломная работа [814,6 K], добавлен 29.09.2014Сущность, структура, алгоритм функционирования самообучающихся карт. Начальная инициализация и обучение карты. Сущность и задачи кластеризации. Создание нейронной сети со слоем Кохонена при помощи встроенной в среды Matlab. Отличия сети Кохонена от SOM.
лабораторная работа [36,1 K], добавлен 05.10.2010Обучение простейшей и многослойной искусственной нейронной сети. Метод обучения перцептрона по принципу градиентного спуска по поверхности ошибки. Реализация в программном продукте NeuroPro 0.25. Использование алгоритма обратного распространения ошибки.
курсовая работа [1019,5 K], добавлен 05.05.2015Преимущества нейронных сетей. Модели нейронов, представляющих собой единицу обработки информации в нейронной сети. Ее представление с помощью направленных графов. Понятие обратной связи (feedback). Основная задача и значение искусственного интеллекта.
реферат [1,2 M], добавлен 24.05.2015