cs194-26-acw
)
I defined a standardized set of correspondance points on two images: one of my face, and one of my roommate's face,
using a simple ginput
based tool.
I implemented a simple algorithm for doing face morphs between two images (A and B) with correspondence points:
Next, I blended my face with my roommate's face using this algorithm:
And then I created a 60-frame morph sequence:
I took the Danish face dataset and computed the average face, average male face, and average female face.
The process is very simple: average all of the correspondence points together to compute the average shape, warp each face to the average shape, and do a simple average of all of the warped image.
Interestingly enough, each individual warped face looks terrible, but the average is extremely visually appealing.
Finally, I took my face and warped it to the average Danish shape, and I took the average Danish face and warped it to my shape. Both results are disturbing.
I used the average male Danish face computed in the previous part to create a caricature of myself, by taking my face and extrapolating the shape from the average Danish shape, past my own face shape.
I created another morph sequence, just of my face, from the average Danish face (t = 0.0), to my face (t = 1.0), to my extrapolated face (t = 1.5):
I participated in a 23-person face morph: we each cropped our face to the same general cropping, defined correspondance points, and then ran our algorithm to generate 45 frames of morphing from the previous person in the sequence to us.
My face is at ~0:26 to ~0:28: Here's the video on YouTube