Введение 3
Постановка цели и задач 4
1. Распознавание эмоций человеческого лица 5
1.1 История изучения и развития искусственных нейронных сетей 5
1.2 Биологический нейрон, строение и принцип работы биологического нейрона 8
1.3 Искусственная нейронная сеть 10
1.3.1 Нейрон в искусственных нейронных сетях 11
1.3.2 Синапс в искусственных нейронных сетях 12
2. Анализ рынка систем распознавания эмоций 13
2.1 Сферы применения 13
2.2 Рынок конкурентов 14
3. Методы распознавания эмоций и лица человека 17
3.1 Скрытые марковские модели 18
3.2 Метод главных компонент 18
3.3 Метод гибкого сравнения на графах 19
3.4 Многослойные нейронные сети 20
3.5 Метод Виолы-Джонса 22
4. Обучение нейронной сети 25
4.1 Алгоритм обратного распространения ошибки 25
5. Реализация 27
5.1 Используемые технологии 27
5.1.1 JavaScript 28
5.1.2 Библиотеки 28
5.2 Алгоритм выполнения проекта 29
6. Результаты 38
Заключение 41
Список использованных источников 42
Приложение
Важной проблемой распознавания эмоций человека является то, что не всегда можно однозначно интерпретировать то, или иное выражение лица человека. Иногда какая-то эмоция представляет собой совокупность различных чувств человека, другими словами, улыбку в сочетании определенной мимикой лица можно интерпретировать далеко не как радость.
Нейронные технологии казались фантастической выдумкой, а уже сегодня они тесно связаны с нами, технологии заполонили наш мир.
Технология распознавания человеческого лица очень полезная система. Она может использоваться как в целях обеспечения безопасности, так и в развлекательных целях. В мире уже полно подобных систем, каждая из которых выполняет свой спектр задач.
Определение эмоций — это очень перспективное направление, которое может быть использовано в очень широком спектре коммерческих решений: от оценки эффективности рекламных и маркетинговых кампаний до области безопасности. Там распознавание эмоций поможет компьютерным системам автоматически распознавать людей [1].
И с помощью чего же происходит распознавание лица человека? В этом помогут различные готовые методы по обнаружению лица на изображении или видеопотоке. Разнообразие методов позволяет выбрать тот, который подходит для решения конкретной задачи. Особенность класса методов искусственного интеллекта является не прямое решение задачи, а обучение в процессе применения решений множества сходных задач. Подобные методы строятся на основах математической статистике, методов оптимизации, численных методов, теории вероятностей, теории графов, различные техники работы с данными в цифровой форме.
Постановка цели и задач
Актуальность: тема распознавания эмоционально окрашенной мимики человеческого лица сейчас очень актуальна. Проводятся многочисленные исследования по изучению мимики лица человека, а также по обучению информационных систем ее распознавать. Эта область является очень перспективной, а также охватывает ни одну сферу применения.
Цель: создание такой системы, которая будет способна распознать эмоции человека в реальном времени с помощью веб-камеры. Другими словами, на вход будут подаваться кадры из видеопотока, на котором необходимо обнаружить человеческое лицо, а затем обучить нейронную сеть так, чтобы можно было определить эмоции с как можно меньшей ошибкой.
Задачи:
1. Изучить историю нейронных сетей
2. Проанализировать рынок подобных систем
3. Рассмотреть методы распознавания лица и эмоций
4. Выбрать метод, подходящий данной работе
5. Реализовать проект
Итак, наблюдается очень большой интерес к изучению нейронных сетей. Их можно применять в совершенно различных областях, таких как безопасность, медицина, физика, маркетинг и т.д. Большой успех искусственных нейронных сетей характеризуется тем, что они способны справиться со сложными зависимостями, с задачами высокой размерности, а также анализом данных, оптимизацией и т.д. А самым большим плюсом является то, что не нужно писать алгоритмов для решения задач.
Наиболее сложной, трудоемкой частью по созданию нейросети является ее обучение, уже созданы некие алгоритмы по ускорению обучению нейронных сетей, в связи с этим повышается и спрос на них. Но также стоит учитывать, что нейросети требуют большой вычислительной мощности, а также немаловажно правильно выбранного метода и типа нейросети для решения конкретно поставленной задачи.