Archive for the ‘Kinect’ Category

Ah it’s been a while since my last post. During my intern which was ended last moth i used ASUS XTion Pro and now I’ve come back to my campus and is currently porting all of my code to C++ using a Kinect for Xbox 360.

Kinect for Xbox 360 is quite different when you compare it with XTion. i would like to say ASUS XTion Pro is far better than Kinect Xbox 360. It only needs 40-50 cm for nearest distance for depth sensor. Kinect Xbox 360 needs 80-90 cm.  XTion Pro is also lighter and smaller. Yup, Kinect is bigger, heavier  and bulky i think.

Now let’s compare OpenNI and Kinect for Windows SDK  (it’s really long to type the name so let’s make it shorter, Kinect SDK). If you talk about the SDK  features,  Kinect SDK is almost the winner,  it has a lot of features (see release notes here: http://msdn.microsoft.com/en-us/library/jj572479). OpenNI so far is really behind (except if you want to discuss about portability) .

When you’re developing  depth-sensor based software, recording is really useful when debugging. You don’t want to dance every debugging, right? (moving your body, and get tired). In OpenNI the recording file (.ONI) has smaller size even in long duration and also after you recording, you can plug-off your depth sensor and play with your recorded data. OK, what about recording in Kinect SDK? It sucks! for several minutes, the recording file will be gigabytes is size, and the one i really don’t like is  you still need your device is plugged in you PC during playback.

PS: i never use Kinect for Windows so don’t ask me okay :D




Right now i’m experimenting with Kinect to animate a 3D model or model skinning by using Kinect. To calculate the joint orientation, first i need to obtain the three orthonormal axes (X, Y, and Z) and create Quaternion to change every bone orientation. By this way, the noise produces by Kinect can be reduced and character movement can look smoother and independent from position. Another advantage of using joint orientation, character movement isn’t depended to body posture and model scaling.

More info and source code: http://code.google.com/p/ogrekinect/