Автор Анжелика Перес
Системы машинного обучения можно научить распознавать эмоциональные выражения на изображениях человеческих лиц, во многих случаях с высокой степенью точности.
Однако реализация может оказаться сложной и трудной задачей. Технология находится на относительно ранней стадии. Наборы данных высокого качества может быть трудно найти. И есть различные ловушки, которых следует избегать при разработке новых систем.
В этой статье представлено введение в область, известную как распознавание выражения лица (FER). После объяснения общих особенностей и проблем, составляющих эту область, в этой статье будут рассмотрены общие наборы данных, архитектуры и алгоритмы FER. Кроме того, в нем будут изучены производительность и точность систем FER, чтобы показать, как эти результаты определяют новые траектории для тех, кто изучает автоматическое распознавание эмоций с помощью машинного обучения.
Информация, представленная в этой статье, основана на сочетании опыта проекта и научных исследований. В ThoughtWorks мы создали инструментарий FER под названием EmoPy, поддерживая художницу и режиссера Карен Палмер во время ее резиденции с ThoughtWorks Arts.
В качестве ведущего разработчика этого проекта я работал с командой, чтобы помочь Карен создать новую версию ее эмоционально чувствительного кино, RIOT. Мы создали EmoPy с нуля, чтобы удовлетворить требования к распознаванию эмоций системы RIOT.
EmoPy публикуется как проект с открытым исходным кодом, помогая расширить публичный доступ к технологии, которая часто остается за закрытыми дверями. В этой последующей статье я расскажу больше о создании набора инструментов EmoPy и объясню, почему и как вы можете использовать его в своих собственных проектах. Прежде чем присоединиться к ThoughtWorks, я окончил Стэнфорд по специальности Искусственный интеллект. Большая часть моих исследований была посвящена сравнительным подходам к проблемам машинного обучения, включая рассмотрение систем FER.
Обзор, представленный в этой статье, основан на обоих этих опытах, в Стэнфорде и в ThoughtWorks Arts.
Распознавание выражений лица — это проблема классификации изображений, относящаяся к более широкой области компьютерного зрения. Задачи классификации изображений — это задачи, в которых изображениям необходимо алгоритмически присвоить метку из дискретного набора категорий. В частности, в системах FER изображения представляют собой человеческие лица, а категории представляют собой набор эмоций. Для всех подходов машинного обучения к FER требуется набор примеров обучающих изображений, каждый из которых помечен одной категорией эмоций. Часто используется стандартный набор из семи классификаций эмоций:
- Отвращение
- Страх
- Счастье
- Грусть
- Сюрприз
- Нейтральный
- Мультиклассовые машины опорных векторов (SVM)
Эти классификации эмоций проиллюстрированы на изображении ниже, где показаны репрезентативные образцы изображений, взятые из этой статьи 2014 года о распознавании выражений. Классификация изображения на основе его изображения может быть сложной задачей для машин. Людям несложно посмотреть на изображение велосипеда и понять, что это велосипед, или посмотреть на лицо человека и понять, что он улыбается и счастлив.
Когда компьютеры смотрят на изображение, они «видят» просто матрицу значений пикселей. Чтобы классифицировать изображение, компьютер должен обнаружить и классифицировать числовые закономерности в матрице изображения. Эти шаблоны могут быть изменчивыми, и их трудно определить по нескольким причинам. Некоторые человеческие эмоции можно различить только по тонким различиям в чертах лица, при этом такие эмоции, как гнев и отвращение, часто выражаются очень похожими способами. Выражение эмоций каждого человека может быть очень своеобразным, с определенными причудами и мимическими репликами. На фотографиях, подлежащих классификации, может быть большое разнообразие расходящихся ориентаций и положений голов людей. По этим причинам FER сложнее, чем большинство других задач классификации изображений. Однако хорошо спроектированные системы могут дать точные результаты, если во время разработки учитываются ограничения.
Например, более высокая точность может быть достигнута при классификации меньшего подмножества хорошо различимых выражений, таких как гнев, счастье и страх. Более низкая точность достигается при классификации больших подмножеств или небольших подмножеств с менее различимыми выражениями, такими как гнев и отвращение.
Как и большинство систем классификации изображений, системы FER обычно используют предварительную обработку изображений и извлечение признаков с последующим обучением на выбранных архитектурах обучения. Конечным результатом обучения является создание модели, способной назначать категории эмоций новым примерам изображений.
Этап предварительной обработки изображения может включать такие преобразования изображения, как масштабирование, обрезка или фильтрация изображений. Он часто используется для выделения важной информации об изображении, например, обрезка изображения для удаления фона. Его также можно использовать для дополнения набора данных, например, для создания нескольких версий исходного изображения с применением различной обрезки или преобразования.
Этап извлечение признаков идет дальше, находя более описательные части изображения. Часто это означает поиск информации, которая может быть наиболее показательной для определенного класса, например, края, текстуры или цвета.
Этап обучения происходит в соответствии с определенной архитектурой обучения, которая определяет комбинации слоев, которые взаимодействуют друг с другом в нейронной сети. Архитектуры должны быть разработаны для обучения с учетом состава этапов извлечения признаков и предварительной обработки изображений. Это необходимо, потому что некоторые архитектурные компоненты лучше работают с другими, когда применяются по отдельности или вместе.
Например, некоторые типы извлечения признаков бесполезны в сочетании с алгоритмами глубокого обучения. Они оба находят в изображениях соответствующие функции, такие как края, и поэтому их совместное использование излишне. Применение извлечения признаков до алгоритма глубокого обучения не только не нужно, но и может даже негативно повлиять на производительность архитектуры.
После завершения каких-либо этапов извлечения признаков или предварительной обработки изображения алгоритм обучения создает обученную модель прогнозирования. Существует ряд вариантов обучения моделей FER, каждый из которых имеет сильные и слабые стороны, что делает их более или менее подходящими для конкретных ситуаций. В этой статье мы сравним некоторые из наиболее распространенных алгоритмов, используемых в FER:
- Сверточные нейронные сети (CNN)
- Рекуррентные нейронные сети (RNN)
- Сверточная долговременная кратковременная память (ConvLSTM)
- «Extended Cohn-Kanade», выпущенный в 2010 г., и
Мультиклассовые машины опорных векторов (SVM) — это алгоритмы обучения с учителем, которые анализируют и классифицируют данные и хорошо работают при классификации выражений лица человека. Однако они делают это только тогда, когда изображения создаются в контролируемых лабораторных условиях с последовательными позами головы и освещением.
SVM хуже работают при классификации изображений, снятых в дикой природе или в спонтанных, неконтролируемых условиях. Таким образом, все последние изучаемые архитектуры обучения представляют собой глубокие нейронные сети, которые лучше работают в этих обстоятельствах. Сверточные нейронные сети (CNN) в настоящее время считаются самыми популярными нейронными сетями для классификации изображений, поскольку они улавливают закономерности в небольших частях изображения, таких как изгиб брови.
CNN применяют ядра, которые представляют собой матрицы меньшего размера, чем изображение, к фрагментам входного изображения. Применяя ядра к входам, новые матрицы активации, иногда называемые картами функций, генерируются и передаются в качестве входных данных на следующий уровень сети. Таким образом, CNN обрабатывают более детализированные элементы изображения, что позволяет им лучше различать две похожие классификации эмоций.
В качестве альтернативы рекуррентные нейронные сети (RNN) используют динамическое временное поведение при классификации изображения. Это означает, что когда RNN обрабатывает входной пример, она не просто просматривает данные из этого примера — она также просматривает данные из предыдущих входов, которые используются для предоставления дополнительного контекста. В FER контекстом могут быть предыдущие кадры изображения видеоклипа.
Идея этого подхода состоит в том, чтобы фиксировать переходы между чертами лица с течением времени, позволяя этим изменениям стать дополнительными точками данных, поддерживающими классификацию. Например, можно фиксировать изменения краев губ по мере того, как выражение лица меняется от нейтрального к счастливому при улыбке, а не только края улыбки из отдельного кадра изображения.
Сила CNN в извлечении локальных данных может быть объединена со способностью RNN использовать временной контекст с использованием Convolutional Long Short Term Memory (ConvLSTM). Эти системы используют сверточные слои для извлечения признаков и слои LSTM для фиксации изменений в последовательностях изображений. Поскольку глубокие нейронные сети хорошо распознают закономерности на изображениях, их также можно использовать для извлечения признаков. Некоторые подходы FER используют CNN для создания векторов признаков, которые затем отправляются в SVM для классификации. Этот подход может привести к более точным результатам, но представляет собой более сложную архитектуру, которая требует дополнительных усилий по программированию и увеличения времени обработки для каждого классифицированного изображения.
Производительность любого из этих подходов зависит от входных данных, параметров обучения, набора эмоций и системных требований. По этим причинам важно экспериментировать с различными обучающими архитектурами и наборами данных, оценивая точность и полезность каждой комбинации.
Как описано выше, модели FER должны быть обучены на наборе помеченных изображений, прежде чем их можно будет использовать для классификации новых входных изображений. Для обучения этим приложениям требуются большие наборы данных изображений лиц, каждое из которых отображает отдельную эмоцию — чем больше помеченных изображений, тем лучше. Принятие решения о том, на каком наборе данных обучать сеть, — непростая задача, особенно потому, что трудно найти высококачественные наборы данных FER. Немногие такие наборы данных находятся в открытом доступе, а те, что есть, имеют свои особенности, которые необходимо понимать и принимать во внимание.
Наиболее важными моментами, которые следует учитывать при выборе набора данных, являются размер и качество набора. Размер, пожалуй, самый важный, а также самый простой для объяснения. В идеале набор данных должен содержать тысячи, а лучше миллионы изображений.
Многие общедоступные наборы данных FER содержат только сотни, а иногда и тысячи изображений. Напротив, база данных эмоций Affectiva, содержащая более 5 миллионов лиц, используется для коммерческих продуктов классификации эмоций. Однако эти данные не являются общедоступными.
Идея трансферного обучения заключается не в том, чтобы начинать обучение с нуля. Вместо этого используйте модели нейронных сетей, которые ранее были обучены на большом количестве похожих данных для решения какой-либо другой похожей задачи. Эти модели уже поставляются с набором предварительно обученных весов классификации, которые можно использовать в качестве отправной точки и которые можно повторно обучить с новым набором данных, использующим новый набор классификаций.
В случае FER можно использовать нейронные сети, которые были предварительно обучены на большом количестве изображений для решения общих задач классификации изображений, таких как модель Google «Inception-V3». Эта модель обучается на «наборе данных ImageNet», содержащем около 80 000 изображений 1000 классов, таких как «зебра», «далматин» и «посудомоечная машина», с использованием CNN.
Тем не менее, есть много возможностей для улучшения моделей трансферного обучения для FER, поскольку таким моделям очень сложно обобщать наборы данных. Модель, обученная на одном наборе данных, может плохо работать при использовании для классификации изображений из второго набора данных.
Другой подход заключается в использовании «аугментации данных» для искусственного увеличения размера наборов данных. Этот подход создает копии оригинальных изображений с измененным освещением, примененными поворотами и зеркальным отображением, а также другими преобразованиями. Этот подход может повысить точность нейронных сетей за счет увеличения диапазона состояний, в которых встречаются исходные признаки во время обучения.
В таблицах ниже показаны результаты точности для нескольких последних архитектур моделей глубоких нейронных сетей, обученных на двух разных общедоступных наборах данных:
Таблицы взяты из «академического исследования 2017 года», в котором собственные результаты, показанные в строке «Наш-финал», сравниваются с другими архитектурами, упомянутыми в статье.
Метод >Точность AURF [105] 92,22 % AUDN [106] 93,7 % STM-Explet [107] 94,2 % LOmo [108] 95,1 % IDT+FV [109] 95,8 % Deep Belief Network [78] 96,7 % Zero- Bias-CNN [110] 98,4 % Ours-Final 98,7 % Результаты точности, представленные в первой таблице, очень высоки. Однако важно отметить, что эти модели были обучены и протестированы на наборе данных Кона-Канаде, который содержит менее 500 образцов изображений с выражениями лица, и что эти выражения были «отыграны», а не аутентично выражены. Сыгранные выражения лица обычно более преувеличены, чем то, что мы видим в реальном мире. Если бы мы классифицировали новые изображения с помощью этих моделей, они, скорее всего, оказались бы хуже. Системы, обученные на наборах данных, созданных в контролируемой лаборатории, обычно не могут обобщать наборы данных. Метод Точность DTAGN [111] 81,46 % LOmo [108] 82,1 % PPDN [112] 84,59 % FN2EN [98] 87,71 % Ours-Final 89,60 % Набор данных Oulu-CASIA состоит из шести выражений: удивления, счастья, печали, гнева, страха и отвращения. Записанные изображения взяты у группы из 80 человек, большинство из которых были мужчинами. Пятьдесят испытуемых были финны и тридцать китайцы. Выражения не только разыгрывались, но испытуемым давали изображения выражений лица, чтобы использовать их в качестве примеров для подражания. Это еще один пример набора данных с чрезвычайно контролируемым процессом создания, что приводит к отсутствию обучающего разнообразия и модели, которая не может обобщать. Эти примеры помогают проиллюстрировать основную проблему, с которой столкнулись при разработке системы FER — обобщаемость. Как можно добиться высокой точности для нескольких наборов данных, содержащих изображения с несколькими вариантами позы, освещения и других отличительных признаков?
- Оулу-CASIA, выпуск 2009 г.
- Качество набора данных можно рассматривать по-разному. Одним из ключевых соображений является уровень представления данных классификаций эмоций. Во многих наборах данных некоторые эмоции обычно непропорционально представлены недостаточно или чрезмерно представлены по сравнению с другими. Например, наборы данных обычно содержат гораздо меньше примеров отвращения, чем счастья или гнева. Еще одним фактором качества является то, как стимулировались эмоции, выраженные в наборах данных. Приказано ли актерам разыгрывать эмоции? Или люди подвергались подлинным эмоциональным переживаниям, которые затем записывались? Эти два подхода могут привести к очень разным результатам. Еще одно соображение касается позы головы. Каков диапазон поз головы и ориентаций в наборе данных? Важно: как этот диапазон соотносится с диапазоном поз головы, ожидаемых в вашей производственной среде? Каков диапазон изменчивости освещения объекта на каждом изображении и как это связано с вашей целевой средой? Как изображения были помечены при создании набора данных и кем? Есть ли какая-либо предвзятость в ярлыках, которая увеличит предвзятость вашей модели? Все это вопросы качества набора данных, которые следует учитывать при выборе набора данных. Выбор набора данных должен проводиться с учетом набора целевых эмоций для классификации. Как упоминалось ранее, некоторые эмоциональные выражения похожи друг на друга. Кроме того, тонкие выражения, такие как презрение, бывает очень трудно уловить. Следовательно, некоторые наборы данных будут превосходить другие для определенных эмоциональных наборов. Нейронные сети, обученные на ограниченном наборе эмоций, как правило, дают более высокие показатели точной классификации. Чтобы привести самый экстремальный пример, обучение на наборе данных, содержащем только примеры счастья и гнева, имеет тенденцию давать очень высокую точность. Две такие разные целевые классификации означают, что перекрытие в диапазоне выражения лица сведено к минимуму. Когда нейронные сети обучаются на наборах данных, содержащих недопредставленные эмоции, такие как отвращение, они, как правило, неправильно классифицируют эти эмоции. Это происходит потому, что несколько эмоций могут иметь схожие черты лица, а набор данных не содержит достаточно больших наборов примеров одной эмоции, чтобы найти четкие отличительные закономерности. Все эти проблемы усложняют процесс выбора набора данных и приводят к необходимости искусственного улучшения любого набора данных, который вы решите использовать. Это приводит некоторых к изучению метода, называемого переносным обучением, подхода, который использует знания, полученные при решении одной проблемы, и применяет эти знания к другой, но связанной проблеме.
Эти вопросы побудили нас разработать наш собственный общий инструментарий FER, опираясь на наилучшие доступные общедоступные данные и используя описанные выше методы для получения точных результатов. EmoPy — это система с открытым исходным кодом, готовая для общего использования.
При внедрении новых систем необходимо искать слабые места и анализировать особенности вашего конкретного варианта использования. Это может привести к неожиданным решениям, например, когда мы записали собственный набор данных, максимально соответствующий целевой производственной среде, для тестирования обученных моделей.
Мы определили, что лучший способ добиться высокой точности «в нашем проекте» — это обучить нашу модель на небольшом наборе данных, который максимально соответствует ожидаемым условиям арт-инсталляции.
Эти условия могут быть изменчивы, так как опыт позиционируется по-разному на каждой выставке работ, но, как правило, мы ожидаем темные комнаты с огнями, падающими на лица участников под большим углом. Кроме того, мы ожидаем, что выражения лица участников будут более тонкими, чем постановочные или отыгрываемые выражения.
Размер нашего набора данных был меньше, чем те, которые были в открытом доступе, но качество было высоким, потому что оно было направлено на наши нужды.
В этом обзоре изложены некоторые общие темы и проблемы, связанные с разработкой системы FER. Моя следующая статья объясняет «подробнее о создании набора инструментов EmoPy», а также почему и как вы можете использовать его в своих собственных проектах.
Первоначально опубликовано на сайте www.thoughtworks.com 23 августа 2018 г.
Распознавание выражений лица человека с помощью машинного обучения