OpenKinect зрелости - PullRequest
       8

OpenKinect зрелости

6 голосов
/ 23 ноября 2010

Я заинтересован в написании некоторого доморощенного кода для консоли Microsoft Kinect.У меня есть несколько приложений, которые, я думаю, будут хорошо переведены на платформу.Я возился с идеей дать ему шанс, используя OpenKinect драйверы и библиотеки .Очевидно, что это будет много работы, но мне интересно, сколько.У кого-нибудь есть опыт работы с OpenKinect?Вы получаете только необработанные видео / аудио данные с устройства или кто-то написал абстракции более высокого уровня, чтобы облегчить выполнение общих задач?

Ответы [ 3 ]

13 голосов
/ 11 декабря 2010

Библиотека OpenKinect в основном является драйвером - по крайней мере, на данный момент - поэтому не ожидает от нее больших функций . Вы более или менее получите необработанные данные как с глубины , так и с видео камер.
Это в основном массив, полученный в функции обратного вызова каждый раз, когда приходит кадр.

Вы можете попробовать его, следуя инструкциям на веб-сайте OpenKinect , его очень быстро установить и попробовать, и вы можете немного поиграть с приложением glview, предоставленным для получения ощущение того, что возможно. Я настроил несколько демонстраций, используя opencv, и получил довольно крутые результаты, хотя у меня не было большого опыта в компьютерном зрении, поэтому я могу только посоветовать вам попробовать это самостоятельно!


Кроме того, если вы ищете более продвинутые функции, OpenNI framework был только что выпущен на этой неделе и предоставляет несколько впечатляющих высокоуровневых алгоритмов, таких как отслеживание скелета и некоторое распознавание жестов . . Частью фреймворка являются собственные алгоритмы от PrimeSense (например, мощный модуль отслеживания скелета ...). Я еще не пробовал и не знаю, насколько хорошо он интегрируется с Kinect и различными ОС, но так как группа ребят из разных групп (OpenKinect, Willow Garage ...) усердно работают над этим, что не должно ' не будет проблемой в течение недели.

12 голосов
/ 13 декабря 2010

Продолжая работу над тем, что написал Жюль Оллеон, я работал с OpenNI (http://www.openni.org) и вышеупомянутыми алгоритмами (NITE), и я настоятельно рекомендую использовать эти платформы. Обе платформы хорошо документированы и приходятс многочисленными образцами, с которых вы можете начать.

По сути, OpenNI абстрагирует подробности низкоуровневой работы с датчиком и его драйвером и дает вам удобный способ получитьчто вы хотите от «генератора» (например, xn :: DepthGenerator для получения необработанных данных о глубине). OpenNI является открытым исходным кодом и может свободно использоваться в любом приложении. OpenNI также обрабатывает абстракцию платформы для вас. На сегодняшний день OpenNIподдерживается и отлично работает для Windows 32/64 и Linux, а также находится в процессе переноса на OSX. Привязки доступны для использования на нескольких языках программирования (C, C ++, .NET, Python и некоторых других, на мой взгляд).

NITE имеет дополнительные интерфейсы, встроенные в OpenNI, которые дают результаты более высокого уровня (например, отслеживаниеручная точка, скелеты, анализ сцены и т. д.).Возможно, вы захотите проверить тонкости лицензии NITE относительно того, когда и где вы можете ее использовать, но это все еще, вероятно, самый простой и быстрый способ получить анализ (например, скелет) на данный момент.NITE имеет закрытый исходный код, поэтому PrimeSense должен предоставить вам двоичную версию для использования.В настоящее время доступны версии для Windows и Linux.

1 голос
/ 19 июня 2013

Я не работал с OpenKinect, но уже несколько месяцев я работаю с OpenNI и SensorKinect для моего исследования. Если вы планируете работать с необработанными данными из Kinect, они отлично работают, предоставляя вам глубину и видео (они не поддерживают управление двигателем). Я использовал его с C ++ и OpenGL как в 64-битной Windows, так и в 32-битной Ubuntu практически без изменений в коде. Это очень легко узнать, если вы знаете базовый C ++. Установка может быть немного головной болью.

Для более продвинутых функций, таких как обнаружение скелета, распознавание жестов и т. Д., Я настоятельно рекомендую использовать промежуточное программное обеспечение, такое как NITE с OpenNI или представленное здесь: Промежуточное программное обеспечение, разработанное вокруг OpenNI , а не изобретать колесо. Nite также очень прост в использовании, если у вас работает OpenNI; например совместное распознавание - это что-то около 10-20 дополнительных строк кода.

Что-то, что я бы порекомендовал себе для себя: научиться и работать с базовым игровым движком (например, Unity), а не напрямую с OpenGL. Это даст вам намного лучшую и более приятную графику, меньше хлопот, а также позволит вам легко интегрировать вашу программу с другими инструментами, такими как PhysX . Я не пробовал ничего, но знаю, что в Unity есть несколько плагинов для использования драйверов Kinect.

...