Initially could not get the video the move according to the matrix
Featuring Zack the Corgi and the imposter, via Max face changer
Things to improve on:
We had to create a photobooth in Max whereby the user’s face needs to be positioned in the middle of the webcam – using instructions like move left/move right/move up/move down. It was an interesting exercise as when I had my friends to try this thing being created, they had amusing reactions. It was great that they had fun (and confused)!
When the face is center, all sounds will stop playing in which we know it is fit to take a photo.
Difficulties faced doing this assignment would definitely be gauging the position of the center, its parameters (how much has the face moved before an instruction has to come in). Currently, I was gauging the center by my human eye which was bound to have parallax error, in which a calculation would be a smoother method. Also, the distance of the face relatively to the webcam was not heavily accounted for as well.
Also, the sound would not sound as smooth in its repeat, setting up a better delaly would be good. These are areas I would strive to improve on.
Max Assignment 1: Mirror
A fun documentation on using this Max Mirror with friends.
(Side fact: The documentation was taken during a Birthday dinner and thus the spontaneity at the ending 😉 )
Our task was to create a mirror that dims when we go closer to it. Sensing was done with the webcam, detecting the face (cv.jit faces) and the distance of it from the webcam. Effecting was done via the dimming of the screen as the faces gets closer.
This exercise was my first time trying out MAX MSP. It was quite confusing at times but it helped me gather a better understanding regarding the subject. What I understood about MAX was the concept of “sending messages”, nodes that make it more straightforward in the input/output. There are definitely much to still learn about this.
There were some limitations that I got stuck with. As seen from my documentation video, the screen would often flash when my friends placed their faces in weird angles, or when the computer detected multiple faces.
Max Assignment 2: Eye Tracker (Progress)
This assignment basically revolved around the concept of determining the video frame based on x-position of the face. The sensing is where the camera tracks the movement of the x-coordinate of the face, the effecting is the playing of the video.
For this assignment, I decided to use my dog, Zack, to add personal touch to this assignment.
However, as seen from above, it was hard to tell if the video frames were moving according to the face position. Thus I changed to this video of Zack.
Here’s the final output:
For this exercise, it helped me grasp a better understanding of the capabilities of cv.jit.faces, along with the mirror assignment. My trouble faced during this assignment was the calculation of the values to produce an accurate face track that correspond to the frame, I am still unable to be fully sure and certain about the calculations. Also, sometimes there were negative values.