Тестим 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 эмоций, как мы увидели — маловато для полноценного спектра. Но это только начало. Вполне возможно, что экспериментаторы пробовали и больший спектр эмоций, но алгоритм начинал давать слишком размытые результаты.

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

Написать комментарий

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

Переполнение текста (text-overflow)

Сентябрь 3, 2021 г.

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

Читать

Отключаем автомасштабирование в браузерах на iPad

Ноябрь 15, 2012 г.

Замечали наверное, что iPad масштабирует страницу, так, чтобы вся страница влезла на экран по ширине. Иногда границы контента определяются не так, как задумано, но есть возможность исправить ситуацию. Управлять автомасштабированием можно, включая ...

Читать

 

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

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



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