none
How to Capture Hand movements using Kinect? RRS feed

  • Question

  • Hi

    All i want to do is to capture hand movements.The idea is when user moves his right hand  from right to left i have to move the icons in my application towards left to show more items.Similary from left to right will show previous items.finally when users holds his hand on a particular item/icon for soemtime i will open that application for him.

    Any help would be really appreciated.

    For now for these events i just want to display message like you movedyour hand from left to right orright to left or selected an item.

    Regards
    Gopi


    Regards Krrishna

    Monday, May 14, 2012 4:16 PM

Answers

  • What you are describing requires a gesture and tracking system. This is not a simple process, but can be broken down to some basics. The first step for a gesture is to get the tracking information of the user. In terms of the Kinect SDK, this will be the joint position of the Hand/Arm. Look at the skeleton tracking demos as part of the Kinect for Windows SDK.

    A gesture is a tracked position over time. Since the tracked data is one point in time, you need to store this data (in memory/disk) and compare these locations after a set period of time has elapsed. The path the points make are the gesture you want the user to complete. Gesture systems have been discussed many times in these forums and you might want to look at some of the samples people have provided on the various Codeplex projects. There is no gesture library in the Kinect for Windows SDK.

    Lastly and sometime forgotten, the gesture tracking has to include some variance, since not everyone completes the same gesture the same way every time. This can be very complex or simple based on your needs. It may be a matter of compare each vector of the path is following a same set of points with a +/- of 5%. More complex and accurate are computer learning systems.  

    Monday, May 14, 2012 6:20 PM

All replies

  • What you are describing requires a gesture and tracking system. This is not a simple process, but can be broken down to some basics. The first step for a gesture is to get the tracking information of the user. In terms of the Kinect SDK, this will be the joint position of the Hand/Arm. Look at the skeleton tracking demos as part of the Kinect for Windows SDK.

    A gesture is a tracked position over time. Since the tracked data is one point in time, you need to store this data (in memory/disk) and compare these locations after a set period of time has elapsed. The path the points make are the gesture you want the user to complete. Gesture systems have been discussed many times in these forums and you might want to look at some of the samples people have provided on the various Codeplex projects. There is no gesture library in the Kinect for Windows SDK.

    Lastly and sometime forgotten, the gesture tracking has to include some variance, since not everyone completes the same gesture the same way every time. This can be very complex or simple based on your needs. It may be a matter of compare each vector of the path is following a same set of points with a +/- of 5%. More complex and accurate are computer learning systems.  

    Monday, May 14, 2012 6:20 PM
  • Hi Krrisshna,

    As Carmine already mentioned about Codeplex projects, you can use Kinect DTW framework for Gesture Recording & Recognition available on Codeplex.

    http://kinectdtw.codeplex.com/

    This framework helps to record your own gestures, writes to a file and once you load the file it will recognize the gestures performed.

    Here is a updated version of the f/w with 1.0 SDK.

    http://social.msdn.microsoft.com/Forums/br/kinectsdknuiapi/thread/9c069e50-fffa-4ffc-87b7-d3a1cef34aab

    Hope this helps !!!

    Thanks,

    Bharat.

    Tuesday, May 15, 2012 3:56 AM