This is the process blog of IAT320 Student Paul Brokenshire and contains reflections on course content and themes as well as documentation of the design process and prototyping during course projects.
Wednesday, October 27, 2010
Sketch 1 Final Stage: A Fairy Companion
After settling on the children's fairy companion from our stage 2 ideation we set about working on implementing the idea using Max/MSP/Jitter.
We started by planning out exactly how to go about achieving our desired effect. The program would need to detect a person on camera and react to that person's position and actions, drawing the fairy near the figure's location. To detect a person in the frame we chose to use the background subtraction technique we were shown in class in order to isolate any figures entering the frame. We then went through a variety of attempts to reliably track the position of a figure in the frame and make use of the x/y location data. We began by using cv.jit.bounds to get a bounding box around the figure which we could draw the x and y co-ordinates from.
This solution turned out to be sub-optimal however as noise in the camera feed often resulted in multitudes of fluctuating and unpredictable boxes and location updates were jumpy and led to undesirable and jumpy animation of the fairy.
cv.jit.centroids gave us a different set of x/y co-ordinates and we found that tying the fairy to this output resulted in far smoother and more attractive motion.
Another alternative we briefly explored made use of the cv.jit.faces tool to track faces in a black and white video feed. This gave us an x/y point at the centre of any face that entered the frame which made for fairly smooth and easy info to pass to the part of the patch handling fairy animation. The face version also allowed us to have multiple people in the frame. Unfortunately the solution was extremely taxing on the CPU and crashed nearly ever time we tried to test it and had to be abandoned.
The fairy itself began as a simple circle, drawn at a location slightly offset from the x/y position provided by the figure tracking. Its location would shift as the person moved, seeming to follow nearby. This simple circle was replaced later on with a small picture of a fairy, animated in flash and played in the sketch as a looping movie.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment