Site-wide links

Driver Quick Facts (Which Driver is Right for Me?)

As of right now, 2 driver packages exist for interfacing with the Kinect system, with an official SDK coming from Microsoft later this month. Though all packages fulfill the base functionality of Kinect interfacing, each has slight variations in terms of supported features, ability to interface with middleware and utility packages, and ease of use/installation. This page is subject to change as these drivers are updated and integrated into the larger hobbyist Kinect community.

 

OpenNI

libFreeNect

Microsoft SDK

About

  • Open source framework
  • Maintained by not-for-profit organization “formed to certify and promote the compatibility and interoperability of Natural Interaction devices, applications, and middleware"
  • Provides API for “writing applications utilizing natural interaction”
  • Communicates with low level devices and high level middleware
  • core library for accessing Kinect camera
  • maintained by OpenKinect community (2000+ members) – completely open source
  • Large number of wrappers available: Python, C Synchronous, Actionscript, C++, C#, Java JNI, Java JNA, Javascript, Common Lisp
  • Includes utilities to record Kinect data dump and simulate Kinect feed by playing recorded data
  • Licensing: dual Apach v2/GPL v2
  •  Official SDK for interfacing with Kinect
  • available for non-commercial use now, commercial package available later
  • offers skeletal tracking and audio support, much like other drivers, but with a few differences

Platforms

  • Windows XP or later, 32 bit only
  • Linux Ubuntu 10.10 or later, x86
  • Windows XP, 7
  • Ubuntu 10.04, 10.10
  • Mac OS X (best to use macports, fink, or Homebrew
  •  Windows 7 only

Dependencies

  • Win: Visual Studio 2008/2010, Python 2.6+/3.x, PyWin32, WIX 3.5 (optional: Doxygen, GraphViz)
  • Linux: GCC 4.x, Python 2.6+/3.x, libUSB 1.0.8, FreeGLUT3 (optional: Doxygen, GraphViz, Mono)
  • Mac OS X: Xcode 3.2.6, libUSB 1.0.8 (may be installed via MacPorts or manually) (optional: Doxygen, GraphViz,Mono)
  • Base Dependencies:

     -Libusb-1.0 v.>=1.0.3/libusb-win32 (*nix/OSX and Windows respectively)

     -Cmake >= v.2.6

  • Sample glview Dependencies:

     -OpenGL

     -Glut

     -Pthreads

Software Requirements
  • Windows 7 (x86 or x64)
  • Visual Studio 2010 Express or other 2010 edition
  • Microsoft .NET Framework 4.0
  • samples may require addtl dependencies, see readmes

Hardware Requirements:

  • dual-core, 2.66GHz+ processor
  • Win7-compatible graphics card with DirectX 9.0c support
  • 2GB RAM (4GB recommended)

Features

  • RGB / Depth Images
  • Physical motors
  • Accelerometer
  • LED
  • Audio output

Capabilities supported, implemented by middleware (usually NITE)

  • Full body skeletal/blob data
  • Hand tracking
  • Gesture detection
  • Scene Analysis (using depth sensing)
  • RGB / Depth Images
  • Full body skeletal/blob data
  • Gesture Detection
  • Physical motors
  • Accelerometer
  • LED
  • Audio processing using four-element microphone array with noise & echo cancellation
  • Sound source localization for beamforming/sound spatial location
  • Depth data
  • Raw audio/image data
  • Skeletal tracking for up to 2 people

Pros:

  • Large number of supported middleware and toolkits for skeletal tracking, gesture tracking, etc…
  • Existing sample integration into Ogre, Unity
  • Greater range of flexibility for integration with overlying toolkits
  • Greater range of flexibility for customization
  • Large supporting community enables fast development & bug fixes
  • Easier to install on a wide range of platforms
  • Comes pre-packaged with skeletal/gesture tracking capability
  •  Official support for Kinect based projects
  • Allows access to microphone array (can combine with position tracking for greater accuracy)
  • Does not require initialization pose (can can therefore also pick up targets easier if location is lost)
  • May lead to eventual integration into other Microsoft products (XNA, Xbox 360 Community)
  • Includes sample code & documentation
  • Very easy to install

Cons:

  • Can be difficult to install on non-Windows machines
  • Not always supported by utility toolkits (FAAST)
  • No audio access yet
  • Only does skeletal tracking (no finger/hand gesture recognition yet)
  • Skeletal tracking limited to 2 people
  • Limited to Windows 7 systems

 

 

http://openkinect.org/wiki/Getting_Started

http://www.openni.org/

http://research.microsoft.com/en-us/um/redmond/projects/kinectsdk/

http://research.microsoft.com/en-us/collaboration/focus/nui/kinect-windo...