Тестим API от Microsoft — распознавание эмоций

emotion-detector-demo-logo

Найти лицо на фотке может сейчас почти любая «мыльница», а вот понять, что выражает это лицо — это уже шаг вперед. Microsoft в рамках проекта Oxford предлагает демонстрацию своего алгоритма распознавания эмоций на фотографиях.

Любой желающий может закачать фотку и получить результат работы API Emotion Recognition (распознавание эмоций).

Не знаю сколько будет висеть демка для тестирования, вот ссылка — www.projectoxford.ai/demo/Emotion.

На каждой фотографии производится поиск лиц (максимум до 64), которые потом помечаются на изображении рамочкой. Т.е. в обработку можно запихнуть весьма серьезные коллективные фотки. Есть ограничения по разрешению картинки — до 4х мегапикселей. При использовании современных мыльниц, фотку скорее всего придется уменьшать или обрезать.

Эмоция в терминах API — это некий 8-мерный вектор. Для каждого найденного лица на фотке мы получаем 8 базовых составляющих эмоции:

  • Anger (Гнев),
  • Contempt (Презрение),
  • Disgust (Отвращение),
  • Fear (Страх),
  • Happiness (Счастье),
  • Neutral (Обычный) — эдакий покер-фейс,
  • Sadness (Печаль),
  • Surprise (Удивление)

Нормировка произведена так, чтобы в сумме компоненты давали единицу.

Простые тесты распознавания эмоций

Для начала посмотрим как алгоритм распознаёт и оценивает самые очевидные варианты. Благо, под рукой всегда кто то вертится для экспериментов. :)

happiness

Практически вся 1 — это счастье. Согласен, Лиза очень довольная тут.

anger

Тут я попросил свою ассистентку изобразить гнев. Но ей было почему то очень весело, что и увидел умный алгоритм, распределив эмоции между гневом (0.46) и счастьем (0.53).

sadness

С печалью вышло получше, т.к. перед нами опытная хныкалка. Алгоритм почти поверил Рите и дал оценку в 0.69 балла. Тоже согласен.

poker-face

А тут редкая фотка, где Леха примеривает покер-файс. Алгоритм выставляет почти единицу. Согласен. Знаю, что Леха почитывает мой блог, ему будет приятно увидеть здесь себя. :)

Усложняем тесты

almost-happy

Я загрузил вместо фото — рисунок. Видим, что был найден только один персонаж. Мне кажется, счастье этого малыша переоценено программой (0.76). На мой взгляд, это больше Нейтральное выражение лица.

gitler-anger

Черно-белое фотографическое изображение Гитлера. Что это? Он щурится от солнца или действительно так зол? Программа тоже сомневается : ярость (0.55) + отвращение (0.27). Пожалуй, я соглашусь с вердиктом.

will-smit-surprised

Уил Смит удивлен (0.99) способностям алгоритма. Думаю, как актер он способен на любое выражение лица.

Алгоритму не важна ни раса, ни возраст персонажа (я вообще то, ещё и Эйнштейна прогонял с его высунутым языком).

Групповой снимок

group

Алгоритм нашел девушку как бы она не закатывала глаза и поджимала губы.

1 и 5 почти имеют почти одинаковое нейтрально-доброжелательное выражение, что и отметил алгоритм (примерно — 70 нейтральная компонента, 30 — счастье).

2 и 4 были распознаны отлично — соответственно получили по единице удивление и счастье.

3я пикча алгоритмом интерпретирована не верно (нейтраль — 0.87). Оставшаяся доля распределена между яростью, отвращением и презрением, т.е. в принципе в том спектре эмоций, которые и ожидаются. Но доля их очень мала. Возможно, это связано с не очень высокой детализацией изображения, иначе алгоритм принял бы верное решение.

6я — картинка алгоритмом была не понята (0.96 — нейтраль). Я тоже не понял это выражение лица, но оно точно не нейтральное. Возможно, не хватает нужной эмоциональной компоненты — что то вроде раздражения или озабоченности. При этом — «губки бантиком» — баловство.

7я картинка — это должно быть сомнение или что то ещё из того спектра эмоций, которыми не владеет алгоритм (покерфэйс — 0.52, счастье — 0.37 и презрение — 0.09).

8 — это должно быть удивление (бровь приподнята, глаза широко раскрыты), но программа не поняла этих мимических сигналов — (нейтраль 0.93).

9 — после серии неудача, алгоритм берет реванш на последней картинке. Программа посчитала, что это ярость (0.52) + печаль (0.21). Соглашаюсь.

Итоги

Ну что ж… молодцы! Но, надо ещё много работать.

Алгоритм, скорее всего, пользуется какими то «геометрическими» построениями, основываясь на характерной мимике. Обнаружение лиц и их эмоций получается только в ан-фас (в профиль не находит даже лица).

8 эмоций, как мы увидели — маловато для полноценного спектра. Но это только начало. Вполне возможно, что экспериментаторы пробовали и больший спектр эмоций, но алгоритм начинал давать слишком размытые результаты.

Никто не мешает и вам попробовать поиграть с распознавателем. ;)

Мало букафф? Читайте есчо !

230 баксов каждому

Апрель 5, 2016 г.

Мировые военные расходы перевалили отметку в 1,7 триллиона долларов в год. Сумма - колоссальная. Но так ли это много, как кажется на первый взгляд? ...

Читать

Битва экстрасенсов - шоу должно продолжаться

Ноябрь 4, 2015 г.

Я знаю, многие смотрят это ТВ шоу и большинство верит в то, что им показывают. Я лично помню это шоу ещё с Михаилом Пореченковым в роли ведущего. ...

Читать

Создание файла на Google Drive через API

Ноябрь 10, 2023 г.

Работа с API гугл - это ещё та головоломка, тут переплетены и вечно обновляемые версии API, не прозрачные процедуры авторизации и запутанная консоль разработчика. ...

Читать

Анимация: Поднятие элемента с тенью при наведении

Апрель 26, 2025 г.

Эта анимация создаёт эффект, будто элемент "приподнимается" над страницей, становясь более заметным. Обычно для этого используется свойство box-shadow, иногда в сочетании с лёгким смещением (transform: translateY(-2px)). Это статья из цикла заметок ...

Читать
 

Комментарии к «Тестим API от Microsoft — распознавание эмоций»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: