Lemonade

Zach Davis, Haewon Kang, Will Wolcott



 

Summary

 

Lemonade is software that allows a user to interact with live video processing using the XSENS MT9, a device which captures orientation in three dimensions (among other things). Each dimension in orientation is mapped to video processing technique, and the user can thus control the video output in real-time.


The Goals

The primary goal of this project was to take a first step towards understanding the ways in which the XSENS MT9 could be used to provide an interactive experience to the user. Other goals included using real-time video processing as the basis of interaction and creating a situation where a user with no prior knowledge could, and would want to, explore the boundaries between abstract and recognizable .


Development

 

Lemonade was a collaborative project. Much of the initial concept was developed by Haewon Kang. Will Wilcott and I worked closely together on taking the ideas developed in MAX/MSP/Jitter and recreating those ideas in C++. This involved the integration of three main parts: video capture from a USB or firewire camera (using Microsoft DirectShow); getting orientation data from the XSENS MT9 device; processing the input video and displaying the output (using OpenGL). C++ development was done with Microsoft Visual Studio .NET.

The Result

The final form of Lemonade creates a 3-dimensional topography based on color-values of the image and controlled by changing the orientation of the XSENS MT9. For each frame (15 frames per second), the red, green, and blue values of each pixel are determined. This information is used to create a polygon of the same color, and the average intensity of these color values is used to determine the polygon's "height", or distance from the background. A polygon is created for each pixel in the frame, and together they form a 3-D topography of the frame. Pitch, as captured by the MT9, is used to scale the height of each polygon. Scaling by zero will thus produce a flat, "normal" image, while scaling by a large amount will produce a steep topography. Roll is used to control the size of each polygon. Zero roll will create a polygon for each pixel in the frame. Increasing the roll will increase the number of pixels each polygon represents. Yaw is used to change the output frames from full color to no color. A yaw of zero will produce a normal full-color image. A yaw of 180 degrees will produce a solid-color image (each polygon is the same color), but will maintain the 3-D topography or height of each polygon. Using these three controls , the user can explore the possibilites offered by the three processing techniques, as well as play with the limitations of what makes for a recognizable image.


Future Work  

Whie work on Lemonade itself has probably concluded, the hope is that this was merely the first in a series of projects exploring the use of the XSENS MT9, or other devices like it, for interaction in an art or other installation. The idea is that the MT9 would allow precise measurements of the user's actions to be taken, without seriously imposing on that user's ability to interact with the work. These measurements could be extremely useful in integrating scientific or psychological experiment into an art exhibit, and is something we hope to explore more in the future.


Download

Lemonade.exe v1.0 for Windows XP and 2000

Lemonade Source Code - C++ and Visual Studio .NET project files

Install and Instructions README rtf file



Resources  

OpenGL Homepage

OpenGL Tutorials

XSENS MT9