2011-01-01 3 views
4

В настоящее время я использую библиотеку обработки Kinect, которая предоставляет карту глубины. Мне было интересно, как я могу это сделать и использовать, чтобы создать 2D-скелет, если это возможно. Не ища какой-либо код здесь, просто общий процесс, который я мог бы использовать для достижения этих результатов.Кто-нибудь знает, как создать 2D-скелет с картой глубины Kinect?

Кроме того, учитывая, что мы уже видели это в нескольких играх Kinect, было бы сложно сразу запустить несколько скелетов?

+1

google openNI и kinect, он встроен. –

ответ

5

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

В основном есть два разных подхода для создания скелета с карты глубины. Первый - использование машинного обучения, второе - чисто алгоритмическое.

Для обучения машинам вам понадобится много образцов людей, выполняющих заданный ход, и используйте эти образцы для обучения вашему любимому алгоритму обучения. Это подход, который был сделан и внедрен Microsoft в XBox (source), он работает очень хорошо, но вам нужны миллионы образцов, чтобы сделать его надежным ... довольно слабым.

«Алгоритмический» подход (понимающий без использования учебного набора) может быть выполнен разными способами и является проблемой исследования. Это часто основывается на моделировании возможных позах тела и попытке сопоставить это с полученным глубинным изображением. Это подход, который был выбран PrimeSense (ребята, стоящие за технологией камеры глубины kinect) для своего инструмента отслеживания скелета NITE.

OpenKinect community содержит wiki, где перечисляет interesting research material по этой теме. Вы также можете быть заинтересованы в this thread on the OpenNI mailing list.

Если вы ищете для реализации инструмента отслеживания скелета, PrimeSense выпустил Nite (закрыт источника), тот, который они сделали: это часть OpenNI framework. Это то, что используется в большинстве видеороликов, которые вы видели, включая отслеживание скелета. Я думаю, что он способен обрабатывать до 2 скелетов одновременно, но это требует подтверждения.

2

Лучшим решением является использование FAAST (http://projects.ict.usc.edu/mxr/faast/), для которого требуется OpenNI. Я изо всех сил пытался заставить OpenNI работать на моем компьютере. Я еще не видел подхода, использующего CL NUI Code Laboratories.

+0

Звучит неплохо, но я запускаю OSX, поэтому я не думаю, что это вариант. – Miles

+1

Да, это вариант. Проект Wekinator работает на OSX. Он не обеспечивает скелет, но применяет машинное обучение на карте глубины для приложений, которые в противном случае могли бы потребовать скелет. –

+0

... вместо FAAST используйте https://github.com/Sensebloom/OSCeleton#readme в среде OpenNI/NITE. OpenNI/NITE имеют двоичные файлы OSX. См. Http://c4c.posterous.com/installing-openni-kinect-drivers-and-nite-on. Для некоторых ссылок убедитесь, что вы пролистаете нижнюю часть страницы, чтобы найти файлы OSX. –

1

Алгоритмический подход: http://code.google.com/p/skeletonization/, но у вас может возникнуть проблема, потому что ваша карта глубины представляет только поверхности и не содержит закрытых объектов.