Драйвера и фреймворки Kinect

open_kinect

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

OpenKinect: драйвера Libfreenect

Вскоре после создания драйвера Kinect с открытым исходным для Adafruit, Гектор Мартин присоединился к сообществу OpenKinect, созданное Джошем Блейком с намерением объединить программистов, интересующихся естественными пользовательскими интерфейсами (NUI, Natural User Interface). OpenKinect разрабатывает и поддерживает основную библиотеку для доступа к USB-камере Kinect — libfreenect. Эта библиотека поддерживает доступ к RGB и глубине изображения, мотору Kinect, акселерометру, и светодиоду. Ведется работа над доступом к микрофонам.

 

OpenNI и NITE

Израильская компания PrimeSense разработала технологию 3D-визуализации для Kinect и работала с Microsoft над разработкой устройства Kinect. В декабре 2010 года PrimeSense создали некоммерческую организацию под называнием OpenNI.

Эта организация была создана для «проведения сертифицикации и обеспечения функциональной совместимости устройств, обеспечивающих  естественное взаимодействие (NI, Natural Interaction), приложений и промежуточного ПО». Учредителями OpenNI стали организации PrimeSense, Willow Garage, Side-Kick, ASUS, и AppSide.

OpenNI

Для достижения поставленной цели, OpenNI выпустила фреймворк с открытым исходным кодом под названием OpenNI Framework. Он обеспечивает API и высокоуровневое промежуточное ПО под названием NITE для реализации отслеживания рук/скелета и распознавания жестов.

Уровни абстракции OpenNI

Уровни абстракции OpenNI

OpenNI разрывает взаимосвязь между датчиком и промежуточным ПО и API позволяет разработчикам промежуточного ПО создавать свои алгоритмы поверх исходных форматов данных, независимо от датчика устройства который эти данные формирует. Таким же образом, производители датчиков могут создавать устройства, которые будут работать с любым OpenNI-совместимым приложением.

Kinect являлся первой реализацией эталонной разработки PrimeSense. Оптика и чип сенсора были полностью разработаны PrimeSense. Затем Microsoft добавила в конструкцию двигатель и трехосный акселерометр. Вот почему OpenNI не обеспечивает доступ к двигателю или акселерометру — они в Kinect специфические.

PrimeSense являлась фирмой-разработчиком полупроводников без собственных производственных мощностей. Она продавала устройства и полупроводниковые микросхемы, отдавая их производство на аутсорсинг. Эта компания работала в сегменте B2B (Business to Business, бизнес для бизнеса), продавая свои решения производителям, которые использовали их в cобственных потребительских продуктах. Именно по этой схеме PrimeSense принимала участие в разработке Kinect совместно с Microsoft.

PrimeSense продавала свою технологию различным производителям, занимающимся компьютерами или телевизорами, таким как ASUS. Но для этого рынка должна существовать некоторая экосистема, в которой бы создавался контент и приложения для естественного взаимодействия на основе. PrimeSense создали OpenNI как способ расширения возможностей разработчикам добавлять основанные на естественном взаимодействии программное обеспечение и приложения. Таким образом эта экосистема должна развиваться.

NITE

Для реализации естественного взаимодействия, разработчику от Kinect нужно больше, чем только 3D облако точек. Наиболее полезными функциями являются функции отслеживания скелета и рук. Не все разработчики имеют знания, время или ресурсы для развития этих возможностей с нуля, так как они связаны с передовыми алгоритмами в этой области. PrimeSense решили реализовать эти возможности и распространять их в коммерческих целях, но сохранить код закрытым. Таким образом была создана NITE.

OpenNI является фреймворком PrimeSense, который позволяет получить глубину сцены и RGB-изображения с Kinect. OpenNI имеет открытый исходный код и может использоваться в коммерческих целях. NITE является промежуточным ПО, которое позволяет выполнять отслеживание рук/скелета и распознавание жестов. Код NITE не является открытым, но также возможно его коммерческое использования.

Это означает, что без NITE вы не сможете использовать отслеживание скелета/рук или распознавание жестов, если вы не разработаете свое собственное промежуточное ПО, которое бы обрабатывало данные облаков точек OpenNI и извлекало бы информацию о сочленениях и жестах.

 

Microsoft Kinect для Windows

16 июня 2011 года, через шесть месяцев после того, как PrimeSense выпустила свои драйвера и промежуточное ПО, Microsoft объявила о выпуске официального Microsoft Kinect SDK для некоммерческого использования. Этот SDK предоставляет доступ программисту ко всем возможностям сенсора Kinect плюс отслеживание рук/скелета. На текущий момент, Kinect для Windows SDK включает в себя следующее:

  • Драйвера для использования сенсора Kinect на компьютерах, работающих под управлением Windows 7 или Windows 8.
  • API и интерфейсы устройства вместе с технической документацией.
  • Примеры кода.

SDK устанавливается только на Windows 7, оставляя сообщества программистом Linux и Mac OS X. Кроме того, разработка приложений ограничивается языками C++, C#, или Visual Basic, используя Microsoft Visual Studio.

С февраля 2012 года, Kinect для Windows, включает в себя новый сенсор, специально предназначенный для использования с ОС Windows на ПК и новую версию SDK для коммерческого использования.

 

Как вы оцениваете эту публикацию? 1 звезда2 звезды3 звезды4 звезды5 звезд (1 голосов, средняя оценка: 5.00 из 5)
Loading ... Loading ...

Вы можете пропустить чтение записи и оставить комментарий. Размещение ссылок запрещено.

Оставить комментарий