1

I'm creating Kinect mouse aplication. The idea is to hand/wrist kinect joint, as a source for cursor position, and finger detection to perform clicks, holds etc.

I got finger detection and palm gesture recognition working and here I found my blocker:

position of wrist/hand joint is changing when I make palm gesture, for instance when i change from open palm to fist.

Is there any workaround for this issue?

I'm using Kinect SDK 1.5 and EmguCV in this wpf aplication

Skiba
  • 440
  • 1
  • 6
  • 17
  • 2
    Likely not, Kinect joint positions are based on all available data. One suggestion might be to train your system with open hand data. You could then calc. the distance from elbow to wrist and if it's below your calculated threshold, move the wrist point further along the vector from elbow to wrist. – Jerdak Aug 02 '12 at 19:27

1 Answers1

1

Thanks Jerdak for your suggestion. I modified it a bit and the result is pretty nice in my opinion.

I'm calculating vector between elbow and wrist position, normalizing it and then multiplying by fixed arm length.

Then I'm just adding vector to elbow position.

Edit: After bit more testing this approach works almost perfect, only trouble is that elbow joint can "bounce" too...

Skiba
  • 440
  • 1
  • 6
  • 17
  • Yea, I tried it, but i told me that I have to wait a day. So I'm doing it now! – Skiba Aug 04 '12 at 14:49
  • 1
    Linearly interpolate your elbow using info. from the last N frames. I usually use an N between 2 and 5. – Jerdak Aug 05 '12 at 21:49