Gesture driven slideshow presentation (Kinect + Keynote)

Application that lets you control a Keynote slideshow presentation using your hand. For example: move your hand to the right to get the next slide.

Commissioned by the web agency. The company’s CEO demonstrates the software in this video:

There are a few similar projects out there, but this one is used in day-to-day situations, which brings its own challenges. The software is used in meetings for clients, so it had to be quick to set up and detect a hand, without any kind of calibration. Nowadays this is pretty straightforward with OpenNI, a Kinect library which includes a fast and robust hand detection algorithm.

Then there’s the matter of avoiding false positives in the movements. You don’t want the presentation to jump to the next slide when you reach for your pen. The program checks how far and in which direction your hand has moved recently. It looks for fast, deliberate movements and discards others.

The Kinect has a few status lights, which I programmed to give some simple visual feedback. For example: red means no hand detected, yellow indicates that the application understood a command, etc.

Kinect, openFrameworks, C++, Keynote, AppleScript