Survey of current (free) Kinect skeleton tracking libraries
Since I now have some experience with these free libraries, let's document what my experience with the state of them is (as of November 2014). Hopefully this will help fill in the information that is generally lacking around the documentation and websites for these libraries. Everything will require some finagling, so make sure that if you're going to incorporate skeleton tracking that you have plenty of time to deal with the errors and preferably have some resources available who can give you help.
Honestly for this project I should have used something like Unity3D that has stronger Kinect integration.
Microsoft Kinect libraries/drivers - this is your best option, assuming you're working on Windows. I briefly used the SDK and it will work. This can be used through Unity3D, the install will work on windows and everything is smooth
Easy install (on Windows)
Free as in free beer
Comes with skeleton tracking already
Not cross platform
Already incorporated into things like Unity3D
ofxKinectCommonBridge (lets you use the Microsoft libraries with OpenFrameworks wrapper)
OpenNI (NiTE) libraries are only half of what you need, and from the looks of it will only ever have half of what you need. OpenNI is only the drivers to actually get information from the device into a frame. NiTE was the library that actually provided skeleton tracking and the like. OpenNI is somewhat available for use through places like structure.io but NiTE is generally not available, and the ones that are available are at least a year out of date as of this post.
Relatively difficult install (build from source, does not build out-of-the-box, i.e. you must fix their source code to make it build for you)
Maintainers exist but updates are not too frequent
The remaining interest isn't in the skeleton tracking features, it's in the actual drivers for the device (which is good if you need that sort of thing)
Skeleton tracking does not work/does not exist any longer (you must write it yourself off of the frame data
Cross-platform** (**This is available on Windows but will not compile through MinGW without significant changes to the source. If working on Windows you must be using the Visual Studio compilers.)
This used to be the "standard" way of doing things for non-Windows platforms so a lot of tutorials will tell you to use OpenNI and NiTE, btu this does not work any longer.
Existing distributions of code may not work on newer hardware
OpenKinect/libfreenect with Igalia's SkelTrack seems to be the best solution available for Linux. The tracking is noisy and somewhat primitive though.
Seems to be pure image-based with no learning model, not as solid of results as Microsoft's skeleton tracking (by quite a lot)
Also seems to only do upper body, but this may have been me failing
The asynchronous callback was difficult to get working properly, I was still doing something wrong when we finally decided this wouldn't do what we needed








