All   Archive   Code   News   Projects  

 

My name is Stephen Schieberl. I am a Senior Engineer at Wieden+Kennedy Lodge in Portland, Oregon. I make things with emerging technology.

Ban the Rewind?

A D M I N

Pictured: Using the Kinect SDK to track skeletons in Cinder PLEASE CHECK OUT THIS PAGE FOR THE NEW VERSION : http://bantherewind.com/kinectsdk-for-cinder The last thing the world needs is another way to get a Kinect working with a PC. However, those who've done it have generally found any path they've chosen to be quite challenging, as it's essentially been a hack. Personally, I've also found issues with these libraries ranging from nasty memory leaks and crashes to under or unsupported basic features. Microsoft recently released an official SDK with drivers for the device. The drivers work like a dream without any fuss. A huge bonus in using the official SDK is that it can skeletonize a user without a calibration pose. That is, it can figure out where all the joints in your body are without any work. Other libraries require to stand in a specific stance for a few seconds, rendering the feature essentially useless. Incorporating the block into Cinder eliminates this problem. After a couple days of work, the Kinect SDK block beta is online. The result so far is a block which is fast, reliable, and dead simple to implement. It acquires skeletons almost instantly without calibration. Memory management is clean and the block even comes with audio input support. BLOCK + INSTALLATION Download ciKinectSdk for Cinder ciKinectSdk 0.0.9 beta Follow these easy steps to install: Download and install the official SDK and drivers here Download the ciKinectSdk block from the link above Unzip the contents into your main Cinder path, merging it with your "blocks" folder Go to " cinder /blocks/kinectSDK/samples/KinectApp/vc10" and open "KinectApp.sln" with Visual Studio C++ Express or Visual Studio 2010 Build and run IMPORTANT! Do NOT move any of the SDK's files into the sample projects. The projects rely on a properly installed Kinect SDK to work. To create your own project, I recommend starting with the KinectApp sample and then build out from there. This will save you the work of trying to set up linking, DLL copying, etc. The block includes three samples projects. One is an input test (pictured above) displaying depth, video, skeleton, and audio data. Another is a point cloud (pictured below), demonstrating the all-important technique of reading pixel data from the depth image into a 3D space. And there is a bare bones, pardon the pun, skeleton project. To acquire audio from your Kinect, you simply treat it as you would any other audio input device. The KinectApp sample project includes my ciAudioInputWin block to capture audio from the Kinect's microphone. Happy Kinecting. Updated 2011-12-08 Works with the new Kinect SDK 1.0 beta 2 Support for multiple devices Control device head angle Improved stability and performance in the block and demos Block arranged to meet new CinderBlock guidelines and improve portability