Eric Brockmeyer and Jordan Parsons – Project 3 – Interaction
We created a path mapping system which projects a graphic visualization of a user’s path on the ground behind and on top of them. The setup included a ceiling mounted projector, a 45 degree hanging mirror, two computers (Mac OS and Windows 7), and a Microsoft Kinect Sensor. We used the openframeworks libraries ofxOSC, ofxKinect, and ofxOpenCV to track users, communicate between machines and generate graphics.
Tasks
The code for interpreting video (and later Kinect) data, was a challenge for us because we wanted to include a beginning and end point as well as a unique ID for each path. We accomplished this using vectors in C++ which allowed for continuous creation and destruction of paths. This path data was sent to the graphics machine in packets including the ID, x position, y position, and state (begin, middle, end).
The graphics program took this information and created classes of paths. These paths interpret the direction of the user and create a varied color palette that refreshes upon the creation of each new path. In the wake of the user, circles expand and dissolve in subtle pattern. The memory of the path fades quickly and allows for more users to enter the space.
We also had to design and build a mirror mount to ‘fold’ our projection giving it a slightly larger footprint in our space. The CNC milled mount is made from oriented strand board (OSB) which notches together and has adjustable height and rotation. The mirrored acrylic, screwed and taped to the mount, was donated by Max Hawkins (Thanks Max!).
Challenges
We are both new to C++ and openframeworks so we took it upon ourselves to develop this project exclusively on that platform. There were problems in handling the amount of data that came in and was sent between machines. Getting smooth clean data from the openCV library proved to be a challenge. Also, using depth values from the Kinect remains unresolved.
Sorting through the paths and nodes within those paths was a challenge. We had to properly parse all incoming data to be added to the correct path and pathholder (place holder).
Kinect Tracer from eric brockmeyer on Vimeo.
Room For Improvement
We would like to utilize our start and end functions in some graphical manner. We would like to figure out why our depth data in the Kinect was so imprecise. We also would like to further debug our data transmission and improve our parsing data structures.
http://prezi.com/bxu0mxrusgum/project-3-interaction/
Hi Eric/Jordan – Great work! here are the comments from the Etherpads.
—————————
LOVE the frame you made…very resourceful!
Yes, I completely agree. It’s fantastic that you took the time to recover the plastic mirror and actually build such an elegant frame for the suspended mirror.
Your presentation needs more conceptual overview: what was the objective (goal), what kinds of precursors or motivators you had, and a schematic system diagram showing “what” you made.
What’s the context, who’s the audience, what is this the prototype for. These questions are not well-addressed by your presentation.
Terrific learning — the fact that you both didn’t know OF or C++, but produced this.
I’d like to hear more about what you plan to do with this, it looks like it has a lot of interesting uses for advertising or some other purposeful installation application.
Incredible set up :) pretty graphics too.
The project looks very professional and well put-together. It looks like it would be very engaging to play with!
Beautiful construction. Well thought out
The construction itself could have been its own project. Beautiful result in the video.
Great project – I agree with the above comment that the presentation could have a little bit more conceptual background. I also think that the video could have been a bit more elucidating about the space, setup, etc. Even just shooting the live video a little further out would have helped.
Very cool, but as others have stated, motivation/context is a little unclear. Is this still up? I wish we could see it as an installation.
nice hook on the mirror, vrrrrrry nice craftsmanship, find a proper space, big space, and borrow a projector.
pretty visuals. very smoothhh. Do the dots display any depth data? Because it seems like you didn’t really need a kinect, a regular camera could have worked.
Impressive construction. The cirles look great in the darkness.
I need a video, ok there it is
if you want to work with a video/web cam in low light conditions and on a projected surface, you could use an ir filter and some ir flood lights. The projection is not seen in ir.
I’d think you woudl want to make more coherent trails using the interpolated paths in the future, more then the current pos circles.
It makes a really awesome floor pattern. Could totally see this at a dance party.
Nice looking frame! Overall cool set-up for your project. Visuals look good, I like the colors you are using. Is it just randomly choosing colors? Nevermind, just answered that question.
That is a gorgeous frame. The puddle effect of the circles is very visually appealing, but maybe if there was more connection between color + specific paths? When the hand is moving most of the time it seems pseudo random. The walking turned out much better as far as tracking the paths. Also another simple thing could be adjusting the circle radius to better show pathflow?
agreed. where are the bubbles in the background from?
nice interaction
What’s the overall purpose? The visualization is cool but you didn’t explain at the beginning why you did this in the first place.
What are you going to do with the mirror? It would be cool to hang in a hallway somewhere on campus.
Nice form, especially the fading out.