10
1 Система распознавания мимики человека Цель работы Задачи Назначение Разработка системы распознавания мимики человека как экспрессивного компонента эмоций для обработки цифровых изображений лица Система распознавания мимики человека является инструментом для проведения научных исследований, количественной и качественной оценки эмоций человека психиатрами, клиническими психологами, психофизиологами, другими специалистами и учеными, работающими в области изучения эмоций человека 1. Провести анализ предметной области 4. Составить схему исследования 5. Написать программу распознавания мимики человека 2. Изучить математические методы распознавания образов 3. Провести сравнительный анализ автоматизированных систем распознавания эмоций Эксперт Программист Разработка системы распознавания мимики человека Подготовка эталонов Подбор параметров классификаторов Обучение классификаторов Экспертная оценка результатов работы программы Пользователь Знакомство с результатами распознавания Выбор источника для тестирования Итоговая программа Выбор эталонов Выбор эталонов Подготовка эталонов Разработка алгоритма распознавания Бизнес-процесс разработки системы Эксперт Программист Эксперт Оценка результатов распознавания Разработала Семенова Я.С. Утвердил Филиппович А.Ю.

Система распознавания мимики человекаit-claim.ru/Persons/Semenova_Yana/SemenovaPlakats.pdf · компонента эмоций для обработки

  • Upload
    others

  • View
    20

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Система распознавания мимики человекаit-claim.ru/Persons/Semenova_Yana/SemenovaPlakats.pdf · компонента эмоций для обработки

1

Система распознавания мимики человека

Цель работы

Задачи

Назначение

Разработка системы распознавания мимики человека как экспрессивного

компонента эмоций для обработки цифровых изображений лица

Система распознавания мимики человека является инструментом для

проведения научных исследований, количественной и качественной оценки

эмоций человека психиатрами, клиническими психологами,

психофизиологами, другими специалистами и учеными, работающими в

области изучения эмоций человека

1. Провести анализ предметной области

4. Составить схему исследования

5. Написать программу распознавания мимики человека

2. Изучить математические методы распознавания образов

3. Провести сравнительный анализ автоматизированных систем распознавания эмоций

ЭкспертПрограммист

Разработка системы распознавания мимики человека

Подготовка эталонов

Подбор параметров классификаторов

Обучение классификаторов

Экспертная оценка результатов работы программы

Пользователь

Знакомство с результатами

распознавания

Выбор источника для тестирования

Итоговая программа

Выбор эталонов

Выбор

эталоновПодготовка

эталонов

Разработка

алгоритма

распознавания

Бизнес-процесс разработки системы

Эксперт Программист Эксперт

Оценка

результатов

распознавания

Разработала Семенова Я.С. Утвердил Филиппович А.Ю.

Page 2: Система распознавания мимики человекаit-claim.ru/Persons/Semenova_Yana/SemenovaPlakats.pdf · компонента эмоций для обработки

2

Предметная область

Проблемы

· Сложность современных визуальных

методик

· Отсутствие стандарта мимических картин

· Субъективность мнения эксперта

· Физиологические ограничения человека в

восприятии микроэмоций

Актуальность

1. Необходимость создания инструмента для

проведения исследований

2. Экспериментальное моделирование оценки

эмоций

3. Обеспечение воспроизводимости

результатов анализа мимики

Эмоции

Рефлекторные

Произвольные

}Экспрессивная компонента -

степень выразительности эмоции, яркость мимической картины,

изменение рельефа лица, уникальное текущее расположение складок на лице

Особенности визуальных методов распознавания мимики

Пользователь не может произвести самостоятельную

оценку мимики

Эксперт, как правило, изучает только одну

методику

Сложность методик требует значительных затрат времени на обучение

Сравнение анатомических систем распознавания мимики человека

Сложности распознавания мимики как объекта

· Возраст· Пол· Национальность

· Разное количество лицевых мышц· Перенесенные травмы и операции· Прихофизиологические особенности

· Профессия· Привычные

выражения лица

Изучение

методики

распознавания

Самопроверка

знания

методики

Выбор

тестовой

картины

Процесс визуального анализа мимики

Эксперт

Экспертная

оценка

мимики

Метод Тип действия Интенсивность действия Время действия

