Open Source Gesture Recognition For Kinect SDK
Rymix writes "I have been working with a new internet-friend of mine to produce an open source gesture recording and recognition engine for Kinect SDK. It's based on the Dynamic Time Warping technique and allows developers to record their own gestures and reliably recognise them. It's currently 2D but 3D is an easy development, coming soon. We're looking for community take-up and contribution to this project — it could help a lot of people with rapid prototyping and could even be used in production solutions (within the Kinect SDK's terms of use, of course!)."
Initial testers found only one gesture they could make at the Microsoft device that triggered any response.
Breakfast served all day!
Every single time there's a Kinect story, someone has to ask this question. My cynical side wonders whether they'd still be doing this if the Kinect wasn't a Microsoft product, but here's a comment I posted a while back that explains why, even though it may be overrhyped as a video game peripheral, the Kinect is damned cool for robotics applications. The robotics community has, almost overnight, dropped work on many other kinds of input sensors to focus on the Kinect because it's so much more useful (see openni_kinect on ROS for the primary driver, although we'll see if this continues to see love now that an official SDK is out).
Dislike the Electoral College? Lobby your state to join the National Popular Vote Interstate Compact.
The robotics community has, almost overnight, dropped work on many other kinds of input sensors to focus on the Kinect because it's so much more useful
First I've heard of it. The way the summaries are always worded, to the uninitiated it always sounds like the same story: Kinect hacker hacks Kinect!
Breakfast served all day!
Mod parent up, please. I'm getting sick of the flurry of "you made something with your own two hands? color me unimpressed" type comments on Slashdot anytime there's a story about kinect hacking or other Maker type stuff. I got into this field because I liked to break/take apart/repurpose stuff as a kid, and these experiments satisfy that urge today. Not everyone comes to this site to bitch about video drivers or start OS platform flame wars. /end rant.
In response to AdmiralXyz's comment, I'm not really seeing so much work being done with the SDK that's not video game related-- openNI has been around for a while, and it's cross platform-- even runs on Linux I believe. The "weird kinect experiments" community seems to have embraced openNI as well as openKinect (a wrapper for Processing/Java), a trend that I would like to see continue.
There are several reasons for this study: 1) It's a component of an academic study into the effects of 'natural' human-computer interaction on learning and teaching. There sure is a lot of buzz about Kinect at the moment, so studies like this will help to prove just how useful gesture controls could really be. Or not. Open mind... 2) Dynamic Time Warping is a viable but relatively under-explored method for vector-based gesture recording and recognition. It's interesting to see how well this can perform against more established methods. 3) There's not much out there for the Kinect SDK yet, so why not build something nice, like? If it proves to be popular I will refactor into an open-standards form and release for all sensor applications. 4) It's a very immature product and needs a lot of work before it's really useful - hence the open source. 5) Kinect SDK's license is currently research only, but I have it on good authority that this will change soon. I'm not quite sure what to, though. 6) Working on stuff like this is, to me, like playing with Lego. I just enjoy it. I enjoy creating something, investigating, exploring...don't like that? I'm cool with that. But don't bite me for it. 7) I just realised this numbered list could look rude or arrogant. Sorry about that. But I couldn't figure out how to get carriage returns into comments. 8) Another point of KinectDTW is that you can teach it you own gestures. Try it, and if they're unreliably recognised, try tweaking the parameters for your environment. A future development would see dynamic parameters per person/room/gesture for maximum reliability. 9) There is no 9) 10) If you like it, or even if you don't, please keep the feedback rolling in. I like to read you opinions :) And if you can, contribute. I'd really appreciate better minds than mine working on this too.