I was exploring development on kinect, and wanted to be able to recognize fingers rather than the entire hand only. The skeletal API by kinect official SDK only has the hand joint - no provisions for finger tracking. I also read that very recently Microsoft has included the grip recognition API in the new sdk and might include finger tracking in future releases.
My question is given the current resources, how do i go about to do finger tracking ? Do we have external libraries for the same ? Will it be feasible to actually implement finger tracking using kinect, given the fact the UX guidelines discourage such gestures.
Thanks.
how do i go about to do finger tracking? Do we have external libraries for the same?
There are several projects out there that demonstrate the ability of the Kinect to perform finger tracking. Some 3rd party libraries, offering a finger tracking API of some sort, also exist.
Here a very interesting one, with code, I found with a simple web search:
If you are wanting to use the official SDK or one of the other SDKs is another concern. There is nothing stopping the official SDK from performing hand tracking, but there is nothing built into it for performing such actions.
Will it be feasible to actually implement finger tracking using kinect, given the fact the UX guidelines discourage such gestures.
If by "feasible" you mean possible - Yes. There is nothing preventing you from implementing your own finger tracking mechanism using the official SDK.
If, on the other hand, you mean the UX practicality of tracking fingers vs. gross body movements, that is something left to your application design. Having finger tracking for the sake of finger tracking does not make a good control-free interactive experience. The "Distance-Dependent Interactions" sections of the Kinect for Windows 1.7 Human Interface Guidelines does a good job of illustrating how a user's distance from the screen effects how best to interact with it. Notice the user in the example I link to above is very close to the screen.
What your application is going to do; How the user approaches your application (i.e., on the street, in the lab, with or without learning, standing/seated, etc...); Distances; User age & capabilities (i.e., children and elderly are generally less dexterous, as are those with disabilities). All these (and yes... more) come into if your application should support finger tracking at all.