Ekman & Friesen

(1976, 1978)

Измерение всех

мышечных движений;

44 единиц движений

Четыре действия по три

контрольных точки интенсивности

Старт-стоп (начало,

максимум, смещение)

Frois-Wittmann

(1930)

28 описаний Не описывает Не описывает

Fulcher (1942) отсутствие/наличие

16 мышечных движений

Рейтинг по объему движений в

каждой области лица

Не описывает

Ermiane & Gergerian

(1978)

Измерение всех

видимых движений; 27

мышечных движений

Каждое действие оценивается по

трех-бальной шкале

Не описывает

Landis (1924) 22 описания Каждое действие измеряется по

четырех-бальной шале

Не описывает

Разработала Семенова Я.С. Утвердил Филиппович А.Ю.

Page 3: Система распознавания мимики человекаit-claim.ru/Persons/Semenova_Yana/SemenovaPlakats.pdf · компонента эмоций для обработки

3

Ша

ги р

аб

оч

его

пр

оц

есс

а

Автоматизированные системы

распознавания эмоций

Классификация автоматизированных систем распознавания эмоций

Метод Тип

Объект Модель

Предмет изучения

Ограничения Примеры программ

1

Плотность потока, опорные точки

Скрытые модели Маркова

Только основные мимические картины

mplab.ucsd.edu

2

Опорные точки, коэффициенты Колмогорова

Нейронные сети

Фронтальное положение головы Незначительные повороты Основные и

комбинированные мимические картины

www.seestorm.com/t

echnologies/cv/

3

Опорные точки Комбинированные методы

Любые видимые лицевые изменения

Движения лица в реальном времени

www.vicarvision.nl

www.agisoft.ru/ru/pr

ojects/emotions.html

Порядок анализа тестируемого изображения

Распознавание эмоцииПредставление

результатов распознавания

Предварительная обработка

изображения

Схема исследования

Выбрать алгоритм

обработки данных

Выбрать

базу

эталонов

Оценить точность

распознавания

Написать

итоговую

версию

системы да нет

Основные функции систем распознавания эмоций

· Отслеживание движений черт лица

· Установление соответствия мимической картины и значения

· Предоставление описательной характеристики эмоции

· Настройка системы распознавания

· Сбор статистических данных

Выбрать метод

классификации

данных

Внести

изменения в

систему

Написать

пилотную

версию

системы

Определить

вид выходных

данных

Протестировать

систему

Выбрать

базу

тестов

Разработала Семенова Я.С. Утвердил Филиппович А.Ю.

Page 4: Система распознавания мимики человекаit-claim.ru/Persons/Semenova_Yana/SemenovaPlakats.pdf · компонента эмоций для обработки

4

Предварительная обработка цифрового изображения

Порядок предварительной обработки изображения

Пропорциональное масштабирование и

бинаризация цифрового изображения лица

Проверка валидности изображения для работы алгоритма

классификации эмоций

Выделение лица на панорамном изображении

Начало

Конец

4.Пропорциональное

масштабирование

5. Бинаризация

изображения

6. Кадр подготовлен

для передачи в

классификатор

да

1. Захват

панорамного кадра

Проверка

соответствия

кадра

нет

да

2. Локализация лица

на изображении*

Алгоритм анализа тестируемого кадра

Проверка

соответствия

выделенного

изображения

нет

Алгоритм локализации лица на панорамном изображении

*Локализация лица на изображении по алгоритму Viola-Jones и Haar-каскадам

[G. Shakhnarovich, P. Viola, B. Moghaddam (FGR, 2002)]

Имплементация: использование функции CvHaarDetectObjects из библиотеки OpenCV

