Компания
260,29
рейтинг
22 января 2013 в 15:43

Разработка → Intel Perceptual Computing SDK

Прогресс не стоит на месте, меняется все – наше представление о мобильных устройствах, они становятся тоньше, лечге, производительнее, меняются способы взаимодействия с ними, на смену клавиатуре и мыши пришли тач и сенсоры, на смену которым идет Perceptual Computing.
Что такое Perceptual Computing? Это новая технология, которая позволит пользователю взаимодействовать со своим мобильным устройством посредством голоса, рук, лица, т.е. более естественных для человека способов взаимодействия.

В настоящее время компания Intel ведет работу в этом направлении, в октябре прошлого года на сайте компании появилась первая версия PerC SDK, которая поддерживала следующие возможности:
  • Распознавание жестов, положения рук, пальцев, уровень открытости ладони
  • Отслеживание положения лица, определение контрольных точек (губы, нос, глаза), идентификация («узнавание») лица
  • Отслеживание положение 2-х и 3-х мерных объектов

В конце ноября появилась новая версия (Beta 2) — помимо исправления ошибок и работы над оптимизацией разработчики также добавили возможность работы с голосом. Это стало возможным благодаря включению в состав SDK модуля Nuance Dragon Assistant.
На данный момент Beta 2 является последней версией, но уже включает в себя ряд возможностей, способных помочь разработчику добавить в свое программное обеспечение новые способы взаимодействия с пользователем.
Чтобы получить более полное представление о возможностях PerC SDK, вы можете посмотреть видео, показывающее его работу на приемре нескольких приложений, доступное на странице SDK.

Камера

Для начала, чтобы объяснить как это все работает, я бы хотел рассказать именно о камере.
На самом деле, это устройство сложно назвать камерой, это скорее набор сенсоров. В ее состав входят два микрофона, позволяющих значительно улучшить качество распознавания речи, также сенсор имеет встроенную RGB и инфракрасную камеры.

Спецификация

  • Разрешение RGB сенсора: 720p (1280 x 720)
  • Разрешение IR Depth сенсора: QVGA (320 x 240)
  • Угол обзора (градусы): 73
  • Частота работы (кадров в секунду): 30
  • Расстояние: от 15 см до 1 метра
  • Питание: USB 2.0 (< 2.5 Ватт)



Системные требования

  • Процессор 2-го поколения Intel Core и выше
  • Порт USB 2.0
  • Windows 7 SP1 и выше

Архитектура SDK

Архитектура SDK представлена на картинке ниже.



В верхней части расположены приложения, использующие возможности SDK. Далее идут модули, отвечающие за функционал, модуль ввода-вывода, драйвера для работы с камерой и аппаратной платформой.

Модули

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

Модуль ввода-вывода

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

Драйвер

Работает напрямую с камерой, использует возможности аппаратной платформы для ускорения работы SDK, что позволяет выиграть не только в скорости, но и в энергопотреблении.

Поддерживаемые языки программирования и фреймворки

PerC SDK предоставляет необходимые файлы (заголовочники, библиотеки) для использования его возможностей в приложениях, написанных на С++, С#. Так же в SDK включена поддержка для Unity Game Engine, openFrameworks, Processing framework. Также доступна стороняя библиотека для Cinder framework.
При желании можно добавить поддержку и для любых других платформ, языков программирования путем создания библиотек, оберток на С++, C#. В качестве примера хочу привести свое расширение для Google Chrome, позволяющее HTML5 приложениям получать уведомления о распознанных жестах. Для его работы расширения требуется предустановленный PerC SDK и камера от Creative.



С чего начать

В принципе, работа с SDK возможна и без камеры от Creative, правда в этом случае будут доступны только модули распознавания речи и определения положения и маркеров лица. Для того, чтобы воспользоваться всеми возможностями необходимо заказать камеру, сделать это можно на этой странице, доставка работает для многих стран, включая Россию.
SDK можно загрузить на официальной странице Intel PerC SDK, в его состав входят все модули для работы с жестами, отслеживанием, за исключением модуля для распознавания речи, который устанавливается отдельно и доступен для загрузки там же. В состав SDK входят множество примеров, доступных как в виде бинарников, так и в виде исходных текстов.



Области применения

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



Управление игровым процессом и пользовательским интерфейсом на примере игры Kung Pow Kevin



Распознавание лица здесь тоже пригодится, можно, например, загружать профиль пользователя, используя идентификацию лица.
Используя информацию о положении лица, маркеров можно создать «примерочную» в режиме реального времени, дать пользователю возможность менять прически, головные уборы, очки, макияж и т.д.
В бизнес приложениях SDK также может найти применение, например, навигация в приложении с использованием жестов, голоса, опять же – идентификация пользователя.
В образовательных приложениях для детей, например, обучение счету, можно просить дать правильный ответ, показав нужное количество пальцев.
Еще одно интересное применение – камера помогает делать вычитание фона, без использования каких либо сложных алгоритмов. Посмотрите на картинку ниже – результат работы инфракрасной камеры, используя эту информацию отделить изображение пользователя от фона не составляет труда.



