Following up on my last post, I mentioned that we are creating a fun installation that involves tracking small fast-moving objects. So without further ado I give you Rally Keeper:
Before I get into how it works, I want to mention some of the inspiration for the project. A while back I saw this cool product concept for an interactive ping pong table. Inspired by the idea, the team and I spent some time pondering how we could take this “future” concept and turn it now concept.
Researching similar projects we examined a variety of approaches including audio triggers, triangulating sound waves, and color tracking. Then the ‘aHa’ moment came – we only needed to track the ball at a certain depth to capture it’s coordinates. Knowing that we could easily track depth with the Kinect, we quickly put together a prototype.
The diagram above shows our approach..it’s actually quite simple:
- Position the Kinect far enough away to capture the whole table
- Slice Kinect’s depth image creating an “invisible” layer directly above the table surface
- When the ball enters the tracking layer, use OpenCV to grab it’s coordinates
- Store and paint the coordinates back onto the UI layer
Most of the tech details of how to do blob tracking can be found in my last post.
The UI Concept
When we overcame the major tech hurdles, it was time to give this thing a face-lift. The aesthetics were mostly inspired by the original concept. And the UI was implemented using WPF.
You can see more of the artwork here
Aside from a being purely a cool visualization, we also wanted to add some utility. After a typical battle session and a brutal defeat, we often exclaim “I can’t believe you beat me! How’d you do it!?” Convinced, that if we could see the ball patterns we could calculate a better strategy for the next bout. Additionally, analyzing data is cool. With the ball data we can calculate percentages, make predications, and see trends in our games.
After messing around with this for a week we came up with dozens of additional ideas we’d love to explore…time permitting. Some of the highlights include:
- Authenticating purely with Kinect gestures
- Leverage the Kinect’s microphone array for automated scoring
- Pushing game results up to a website for comparison and analysis
- Use projection mapping to draw the visualization onto the table in real-time.
- Use multiple Kinect cameras for even better tracking
Anybody else out there with any ideas? I’d love to hear them…
Best0 comments , permalink