6.74M

Презентация_Страхов_Система_по_распознаванию_эмоций

1.

Презентация спикера
• Страхов Станислав Валерьевич, прошел курс “Профессия Data
Scientist: машинное обучение” и выполнил дипломный проект
по компьютерному зрению “Система по распознаванию
эмоций”
• Благодаря курсу и дипломному проекту познакомился с
теоретической базой нейронных сетей, их классификацией под
разные задачи, их применением на практике и внедрением в
production, изучил и применил основы аналитики, статистики и
теории вероятностей в практических работах и дипломном
проекте.
• Цели после обучения – разработка свёрточных нейронных
сетей и их применение в задачах компьютерного зрения

2.

Описание проекта
Название проекта – “Система по распознаванию эмоций”
Описание проекта – перед презентацией конкретного сериала широкой аудитории компания “самыезрелищныесериалы.рф” просит
разных людей посмотреть этот сериал и снимает их эмоции на камеру для фиксирования моментов, в которые зритель наиболее
впечатлён для последующего монтажа ролика.
Проект представлен в виде соревнования на платформе Kaggle.
Для обучения и тестирования разрабатываемой нейронной сети размещены ссылки на архивы с фотографиями .
Разработанная система распознавания эмоций должна предсказать 9 базовых эмоций:
neutral - нейтральная эмоция
anger - гнев, злость
contempt - презрение
disgust - отвращение
fear - страх
happy - веселый
sad - грусть
surprise - удивленность
uncertain - неуверенность

3.

Цели и задачи проекта
• Цель проекта – помочь компании “самыезрелищныесериалы.рф” посредством нейросети отслеживать эмоции зрителей во
время просмотра сериалов для дальнейшего автоматического составления трейлеров и анализа фильмов и сериалов
• Необходима реализация алгоритма с использованием архитектур свёрточных нейронных сетей, с помощью которого будет
происходить классификация эмоций по набору предоставленных фотографий.
Рисунок 1. Ожидаемый результат работы классификации эмоций по набору фотографий

4.

Этапы реализации проекта
• 1. Разведочный анализ данных
• 2. Обработка данных
• 3. Выбор архитектуры для нейросети
• 4. Разработка и тренировка модели
• 5. Тестирование модели

5.

Разведочный анализ данных
• В рамках разведочного анализа данных выполнено:
Исследование количества файлов для тренировочного и тестового наборов данных в каждой из категорий эмоций: 50046
фотографий тренировочных данных и 5000 фотографий тестовых данных в 9 категориях эмоций
Получение базовых метрик размеров изображений из тренировочного и тестового наборов, из которого видно что все
изображения кроме двух имеют квадратную форму. Половина изображений имеет размер в пределах 247-660 пикселей,
минимальный размер 133 пикселя, максимальный – 4689 пикселя.
Обнаружено, что в тренировочном наборе данных присутствуют одинаковые изображения, но относящиеся к разным
эмоциям. Необходимо удалить данные изображения из тренировочного датасета с целью увеличения точности будущей
модели распознавания эмоций.
В тренировочном наборе данных присутствуют очень темные/светлые изображения, которые целесообразно усреднить по
яркости и контрасту
В тренировочном наборе данных присутствуют изображения без лиц, с фрагментами лиц, с несколькими лицами,
изображения, по которым распознать эмоции невозможно. Данные изображения нужно удалить из тренировочного
датасета с целью увеличения точности будущей модели распознавания эмоций.
Категории эмоций в тренировочном наборе данных распределены не равномерно: заметный недостаток лиц в категориях
“contempt” и “disgust”.

6.

Обработка данных
1.
Удаление идентичных изображений по вычисленным хеш-функциям
2. Нормализация уровня яркости/контраста
3. Удаление изображений без лиц, с фрагментами лиц, с несколькими лицами, изображений, по которым распознать эмоции
невозможно посредством Multi-task Cascaded Convolutional Networks (MTCNN).

7.

Выбор архитектуры нейросети
Рисунок 2. Архитектура свёрточной нейронной сети ResNet50

8.

Разработка и тренировка модели
Выполнен fine-tuning модели VggFace для классификации лиц
Рисунок 3. Метрики обученной модели на 20 эпохах

9.

Тестирование модели
После завершения обучения нейросети была проверена работа нейросети на картинках из тестового набора данных.
Рисунок 4. Результат работы модели на тестовых картинках

10.

Результат на Kaggle
По итогам работы созданной нейросети был сгенерирован файл submission.csv, в котором для каждого
изображения с лицом человека указана наиболее вероятная эмоция из представленных, и отправлен на
валидацию в Kaggle. Полученный результат соответствует требованиям задачи.
Рисунок 5. Результат соревнования на Kaggle

11.

Выводы
1.
Для разработки нейросети была выбрана архитектура CNN Resnet50.
2.
Был осуществлен fine-tuning модели VGGFace для классификации лиц посредством добавления двух слоёв: Flatten и
полносвязного Dense слоя с SoftMax-активацией для 9-ти категорий эмоций.
3.
Общее количество параметров созданной нейросети 23579593, из которых обучаемых параметров 23526473.
4.
Время инференса сети составило в среднем 0.1 с, что соответствует требованию не превышать 0.33с.
English     Русский Rules