Сейчас очень сложно найти человека, который вспомнит, где и когда проходила //build 2015, но одна маленькая демка с этой конференции врезалась в память всему Интернету. Предсказывающий возраст человека по лицу сайт How-Old.net был запущен в конце апреля, и всего за несколько суток он обрёл огромную популярность. Благодаря специальному хэштэгу #HowOldRobot в «Твитере» начали быстро распространяться скриншоты работы сервиса и их пародии. Истон Ван, старший менеджер, работающий над поисковиком Bing, рассказал, на чём основан этот сервис, и как он завоевал такую известность.

Ван напрямую работал над этим проектом, и для него внезапная популярность этого крошечного веб-приложения стала неожиданностью. В Bing Image Search, как считает Ван, была создана лучшая в индустрии система распознавания изображений. Подобное было достигнуто за счёт сотрудничества с подразделением Microsoft Research. Сегодня полученные возможности используются в Bing, но быстро распространяются и на другие продукты редмондского гиганта. На сайте Project Oxford открытые API доступны разработчикам даже за пределами компании.

Для знакомства с работой системы на странице https://www.projectoxford.ai/demo/face#detection можно получить все доступные данные спустя лишь несколько секунд после выгрузки картинки. Любой разработчик может проделать то же самое для любого изображения и выгрузить данные в формате JSON. Примерно так выглядит информация в «сыром» виде.

Скрытый текст
JSON:

[

  {

    "faceId": "5af35e84-ec20-4897-9795-8b3d4512a1f9",

    "faceRectangle": {

      "width": 60,

      "height": 60,

      "left": 276,

      "top": 43

    },

    "faceLandmarks": {

      "pupilLeft": {

        "x": "295.1",

        "y": "56.8"

      },

      "pupilRight": {

        "x": "317.9",

        "y": "59.6"

      },

      "noseTip": {

        "x": "311.6",

        "y": "74.7"

      },

      "mouthLeft": {

        "x": "291.0",

        "y": "86.3"

      },

      "mouthRight": {

        "x": "311.6",

        "y": "88.6"

      },

      "eyebrowLeftOuter": {

        "x": "281.6",

        "y": "50.1"

      },

      "eyebrowLeftInner": {

        "x": "304.2",

        "y": "51.6"

      },

      "eyeLeftOuter": {

        "x": "289.1",

        "y": "57.1"

      },

      "eyeLeftTop": {

        "x": "294.0",

        "y": "54.5"

      },

      "eyeLeftBottom": {

        "x": "293.0",

        "y": "61.0"

      },

      "eyeLeftInner": {

        "x": "297.8",

        "y": "58.7"

      },

      "eyebrowRightInner": {

        "x": "316.0",

        "y": "54.2"

      },

      "eyebrowRightOuter": {

        "x": "324.7",

        "y": "54.2"

      },

      "eyeRightInner": {

        "x": "312.9",

        "y": "60.9"

      },

      "eyeRightTop": {

        "x": "317.8",

        "y": "57.7"

      },

      "eyeRightBottom": {

        "x": "317.9",

        "y": "63.7"

      },

      "eyeRightOuter": {

        "x": "322.8",

        "y": "60.8"

      },

      "noseRootLeft": {

        "x": "304.0",

        "y": "60.2"

      },

      "noseRootRight": {

        "x": "312.2",

        "y": "61.2"

      },

      "noseLeftAlarTop": {

        "x": "302.6",

        "y": "70.2"

      },

      "noseRightAlarTop": {

        "x": "313.0",

        "y": "70.0"

      },

      "noseLeftAlarOutTip": {

        "x": "298.8",

        "y": "76.2"

      },

      "noseRightAlarOutTip": {

        "x": "315.2",

        "y": "76.6"

      },

      "upperLipTop": {

        "x": "307.3",

        "y": "84.0"

      },

      "upperLipBottom": {

        "x": "306.6",

        "y": "86.4"

      },

      "underLipTop": {

        "x": "305.5",

        "y": "89.6"

      },

      "underLipBottom": {

        "x": "304.1",

        "y": "94.0"

      }

    },

    "attributes": {

      "age": 24,

      "gender": "female",

      "headPose": {

        "roll": "4.0",

        "yaw": "31.3",

        "pitch": "0.0"

      }

    }

  }

]




Project Oxford имеет множество возможностей, лица — это далеко не единственная специализация. Но для #HowOldRobot требуются только нахождение лиц, определение пола и возраста. Крошечное приложение было создано для иллюстрации возможностей API командой Azure ML всего за лишь за день. Нахождение лиц на изображениях позволяет классифицировать пол и определять возраст, последние две задачи являются классическим примером регрессии и классификации в машинном обучении. В список задач входит построение представления о чертах лица, сбор информации об обучении, построение моделей регрессии и классификации и оптимизация моделей.



Другим вопросом являются причины, по которым это маленькое приложение так пришлось по вкусу Интернету. Ван смог назвать десять. Это простота использования — сайт обладает максимально упрощённым интерфейсом, и его легко понять. Пользователь может либо поискать изображения в «Бинге», либо выгрузить собственное. Хотя за маленьким сайтом скрыты серьёзные проблемы компьютерного зрения, возможно получить красивый и понятный результат всего за два клика. Пользователь видит лишь то, что ему понятно — How-Old.net не перегружает посетителей ненужной информацией.

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



Приложение предоставляет пользователю картинку, которую хочется куда-то запостить. Многие исследования утверждают, что чаще всего распространение в социальных медиа получают посты-картинки. Сама по себе картинка от #HowOldRobot самодостаточна, многие брэнды использовали приложение для рекламы собственных продуктов. К примеру, «Хёндай» создал пародию, на которой запечатлён продукт компании с возрастом 1 год и полом «автомобиль».


Популярности также помогла понятность хэштэга #HowOldRobot: люди представляют себе робота, который угадывает их возраст. Если робот прав, то его стоит поблагодарить, если нет — можно накричать, это лишь робот. Доменное имя How-Old.net легко запомнить и передать в устном разговоре, а сайт клоссплатформенен, он отлично работает на Windows, Mac, iOS и Android. У приложения нет языковых барьеров: пол показывается иконкой, а возраст — арабскими цифрами, а не словами. Результат работы одинаково понятен жителям Америк, Европы или Азии.

Наконец, по мнению Вана How-Old.net получил известность благодаря тому, что он выполняет лишь одну функцию. Пользователю не нужно что-либо выбирать: после входа на сайт и выполнения единственной функции остаётся только поделиться результатом с окружающими. Также при первоначальном запуске ссылка на сайт была быстро распространена армией поклонников, и число запросов резко выросло. В конечном счёте успех маленькой демонстрации силы системы компьютерного зрения поисковика Bing был возможен только благодаря сарафанному радио отдельных людей.

Пост в блоге Bing о распознавании изображений

Комментарии (1)


  1. binarydao
    19.05.2015 07:26
    +3

    Ну и не стоит забывать про навязчивую рекламную кампанию на две недели от Microsoft.