Основы, функциональность и особенности Intel Perceptual Computing SDK
Презентацию к лекции можно скачать здесь.
Intel Perceptual Computing SDK предназначен в первую очередь для того, чтобы снизить стоимость разработки программных продуктов, в которых в качестве средств взаимодействия с пользователем необходимо использовать что-то, отличное от клавиатуры или мышки. Другими словами те, кто в дальнейшем будут использовать SDK для разработки, смогут потратить свои силы и время на то, чтобы реализовать именно логику программы, а не на реализацию алгоритма, который будет взаимодействовать с пользователем.
Системные требования
Перечислим системные требования для установки комплекта.
Аппаратные требования:
- 32-х битная архитектура процессора Intel второго или третьего поколения или процессор Intel 64 Intel Core;
- 1Гб свободного места на жестком диске;
- Creative interactive gesture camera.
Программные требования:
- Microsoft Windows 7 with service pack 1 (или более поздний), или Microsoft Windows 8;
- Microsoft Visual Studio C++ 2008-2012 с service pack 1 (или более поздний);
- Microsoft .NET 4.0 Framework (для работы с C#);
- SoftKinetic DepthSense SDK runtime 1.0.4 (или более поздний с возможностью отслеживания пальцев рук);
- Unity PRO 3.5.1f2 (или более поздний);
- Processing 1.5.1 (или более поздний);
- openFrameworks v0071 (или более поздний).
Creative interactive gesture camera
Комплект Intel Perceptual Computing SDK распространяется бесплатно и может быть скачан с официального сайта Intel (http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk). Многие модули SDK могут быть доступны без технической составляющей. Однако для того, чтобы пользоваться широкими возможностями Intel Perceptual Computing SDK потребуется техническая составляющая. Описанная ранее Creative Interactive Gesture Camera позволяет захватывать не только видео или изображения, но она также снабжена сенсором глубины, с помощью которого можно захватывать карту глубины и т.д.
Карта глубины – это черно-белое изображение, на котором объект будет темнее, если он находится ближе к камере и наоборот, если расположен дальше от камеры.
Формат захвата цветного изображения 720p до 30 кадров в секунду. Сенсор глубины возвращает изображения формата 320х240 пикселей. Сенсор глубины возвращает несколько слоев: карта глубины, карта доверия (насколько можно доверять значению в конкретной точке), и карту вершин. По умолчанию карта глубины возвращается в отфильтрованном формате. Это сделано для того чтобы устранить шум, который возникает к примеру от источников света. Однако при желании можно получить исходный нефильтрованный сигнал. Стоит заметить, что все приведенные параметры являются всего лишь ограничениями самой камеры. Непосредственно SDK может работать с изображением большего формата.
Кроме того с камеры можно получить некоторые параметры, например, такие как яркость, экспозицию, значение уровня доверия, после которого все точки будут отсекаться.
Creative Interactive Gesture Camera это камера ближнего действия. Ее рабочая дистанция примерно от 50 до 150 см, хотя при помощи нее отслеживать объекты на расстоянии 4-5 метров принципиально возможно, но сенсор глубины не рассчитан на большое расстояние, и, соответственно качество отслеживания будет сильно снижаться с увеличением расстояния.
Кроме того доступен захват аудио с двух микрофонов. Захватывается одно или двух канальный звук с частотой дискретизации до 48 кГц.
Заказать Creative interactive gesture camera можно также с сайта Intel, перейдя по следующей ссылке: http://click.intel.com/intelsdk/Creative_Interactive_Gesture_Camera_Developer_Kit-P2061.aspx.
Архитектура SDK
На рис. 2.1 представлена архитектура SDK. Основная идея заключается в модульности структуры SDK. Здесь имеется набор модулей для ввода/вывода, а также набор модулей для реализации тех или иных алгоритмов. Например, алгоритмов распознавания лиц, распознавания речи или синтеза речи.
SDK стандартизирует интерфейсы модулей ввода/вывода и алгоритмы модулей таким образом, что приложения могут получить доступ к функциональности напрямую. Приложение, использующее SDK, не работает напрямую с камерой, этим занимается модуль ввода-вывода, благодаря чему достигается одновременная работа сразу нескольких приложений, использующих SDK, что, например, невозможно при работе с web камерой, когда приложение получает эксклюзивный доступ, ограничивающий работу с камерой для других приложений. Также SDK предоставляет механизм для поиска конкретной реализации из множества доступных модулей, а также другие важные функции, такие как синхронизация выполнения и взаимодействие с другими библиотеками и фреймворками. Кроме того SDK предоставляет набор вспомогательных классов для общих случаев использования (исходный код или библиотеки форм), таким образом разработчику остается только настроить их для конкретного использования. SDK включает в себя несколько популярных платформ и врапперов (языковых оберток) для расширения сферы применения.