CS6825: Computer Vision

Main
Goals
Data Input
Kinect SW
Calibration
Research
Getting Started
Proposal

Implementation
Requirements AND Data Output

Deliverables
Skeleton Tracking
Other

Project 3: Cyber Physcial System (CPS)Research

 

SW Platform for programming Kinect

 

 

Middleware for Kinect (can someone else do some of the programming for you)

 

Clarification on WHAT SDK (including middleware) to use to develop to program with Kinect sensor

The main Kinect development libraries are listed here--- I have highlighted the benefits of each in green. A problem of all except the offical SDK is they may not keep up to date with latest SDK. NOTE: they are at different levels ---you will need a dirver, and a upper level programming SDK with optional middleware (implement related algorithms that are useful on Kinect) --- NOTE: you may also want to investigate other middleware for computer vision (OpenCV,etc.) and computer graphics (OpenGL,etc.) for doing processing and displaying/drawing information to the screen.

  1. SensorKinect driver (DRIVER LEVEL)
    (thttps://github.com/avin2/ --- or search),
    • driver provided by Primesense (original Israel company developed the Kinect for Micrsoft)
    • which works across Windows, Linux and MacOS X.

  2. OpenKinect's libfreenect    (DRIVER LEVEL)
    (http://openkinect.org/wiki/Main_Page),
    • libfreenect is derived from a reverse-engineered/hacked Kinect driver, which works
      across Windows, Linux and MacOS X.
    • has wrappers for multiple languages

  3. ofxKinect (DRIVER LEVEL for C++)

  4. CLNUI (http://codelaboratories.com/nui/),    (DRIVER LEVEL, multiple Devices)
    • CLNUI (http://codelaboratories.com/nui/) is aimed at Windows only, but allows
      multiple Kinects to work together.



  5. OpenNI (http://www.openni.org/), I THINK THE MOST VERSATILE  (MIDDLEWARE, with Conversion to Multiple Languages)


  6. Microsoft's Kinect for Windows SDK (OFFICIAL) (DRIVER AND MIDDLEWARE LEVEL)
    (http://research.microsoft.com/en-us/um/redmond/projects/kinectsdk/default.aspx).
    • only C++, C#, Visual Basic (for this class only want C++)
    • only on Windows 7 machine (may change???search on this issue)

       

  7. OpenFrameworks (MIDDLEWARE -includes OpenGL and OpenCV for C++ --ADDS Graphics over OpenNI????)
    • only for C++ , opensource, cross-OS, use in multiple compilers including VisualStudio, XCode, Eclipse??
    • has hundreds more extensions contributed by the community at http://ofxaddons.com/

       

  8. Processing.org (MIDDLEWARE - its OWN similar to Java like language)
  • This is not actually Java ---so what is it?, opensource, cross-OS
  • provides graphics(OpenGL) and imaging software
  • has its own programming IDE ---so you can not bring in Java or other C++ libraries you ARE PROGRAMMING in a NON-Standard language

 

Microsoft's Video instructions on Kinect setup and use with THEIR SDK

 

Choose between Microsoft SDK or OpenNI solutions (+ driver)

           based on OS, programming language, audio support issues

POSITIVES of Microsoft SDK OVER OpenNI

>>> see some benefits of Microsoft SDK skeleton tracking

>>another nice thing is Microsoft SDK has a demo program included called 'Kinect Studio' that allows developers to record, playback, and debug clips of users interacting with applications.

 

 

 

Develop Kinect with C++ or C# or Java or using OpenNI ---but will it be current with latest Microsoft SDK functionality??? --- No, not now but, close --- is it enough??? you decide

OpenNI stack

 

What if you are a Java lover but, want to develop using Micrsoft SDK and not OpenNI ---- (need the bridge Jnect ---but will it be current with latest SDK)???

https://channel9.msdn.com/coding4fun/kinect/Jnect-for-Eclipse-The-Java-to-Kinect-for-Windows-SDK-bridge_

 

image

 

© Lynne Grewe