Improving kinect skeleton tracking

Does anyone have any advice on ways to improve the stability of joint tracking when using the MS sdk kinect plugins? I’m trying to achieve smooth as possible hand tracking for a gesture interface.

Any combination of filters that people have used successfully would be great to know, as would settings for the SmoothSettings node (Is there any documentation for this?)

I’m currently having a play with Kalle’s Transient module btw


Found this for SmoothSettings -

Maybe if we all throw in some tips we could make a nice wiki entry

crappy tracking freaks me too

These smooth setting working pretty well -

// Smoothed with some latency.
// Filters out medium jitters.
// Good for a menu system that needs to be smooth but
// doesn’t need the reduced latency as much as gesture recognition does.
{0.5f, 0.1f, 0.5f, 0.1f, 0.1f};

Some interesting info here regarding different methods of filtering

Ok, I’m getting pretty good results with -

  • the above smooth settings
  • a median filter to remove spikes
  • slight damping proportional to joint speed (this is great)
  • further damping of any inferred joints (rather than tracked)

I’ll try to share a patch soon, though the settings I’m using are heavily biased towards this particular application. It would be nice after some more experimentation to make a general purpose module with some presets for different applications

edit - does anyone think a weighted moving average filter might be more effective than a damper for any of these steps?

thanks for those infos, i will test that soon it sounds really helpfull.