Как настроение?

Далеко ли зашли роботы в распознавании человеческих эмоций

За последние 50 лет технология компьютерного зрения эволюционировала от решения простых задач по распознаванию букв до создания дополненной реальности. Одно из самых активно развивающихся ее практических применений — это создание антропоморфных роботов, способных к считыванию эмоционального состояния собеседника. Специально для N + 1 организаторы конференции Яндекса «Data&Science: Мир глазами роботов» поговорили с одним из ее участников — Анатолием Бобе, главой отдела машинного обучения в компании Neurobotics, которая работает над созданием алгоритма по распознаванию эмоций «ЭмоДетект».

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

Еще в середине XIX века французский ученый Дюшен де Булонь изучал эмоции, стимулируя электрическим разрядом лицевые мышцы человека и наблюдая за их сокращениями. Датой начала основных исследований в области их автоматического распознавания можно считать 1872 год, когда Чарльз Дарвин написал книгу «The Expression of Emotion in Man and Animals», в которой он сделал очень неочевидное уточнение: проявление эмоций у людей разного происхождения, разных рас и разного этноса примерно одинаково. Дарвин объявил, что эмоция — это универсальная характеристика, а значит, мы можем строить системы по распознаванию эмоций любого человека.

В середине ХХ века стараниями психолога Рэя Бердвистела появилась наука кинесика, и одним из главных ее специалистов стал знаменитый психолог Пол Экман. В 1978 году он предложил Систему кодирования лицевых движений (англ. FACS, Facial Action Coding System), которая по-прежнему остается библией разработчиков, занимающихся алгоритмами распознавания эмоций. Пол Экман разработал универсальные критерии для описания состояния лица человека, выделив около 90 двигательных единиц лица и головы, а также ввел набор из шести базовых эмоций, которые складываются из их комбинаций: радость, удивление, печаль, гнев, отвращение и страх (иногда в этот список добавляют также эмоцию презрения).

В середине 90-х годов, когда появились достаточные вычислительные мощности и машины созрели для обработки изображений, разработчики ринулись создавать первые системы. В начале использовались алгоритмы оптического потока, которые отслеживали во времени движение различных областей лица. Чуть позже, в 2000-х, начали развиваться нейросети, появились датасеты с разметкой двигательных единиц, проводились хакатоны и большие международные конкурсы по распознаванию эмоций.

В середине 10-х годов разработчики разделились. Кто-то придерживался классических методов и продолжал рассчитывать отдельные двигательные единицы по Экману на основе геометрических признаков, а кто-то, вооружившись только что появившимся глубоким обучением, занялся обучением сверточных сетей и генеративных моделей.

Компьютерное зрение для распознавания эмоций

Задача классификации эмоций по изображению сводится к тому, чтобы определить, что такое базовые эмоции, и обучить машину по базе данных лиц. Компания Neurobotics использует два подхода к решению этой задачи: классическую обработку изображений и сверточную нейросеть.

Для тренировки нейросети был использован тип обучения с учителем. Модель обучалась на смешанных данных: часть была взята из стандартного открытого датасета Cohn-Kanade, который содержит около 800 последовательностей изображений, каждое из которых размечено определенной эмоцией. Для сверточной нейросети такого количества недостаточно, поэтому команда Neurobotics собирала свой датасет. Они сажали людей перед камерой и просили изобразить шесть эмоций согласно правилам из мануала Экмана. Так они добавили к датасету еще три тысячи изображений. На последующих этапах работы алгоритм тестировался уже на расширенной базе данных AffectNet, которая содержит сотни тысяч изображений и хорошо подходит для задач глубокого обучения.

Преимущества нейросети в том, что, обладая хорошей обобщающей способностью, она работает в универсальной ситуации и выдает результат даже в плохих условиях съемки. Это может хорошо работать в «развлекательных» приложениях, но не подойдет для более глубокого анализа психоэмоционального состояния. Просто разделив данные на семь классов, невозможно обосновать, на основе какого признака рассчитываются те или иные эмоции. Поэтому для работы с заказчиками-психологами Neurobotics используют классическую обработку изображений: она считает признаки непосредственно по правилам Экмана и при хороших условиях съемки ошибается реже, чем нейросеть.

Обработка изображений

В классической обработке для каждой эмоции рассчитываются информативные признаки и определяются контрольные точки на лице. Затем признаки нормируются и строится классификатор. У каждой эмоции может быть много индивидуальных вариаций, и строго определить, что эти эмоции являются независимым базисом, нельзя. Формально можно определить только двигательные единицы, которые человек способен воспроизвести на своем лице, напрягая определенные мышцы. Например, поднятие бровей, открытие рта или поднятие верхней губы. Пол Экман детально описал, как выглядит на лице каждая из 90 таких единиц и как выглядят разные степени их выраженности: где появляются морщины, если человек поднимает брови, где они углубляются и насколько.

