Skeleton tracking interesting issue (Kinect, OpenNI)

Dear vvvolks,

after extensive testing with Kinect SDK 1.6 and OpenNI,
as stated in the Kinect thread, I found out that the distance between leftShoulder and RightShoulder in the MSKinect Skeleton node changes veery strange, with OpenNI it does stay almost the same, when you move around in the scene.

The problem is that there is some kind of freeze when a tracked skeleton moves away from the scene (OpenNI) That’s way I am stuck with the kinect. Kinect SDK nodes does work better in that regards, but the distance between the shoulders changes a lot??? The changes are not linear, look rather logarithmic…

I am not so into math, but I suspect that this can be compensated with some kind of formula, may be involving the perspective correction based on the Perspective (Kinect) node, FOV of the IR Cam or/and Focal length. Any help, clues, advice will be greatly appreciated, got super frustrated.

many thanks


For a better understanding try to read this:

I did use the openNI drivers in the beginning when they came out. So cant talk about how they work in the recent version.

Back then there was a config file where a the length between shoulders was stored. So this was a constant, which i think the tracking depended on. Now in the never version i think this was changed to automatically detect it. However tracking can be inaccurate (that is why it changes a lot in the microsoft SDK)
I cant tell you what the freeze is or how to solve it. But with the microsoft SDK you could inter- / extrapolate the values between shoulder positions to get a more constant representation.

Thanks, I went back to openni and modified the skeleton node, still testing…