[http://sourceforge.net/projects/opencvlibrary/]

Каскадный классификатор

Начало

2. Расположить рамку

над участком

изображения

Это лицо?

нет

да

3. Запомнить

расположение рамки

на изображении

Начало

Выбрать размер

рамки

Последовательно

пройти весь кадр

Вернуть координаты

лица на кадре

Конец

Алгоритм пропорционального масштабирования

2. Выбрать больший

размер: ширина или

высота

3. Рассчитать

коэффициент

пропорции

1.Рассчитать ширину и

высоту картинки

4.Рассчитать новые

ширину и высоту

картинки

Есть

не пройденный

участок?

1. Рассчитать размер

кадра и рамки

да

нет

Конец

Алгоритм бинаризации

2. Выбрать пороговый

уровень яркости

3. Сравнить все

пиксели относительно

порога яркости

1.Рассчитать ширину,

высоту и яркость

изображения

3.Поворот по

горизонту глаз

Проверка

горизонта

да

нет

Конец

Начало

Конец

Начало

Разработала Семенова Я.С. Утвердил Филиппович А.Ю.

Page 5: Система распознавания мимики человекаit-claim.ru/Persons/Semenova_Yana/SemenovaPlakats.pdf · компонента эмоций для обработки

5

Распознавание мимики

Начало

Изменение параметров

нейронной сети

Инициализация параметров нейронной

сети

Ошибка великанет

да

даГенерация тренировочной матрицы

нет

Инициализация весов

Конец

Рассчитать дельту ошибки для выходного

слоя

Рассчитать изменения весов для

выходного слоя

Рассчитать ошибки и изменения весов для

всех остальных слоев

Скорректировать все веса нейронной сети

Алгоритм обратного распространения ошибки

Задача распознавания делится на две подзадачи: подготовка классификатора и собственно распознавание.

В качестве классификатора выбрана нейронная сеть, обученная по алгоритму обратного распространения ошибки.

[Yafei Sun , Zhishu Li , Changjie Tang , Wangping Zhou , Rong Jiang, 2009]

Алгоритм распознавания

Начало

Тип тестового объета

Загрузка тестового объекта

да

Необходимо

загрузить

тестовый объект

нет

Конец

Веб-камера

Фото-файл

Видео-файл

Инициализация

таймера

Выбор нейронной сети

Представление

результата

Предварительная

обработка изображения

Схема подбора параметров нейронной сети

Количество слоев

1 2 3

Изменить

параметры сети

Обучить

нейронную сеть

да

Сохранить сеть

Количество нейронов

в слоях

Размерность тренировочной

матрицы

Анализ кадра

нейронной сетью

Разработала Семенова Я.С. Утвердил Филиппович А.Ю.

Задать параметры

нейронной сети

Превышение количества итераций

Прервать

обучение

нет

Page 6: Система распознавания мимики человекаit-claim.ru/Persons/Semenova_Yana/SemenovaPlakats.pdf · компонента эмоций для обработки

6

Классификатор

Искусственный нейрон с активационнной функцией

Схема обратного распространения

Сигмоидальная активационная функция

NET

1OUT

1 e

OUTOUT(1 OUT)

NET

где NET – сумма произведений сигнала на вес,

OUT– сумма, модифицированная

сигмоидальной функцией

Ф. Уоссермен. Нейрокомпьютерная техника: Теория и практика. Пер. на русс. яз., Ю.А.Зуев, В.А.Точенов, 1992

Разработала Семенова Я.С. Утвердил Филиппович А.Ю.

Обучение трехслойной нейронной сети

№ серии Число нейронов

в 1.1 слое

Число нейронов

в 1.2 слое

Число нейронов

во 2 слое

Количество

итераций

Ошибка

1 900 453 272 >100000 3,219

2 625 316 189 >100000 3,26

3 400 203 122 581 1,079

4 225 116 69 452 1,1

5 100 53 32 1232 1,098

6 25 16 9 5442 1,078

Изменение ошибки при обучении трехслойной сети

1,1

1,6

2,1

2,6

3,1

3,6

5 35 65 95 125155185215245275305335365395

Итерация

Ош

иб

ка

Anger Disgust FearHappinessNeutral SadnessSurprise

Обучающая выборка

Базовые эмоции[Paul Ekman, Wallace V. Friesen, Joseph C. Hager]

Зависимость ошибки от количества нейронов

в скрытом слое

0

1

2

3

4

1 2 3 4 5 6

Серия

Ош

иб

ка

0

100

200

300

Ите

рац

ия

Page 7: Система распознавания мимики человекаit-claim.ru/Persons/Semenova_Yana/SemenovaPlakats.pdf · компонента эмоций для обработки

7

Структура данных

1. Входные данные 2. Выходные данные

Фото-файл

Видео-файл

Видеопоток с

веб-камеры

Результаты

обучения сети в

*.csv

Диаграмма на

форме

Кадр на форме

Характеристики изображения

· ширина и высота

· яркость

· контрастность

· резкость

· освещенность

· соотношение размера лица к размеру

панорамного изображения

· фронтальное положение головы

Разработала Семенова Я.С. Утвердил Филиппович А.Ю.

Демонстрация результатов распознавания

Считывание вида

представления результата

все результаты отражены

Определение размера

представления

нет

все виды представления

обработаны

Результат имеет особенности

отображения

нет

Вывести изображение

на форму

да

да

да

Конец

нет

Имплементация· Workstation: Intel® Core™2 Duo Processor E6420 (4M Cache, 2.13 GHz, 1066 MHz FSB)

· Операционная система: Windows XP SP 3

· Среда разработки: MS Visual Studio 2008

· GUI интерфейс пользователя, веб-проект, классификатор: С#

· Работа с графикой: С/С++, библиотека OpenCV 1.0 [http://sourceforge.net/projects/opencvlibrary/]

· Статистика: Проектов 4. Классов 30. Строчек кода 6543. Время разработки 1966 часов ( 1 Full Cycle Developer)

Файл обученной

нейронной сети

*.net

Файл обученной

нейронной сети

*.net

Результаты

распознавания

в *.csv

Столбец 2 : ошибка

Лист : дата обучения

Столбец 1 : номер итерации

Столбец 1: название

эталона

Лист: дата распознавания

Столбец 2: процент

отношения теста к эталону

Структура расположения файлов

Файлы исследуемых данных

Корневая

папка

приложения

Файлы обученных нейронных сетей

Файлы отчетов о результатах

обучения сетей

Файлы отчетов о результатах

распознавания

Служебные файлы программы

Столбец 1 : в строках:

Количество слоев сети,

Количество нейронов в слоях,

Размер матрицы

Столбец 2 : данные,

соответствующие строкам в

столбце 1

Page 8: Система распознавания мимики человекаit-claim.ru/Persons/Semenova_Yana/SemenovaPlakats.pdf · компонента эмоций для обработки

8

«topLevelPackage»Статическая

модель::Основной пакет

«subsystem»Основной

пакет::EmotionRecognition

Основной пакет::AForge

Dissertation::FaceDetection

Основной пакет::System

Основной пакет::WebCam_Capture

Dissertation::EmAn

AForge::Math

FaceDetection::clsFaceDetectionWrapper

WebCam_Capture::WebCamCapture

WebCam_Capture::WebcamEventArgs

Структура системы

+Init_Cam(в form : Form1, в W : int, в H : int, в picFisrt : PictureBox)+Start()+Stop()+Cam_ImageCaptured(в source : object, в e : WebcamEventArgs)

+isStart : bool = false-Cam : WebCamCapture-Parent : Form1-PicFi : PictureBox

Camera

-Cr : double = 0-R : int = 0-G : int = 0-B : int = 0-r : int = 0-Testdetection : int-WPresentdetection : int = 0-BPresentdetection1 : int = 0-activeHistogram : Histogram = null

Face_Detection

-fromCameraToolStripMenuItem1_Click(в sender : object, в e : EventArgs)-faceDetection(в fileBitmap : Bitmap)-algNN(в bmp : Bitmap)-LoadNetwork()-NNRecognize(в bmp : Bitmap)-ShowRecognitionResults(в results : string[])-selectNetworkToolStripMenuItem_Click(в sender : object, в e : EventArgs)-historyToolStripMenuItem_Click(в sender : object, в e : EventArgs)-helpToolStripMenuItem2_Click(в sender : object, в e : EventArgs)

-cam : Camera = new Camera()-Face : Face_Detection-useNN : NN = new NN()-AboutBox : About-objFaceDetector : clsFaceDetectionWrapper

Form1

1

1

11

«bind»

«bind»

«bind»

«bind»

«bind»

«bind»

«bind»

EmAn::Lib

+NeuralNetwork(в IBackPro : IBackPropagation, в trainingSet : Dictionary)+Train() : bool+Recognize(в Input : double[], в/из MatchedHigh, в/из OutputValueHight : double)+LoadNetwork(в path : string)

-NeuralNet : IBackPropagation-maximumError : double = 1.0-maximumIteration : int = 10000-TrainingSet : Dictionary

Lib::NeuralNetwork

«bind»

«bind»

«bind»

«bind»

«bind»

«bind»

EmAn::About

«bind»

+ToMatrix(в BM : Bitmap, в MatrixRowNumber : int, в MatrixColumnNumber : int) : double[]+ToImage(в Matrix : double[], в MatrixRowNumber : int, в MatrixColumnNumber : int) : Bitmap

EmAn::ImageProcessing

«bind»

Разработала Семенова Я.С. Утвердил Филиппович А.Ю.

+Value : double+Weights : double[]

«struct»Lib::PreInput

+InputSum : double+Output : double+Error : double+Weights : double[]

«struct»Lib::Input

+InputSum : double+Output : double+Error : double+Weights : double[]

«struct»Lib::Hidden

+InputSum : double+output : double+Error : double+Target : double+Value : T

«struct»Lib::Output

«bind»

«bind»

«bind»

«bind»

+Stop : bool = false+CurrentError : double = 0+CurrentIteration : int = 0

Lib::NeuralEventArgs

+BackPropagate()+F(в x : double) : double+ForwardPropagate(в pattern : double[], в output)+GetError() : double+InitializeNetwork(в TrainingSet : Dictionary)+Recognize(в Input : double[], в/из MatchedHigh, в/из OutputValueHight : double)

Lib::IBackPropagation

Page 9: Система распознавания мимики человекаit-claim.ru/Persons/Semenova_Yana/SemenovaPlakats.pdf · компонента эмоций для обработки

9

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

Развитие проекта

· Разработка программы экспертной оценки: работа с паттернами экспрессий в качестве эталонов

· Детализация описания мимической картины

· Гибридизация методов поиска соответствия теста эталонам для улучшения качества распознавания

· Добавление обработки звука, жестов, положения тела

· Сбор статистики, предоставление отчета в привычном для пользователя формате

Разработала Семенова Я.С. Утвердил Филиппович А.Ю.

Результаты распознавания от min до max соответствия теста эталону

0

10

20

30

40

50

60

70

80

1 серия 2 серия 3 серия 4 серия 5серия 6 серия

%

Максимальное

Промежуточное

Минимальное

Результаты распознавания, %

00,10,20,3

0,40,50,6

neutral

ange

r

happin

ess

sadness

disgust fe

ar

surp

rise

%

Расстояния между соседними выходами, %

0

0,1

0,2

0,3

0,4

2~1 3~2 4~3 5~4 6~5 7~6

Раз

но

сть

в %

Количество верных распознаваний

0

50

100

150

200

250

300

350

400

450

500

neutral

ange

r

sadness

happin

ess

disgust fe

ar

surp

rise

Ко

ли

чест

во р

асп

озн

аван

ий

Частота определения эталона

0

10

20

30

40

50

60

neutral

anger

happiness

sadness

disgust

fear

surprise

%

Page 10: Система распознавания мимики человекаit-claim.ru/Persons/Semenova_Yana/SemenovaPlakats.pdf · компонента эмоций для обработки

10

Классификатор

Распознавание

Представление результатов распознавания

Интерфейс и компоненты системы

Создание банка эталонных изображений

Установка параметров классификатора

Обучение классификатора

Сопоставление тестового

изображения с банком

Сохранение результатов

распознавания

Захват тестового объекта

Задание параметров

распознавания

100% 90% 80%10%

5%4%1%

4%

11%10%

10%

54%

10%

Главная форма Форма установок параметров НС

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

Экспертный Комплексный Любительский

1. Создание банка эталонных

изображений

да да нет

2. Установка параметров

нейронной сети

да нет нет Управление

обучением

3. Обучение нейронной сети да да нет

4. Захват тестового объекта да да да

5. Установка параметров

распознавания

да нет нет Управление

распознаванием 6. Сохранение результатов

распознавания

да да да

Представление результата Таблицы, графики, диаграммы,

словесное описание

Смайлики,

картинки

КОМПОНЕНТЫ

Разработала Семенова Я.С. Утвердил Филиппович А.Ю.

Ф У Н К Ц И И