Такой метод требует наличия опорного, «нейтрального» изображения лица, с которым сравниваются разные эмоции, поэтому при составлении своего датасета команда Neurobotics добавляла к шести эмоциям Экмана нейтральное выражение лица для каждого добровольца. Для построения карты признаков рассчитываются значения 20 двигательных единиц. Признаки строятся по локальным дескрипторам, которые описывают окрестности контрольных точек и геометрические расстояния между ними.

Для разных признаков подходят разные методы их расчета. Например, морщины удобно считать с помощью фильтров. Маленькие морщины в уголках рта считаются по степени разброса яркости пикселей: применяется сглаживающий фильтр Гаусса, и полученное изображение сравнивается с исходным. Если морщины были, при сглаживании они пропадут и разность изображений будет больше. Если морщин не было, гладкая кожа при сглаживании останется гладкой. Для морщин, которые имеют достаточно сильную выраженность и известную ориентацию (например, морщины на лбу или на крыльях носа), хорошо подходит фильтр Габора. Этот фильтр представляет собой двумерную синусоиду, сглаженную гауссовым окном, и хорошо «реагирует» на свойственные крупным морщинам перепады яркости в определенном направлении.

Такие признаки, как наклон бровей и линия рта, хорошо определяются при использовании локальных бинарных шаблонов. Этот метод описывает окрестность заданной точки изображения на основе анализа свойств соседних точек: какие из них ярче либо темнее и каким образом они распределены в пространстве изображения.

После расчета всех признаков проводится их нормировка и классификация на эмоции. Самым простым способом было бы определить каждую эмоцию по набору определенных двигательных единиц в таблице Экмана. Но в реальности всегда присутствуют погрешности, поэтому строгий логический классификатор работал плохо. Лучше всего сработала взвешенная сумма признаков с адаптивными весовыми коэффициентами, индивидуально рассчитанными для каждого из признаков на основе статистики его роявления в тех или иных эмоциях.

При таком подходе, однако, всегда возникает путаница между эмоциями удивления и страхом, и между нейтральным выражением и грустью. Это происходит из-за того, что один и тот же набор двигательных единиц может свидетельствовать о разных эмоциях. Например, морщины на лбу, которые свидетельствуют о том, что человек поднял брови, могут быть признаком как страха, так и удивления, и если классификатор уже выбрал высокое значение для страха, то к нему автоматически подтягивается высокое значение для удивления.

Для решения этой проблемы команда Neurobotics объединила взвешенную сумму признаков с классификатором на машинном обучении. Нейросеть, построенная на значениях признаков, выдавала строго одну наиболее вероятную эмоцию, а классификатор на сумме признаков «сглаживал» ее решение, добавляя вероятности присутствия параллельных с основной «вторичных» эмоций лица. Наконец, на выходе системы стоял контролирующий алгоритм на основе строгой логики, который «обнулял» вероятности тех эмоций, которые явно противоречили доминирующей, в случае, если таковые оказывались ненулевыми. С помощью такого подхода удалось добиться результатов классификации с точностью порядка 73 процента при классификации на семь классов.

Рынок эмоциональных вычислений

В маркетинге подобные технологии используют для оценки реакции потребителя на товар, услугу, просмотренное видео (компании Visage Technologies, Affectiva), в робототехнике — для создания все более интерактивных антропоморфных роботов, которые уже не только распознают речь собеседника, но и считывают его эмоциональное состояние. Самый известный из таких продуктов — робот Pepper от японской компании Aldebaran Robotics. Он распознает четыре базовых эмоции (спокойствие, злость, радость и печаль) на основе анализа как выражения лица, так и голоса, особенностей речи и телодвижений собеседника. Для успешной работы системы распознавания робот оборудован RGB- и 3D-камерами, датчиками звука, ультразвуковыми и лазерными сенсорами.

Среди других известных и уважаемых в научном сообществе производителей стоит упомянуть датскую компанию Emotient и голландскую Noldus, которые продают программное обеспечение для анализа эмоций на профессиональном уровне, с использованием 3D-модели лица и всех доступных для расчета экмановских двигательных единиц. Их разработки используются, помимо маркетинга, в медицине, нейрокомпьютерных интерфейсах, интерактивных устройствах виртуальной реальности, а также в исследованиях по нейрофизиологии.

Другие возможные применения технологии детекции эмоций — это поведенческая диагностика или задача распознавания лжи в криминалистике. В таких областях уже могут использоваться более экзотические признаки, такие как пульс, жестикуляция, направление взгляда, расширение зрачка или даже тепловые карты, которые отслеживают прилив крови к лицу. Такие методы позволяют более точно детектировать малейшие поведенческие изменения, но они сокращают распознаваемые эмоции максимум к трем: нейтральная, положительная и отрицательная.

Беседовала Ася Шепунова,
Яндекс

Нашли опечатку? Выделите фрагмент и нажмите Ctrl+Enter.
Заговор по переписке

Во Франции нашли и расшифровали 57 прежде неизвестных писем Марии Стюарт