Введение 3
Постановка задачи 4
Обзор литературы 5
Глава 1. Обзор готовых решений и методов 6
1.1 Обзор существующих реализаций 6
1.1.1. FaceReader 6
1.1.2. EmoDetect 7
1.1.3. FaceSecurity 9
1.1.4. MS Oxford Project Emotion Recognition 11
1.2 Методы обнаружения лиц 12
1.3 Методы распознавания эмоций 15
1.3.1 Метод опорных точек 15
1.3.2 Метод Виолы-Джонса 17
Глава 2. Реализация 19
2.1 Основная концепция реализуемого проекта 19
2.2 Выбор облачной технологии 21
2.3 Выбор технологии создания 22
2.4 Результаты 26
Выводы 28
Заключение 30
Список литературы
В современном мире, в век развития информационных технологий, где искусственный интеллект уже не кажется научной фантастикой, а является предметом работы многих учёных, появилось понятие компьютерного зрения. Если кратко, то компьютерное зрение — это теория и технология создания машин, которые могут производить обнаружение, отслеживание и классификацию объектов. Для того, чтобы взаимодействие машины и человека проходило наиболее комфортно и удобно для последнего, необходимо создать технологию, способную воспринимать сигналы, посылаемые ей человеком, будь то голосовые команды (как это продемонстрировали исследователи из университета Тафтса на конференции AI-HRI в ноябре 2015 года[1]), определённые невербальные жесты (технология Kinect) или сигналы мимики лица (проявление эмоций и чувств). Считывание человеческих эмоций может быть как единственным способом взаимодействия так и вспомогательным, например, для того чтобы следить за состоянием человека во время выполнения основной работы. Такой подход сделает анализ команд более точным, а взаимодействие будет проще.
Само распознавание человеческих эмоций может стать основной частью проекта по определению лжи, где в дополнение в биометрическим параметрам тела добавится информация о мимике, играющей важную роль при решении такой задачи. И даже если отойти от науки, можно найти применение этой задачи в развлекательных ресурсах, так система может запоминать моменты из фильмов, которые, судя по эмоциям, понравились зрителю больше всего, и подбирать подобный материал с учётом сформированных интересов.
Постановка задачи
Целью данной работы является разработка приложения, определяющего эмоциональное состояние человека на основе его мимики, представленной во входном видеопотоке. Главной задачей приложения является распознавание черт лица, свойственных определённым человеческим эмоциям и вычисление конечного, понятного пользователю, результата.
Для достижения этой цели поставлены следующие шаги:
1) Рассмотреть существующие решения поставленной задачи и сравнить их достоинства и недостатки.
2) Провести сравнение алгоритмов решающих поставленную задачу и проанализировать их достоинства и недостатки. Выбрать наиболее подходящий, то есть тот, при котором будут минимизированы затраты ресурсов машины, на которой будет выполняться приложение, времени выполнения, финансовые затраты при разработке, и максимизирована скорость выполнения.
3) Рассмотреть существующие языки программирования, выбрать тот, который наиболее подходит для реализации приложения, то есть тот, при выборе которого достигаются оптимальные значения из пункта 2.
4) Выбор платформы и технологии создания, на основе анализа существующих инструментов и средств разработки.
5) Реализовать алгоритм и тестирование приложения. Нахождение и исправление ошибок.
В данной работе была поставлена задача распознавания эмоций в видеопотоке и изучена её актуальность, рассмотрены существующие реализации и сравнение их преимуществ и недостатков. Проведён обзор алгоритмов поиска объектов, в частности лиц, на изображении. На основании этого обзора выбран методы Виолы-Джонса для обнаружения лиц в кадре и метод на основе ключевых точек для распознавания эмоций как приоритетные в реализации приложения решающего поставленную задачу. Во время работы с данным методом были обучены каскады, предназначенные для нахождения конкретных частей лица на изображении, а также успешно реализовано нахождение координат опорных точек, на основе которых строится конечный результат. Выявлены проблемы работы с данным алгоритмом и представлены их возможные решения
1. Artificial Intelligence and Human-Robot Interaction //AAAI Fall SymposiumSeries. URL:http://ai-hri.github.io/(дата обращения 12.12.2015).
2. AdaBoost // Wikipedia The Free Encyclopedia URL:
https://ru.wikipedia.org/wiki/AdaBoost(дата обращения 12.12.2015).
3. Facial expression recognition software FaceReader // Noldus - Innovative solutions for behavioral research. URL:http: //www.noldus.com/human-behavior-research/products/facereader(дата обращения 12.12.2015).
4. Нейроботикс - EmoDetect // Нейроботикс. URL: http://neurobotics.ru/robotics/robotic-software/emodetect(дата обращения
12.12.2015) .
5. Products - Cognitec // The face recognition company - Cognitec. URL: http://www.cognitec.com/products.html(дата обращения 12.12.2015).
6. Microsoft Cognitive Services - Emotion API // Microsoft. URL:
https://www.projectoxford.ai/demo/Emotion(дата обращения 12.12.2015).
7. L. Sirovich, M. Kirby. Low dimensional procedure for characterization of human faces//Journal of the Optical Society of America A, 1987, Vol. 4, P. 519.
8. M. Turk and A. Pentland. Face recognition using eigenfaces // Proc. IEEE Conference on Computer Vision and Pattern Recognition. 1991, P. 586-591.
9. Метод главных компонент // Wikipedia The Free Encyclopedia. URL: https://ru.wikipedia.org/wiki/Мето д главных компонент(дата обращения
12.12.2015) .
10. Правило сломанной кости. Метод главных компонент // Wikipedia The Free Encyclopedia. URL:
https://ru.wikipedia.org/wiki/Метод главных компонент#Оценка числа главныхкомпонент по правилу сломанной трости(дата обращения 12.12.2015).
11. Расстояние Махаланобиса // Wikipedia The Free Encyclopedia. URL: https: //ru.wikipedia. org/wiki/PaccToaHne MaxanaHo6nca(дата обращения
12.12.2015) .
12. About OpenCV // OpenCV. URL:http://opencv.org/about.html(дата обращения
12.12.2015) .
13. Emgu CV: OpenCV in .NET // Emgu CV: OpenCV in .NET. URL:
http://www.emgu.com/wiki/index.php/Main Page(дата обращения 11.02.2016).
14. Windows Azure beats Amazon EC2, Google App Engine in cloud speed test // ARS Technica. URL:http://arstechnica.com/business/news/2011/10/windows-azure-faster-than-amazon-ec2-and-google-app-engine-in-yearlong-cloud-speed-test.ars(дата обращения 20.03.2016).
15. Система кодирования лицевых движений // Wikipedia The Free Encyclopedia. URL:https://ru.wikipedia.org/wiki/Система кодирования лицевых движений(дата обращения 15.02.2016).
16. Цены на инстансы EC2 //Amazon Web Services. URL:
https://aws.amazon.com/ru/ec2/pricing/(дата обращения 20.03.2016).
17. Дэвид Форсайт, Жан Понс. Компьютерное зрение. Современный подход. 2004, 928 с.
18. Samuel Strupp, Norbert Schmitz, and Karsten Berns. Visual-Based Emotion Detection for Natural Man-Machine Interaction //KI 2008: Advances in ArtificialIntelligence. 2008, Vol. 5243, P.356 -363.
19. Paul Viola, Michael J. Jones. “Robust Real-time Object Detection”. 2001.
20. Руководство по разработке для .NET Framework // MSDN - сеть разработчиков Microsoft. URL:
https://msdn.microsoft.com/ru-ru/library/hh156542(v=vs.110).aspx(дата обращения 11.02.2016).
21. Sriram Krishnan. “Programming Windows Azure: Programming the Microsoft Cloud”. 2010. 368 с.
22. Рихтер Дж. “CLR via С#. Программирование на платформе Microsoft .NET Framework 4.0 на языке С#”. 3-е изд. - СПб.: Питер, 2012.- 928 с.
23. Paul Viola, Michael Jones. Rapid object detection using a boosted cascade of simple features // Accepted conference on computer vision and pattern recognition, 2001.
24. VladimirLeskin/Facial-emotion-recogniton // GitHub. URL: https://github.com/VladimirLeskin/Facial-emotion-recogniton(дата обращения 13.04.2016).
25. About Git // Git. URL:https://git-scm.com/about(дата обращения 13.04.2016).
26. EmoRec - приложение ASP.NET// azurewebsites. URL:
http: //cameracaptureleskinv.azurewebsites. net/(дата обращения 13.04.2016).