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

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

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

Подборка бесплатных шрифтов в 2024

Июнь 19, 2024 г.

Получил на днях письмо, от некой Katherine Miller. Она пишет, что ей зашла моя статья про font awesome, но она искала что то более специфическое и таки нашла. В письме она спешит поделится ссылкой на статью 70+ Best Free Fonts for Designers – for ...

Читать

Android Studio key tool error: java.io.ioexception keystore password was incorrect

Декабрь 1, 2022 г.

Если вы забыли пароль от вашего хранилища, то скорее всего, выход один - создать новое хранилище (и записать куда то пароль, в конце-то концов!). Можно также брутфорсить пароль вашего хранилища, но успех предприятия зависит от сложности пароля, который ...

Читать

Проверка кода ИНН на PHP

Сентябрь 23, 2015 г.

В этом году писал реализацию данной функции для проекта C2C-base. Оказывается, бывает ИНН двух видов - для юридических лиц и физ лиц - 10 или 12 знаков соответственно. Проверка большинства подобных кодов осуществляется по контрольным цифрам, содержащимся ...

Читать

Ikariam - роковые острова кровавых морей

Декабрь 14, 2012 г.

Замечательная браузерная стратежка. Я не первый раз возвращаюсь на сервера, чтобы начать вновь и вновь кровавый славный поход. Не смотря на то, что это ...

Читать
 

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

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



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