Мне самому понравилось эксперементировать с камерой, она на самом деле инфракрасная, вот что получится, если показать камере купюру.



В темноте она видит тоже неплохо.



Снимок сделан в комнате при полном отсутствии освещения, экран ноутбука был отключен.
Как я уже сказал выше – возможности широкие, главное включить фантазию. В следующих статьях я расскажу об использовании SDK на примере простого приложения.
Автор: @Terror
Intel
рейтинг 260,29

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

  • +1
    Еще один аналог Leap Motion получается?
    • +6
      Это больше похоже на Kinect. Если не ошибаюсь, то Leap Motion только для рук и смотрит всегда вверх.
    • +1
      Это несколько больше, здесь не только распознавание жестов, трэкинг объектов, рук, но и идентификация, трэкинг лица, синтез, распознавание голоса. Близкий аналог — Кинект, только в отличить него PerC SDK работает на близких расстояниях (от 15 см до метра)
      • +1
        Про цену устройства известно что-то? Кинект — устройство не дешевое.
        • +2
          Сенсор глубины у Кинекта в разы сложнее.
          В нём используется довольно хитрый проектор и анализ параллакса нерегулярного паттерна, создаваемого этим проектором.
          А в этом девайсе, судя по всему, просто ИК светодиод и глубина считается по яркости пикселя. Что гораздо проще, но менее точно и сильно зависит от свойств поверхности.

          Так что, надеюсь, устройство будет стоить не сильно дороже обычной веб-камеры с микрофоном.
          • +1
            Назначение у обоих сенсоров одно, но применение разное. В случае с Creative — камера создавалась для работы на близких расстояниях.
        • 0
          Стоимость указана на странице заказа — $149
  • +7
    Ох, нифига Интел на ус не мотает. Месяц назад на их конференции я им рассказывал, какое это СДК сырое, и что людям его вообще лучше не показывать — засмеют. Нет, не поверили, выложили. Я вам аргументированно скажу — зря. Спалились, что никто на нём ничего реально не написал. Вот вам, к примеру, кусочек из этого СДК (доступно вот по этой ссылке):

    Array index for the gender scores
    INDEX_GENDER_MALE
    Male
    
    INDEX_GENDER_FEMALE
    Female
    	
    
    Array index for the eye-closed scores
    INDEX_EYE_CLOSED_LEFT
    Left eye is closed.
    	
    
    INDEX_EYE_CLOSED_FEMALE
    Right eye is closed.
    


    Клёвые названия полей для описания состояния глаз, правда? И такого там полно.
    • +6
      Это, конечно, смешно. И грустно тоже. Но, замечу, что есть разные методы поиска багов\ляпов. И один из них, самый простой, это выкладывание чего-то в публичный доступ. Пользователи сразу на баги и укажут :) Дешево и надежно.
      И вам спасибо. Эту ветку создатели SDK точно прочитают. И примут меры.
    • 0
      В данном случае опечатка в статье, т.к. в заголовочнике

      /* Eye’s closed index access */
       INDEX_EYE_CLOSED_LEFT=0,
       INDEX_EYE_CLOSED_RIGHT=1,
      
  • –4
    Похоже на PlayStation Eye только без фалических дополнений
  • 0
    Ладно СДК, где камеру такую брать?
    • +2
      На странице с СДК есть линк Creative* Interactive Gesture Camera Developer Kit — камера стоит всего ничего — $149.00.
      • 0
        Если сравнивать с камерой SoftKinetic (сенсор которой лег в основу камеры от Creative), то на самом деле — всего ничего, $149 против $249 :)
        • 0
          Можно еще сравнивать с Kinekt for Windows за $215 ;)
  • +4
    Будет уместным также напомнить, что прямо сейчас набирает обороты конкурс Intel Perceptional Computing Challenge, с призовым фондом ни много ни мало $185,000 (это для начала). Фактически это конкурс демо-приложений (прототипов) на базе Perceptual Computing SDK.

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

    Вика и Дима Р., может пропиарим конкурс отдельным постом? Затея-то хорошая…
    • +1
      Жаль, что Украины в списке доступных стран нету…
    • 0
      Безвозмездно с возвратом через 60 дней.
    • 0
      Плюс с отвартительной работой Почты России Вы эту камеру раньше чем через пару месяцев не получите :(
      • 0
        Вот и я про что…
      • 0
        Я тоже так думал. Оказалось, что шлют федексом, и мне (в мой не областной город) дошло, как и обещали, за 7 дней.
  • 0
    было бы здорово, если в эту пачку потом еще включили доступный тепловизор, например, точность распознавания была бы выше
  • 0
    Уважаемые, кто-нибудь уже пытался подружить Java и этот SDK?

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Разработка