I'm a Jack of all traders but first and foremost a Community Developer and Teacher. I love to rip apart and discover new things and technologies, then break them down and show others how to as well. Father of 4 and maybe just a bit mad as well, I have Monty Python to thank for that. Simon is a DZone MVB and is not an employee of DZone and has posted 73 posts at DZone. You can read more from them at their website. View Full User Profile

Intel Perceptual Computing and the Perceptual Challenge

09.11.2013
| 1602 views |
  • submit to reddit

Not so long ago, Intel launched their new perceptual computing vision which effectively is a cheaper alternative to Microsoft Kinect sensors. Alongside that they began a challenge to create some inventive apps using the camera and to offer about 125+ developers the chance to win and own one.  I entered 3 different apps into the challenge and to my surprise, all three got accepted (only got one camera though Open-mouthed smile)

The Camera

The camera is a very interesting device. It's both smaller and lighter that the Kinect, and it's cheaper too (although that gap is narrowing with the upcoming release of Kinect V2 coming soon, along with dropping prices of the V1), the camera supports both visual inputs and voice recognition in a very neat package.

WP_20130722_002WP_20130722_003
The SDK

Several platforms are supported out of the box with the SDK. Its native language is C++, but several other wrapper versions have been released including:

  • C#
  • Unity
  • Java

Sadly the SDK is not the best I’ve used, and its C++ roots run very deep. There are a lot of hoops to jump through just to get an image from the device (supports Depth / Colour and Mask images) let alone get inputs from the sensors.

The SDK does feel more like a driver than an actual SDK, so it may feel more at home to native C++ developers (it's fine if that’s how you cut your bread)

Me being me however, I didn’t stop there so I created my own manager library to interface with the device for my own projects/

My Manager Library

Building on my years of XNA experience, I’ve made a wrapper of the wrapper library to make each of the modes the camera has into distinct components that are simply initialized, and once running, you just grab each of the outputs for use.  The library is open source and can be found on Github here:

https://github.com/DDReaper/MonoGame-IntelSDKBack to the Competition

My three entries were both ones I could achieve within the competition deadlines, and they stretched me enough to get dabbling:

  • The Lightning machine – those who follow my blog should recognize my favorite sample getting dusted off again
  • A block stacking game in Unity
  • A car racing game using the camera as the steering wheel

The list almost got reduced to one due to time constraints, and even then, it was looking like I was running out of time (then they extended the deadline Open-mouthed smile), so today I’ve managed to publish (with the help of my handy helper lib) my first app and it has been published to the competition, so now I can get back on track with my main project.

Blink_bc437e84-4fad-4f9a-9280-717800df4f33_5_2013-08-17

My two daughters playing with my first creation.

To see the lightning demo in action (as part of the comp this was required) I’ve created a demo video of it in action. Creating it was certainly fun and challenging (the sample not the video :P ).


Intel Perceptual computing challenge entry 1: The Lightning Machine

So back to the grindstone, although now the challenge has been extended I may spend more time with the open source library to improve it and perfect the racing controller I’ll need.

Further posts

When I get time, I’ll do some further posts about the SDK and the library I created.  Oh time, you elusive beast :D

Published at DZone with permission of Simon Jackson, author and DZone MVB.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)