In this project, I produce a "morph" animation of my face into someone else's face. I also compute the mean of a population of faces and extrapolate from the population mean to create a caricature of myself.
I begin by importing two images, one of me and one of Jennifer Lawrence.
My face |
AOC's face |
I use the previously defined aligning method that was provided to us in Project 2 to align and reshape the images into the same measurments. I then manually inputted 25 corresponding points on each image that will be used to create a triangulation of the image for morhping purposes
First, I computed the avergae shape. This involved going through each corressponding points for the images, and calculating the average bewteen the two. Then, I compute the triangulation from the avgerage points and get coressponding points on each image. Then, I calculate the transformation matrix bewteen the mid-way point and the original image, apply this tranfomration on each triangle to attain the warped image, and finally interpolate the color pixels from original image to get the color of the warped picture.
Mid-way face |
To get the morphing sequence, I created 30 frames, iterating over a warp_frac, which affects the shape, and a dissolve_frac, which affects the the color.
Morph video |
I computed the mean face of females' straight faces from the Danes dataset. I then morphed my face to the mean face, and the mean face to my geometry.
Mean Face |
Face 1 |
Face 2 |
Face 3 |
Face 1 Morphed |
Face 2 Morphed |
Face 2 Morphed |
My face morphed to mean geometry
Mean geometry morphed to my face
To produce a caricature of myself I used the average points calculated above and then extrapolated from those by computing a new set of points, caricature points.
Caricature |
One: Different Gender
Morphing Just Shape |
Morphing Just Appearence |
Full Morph |
Two: Different Facial expression
Morphing Just Shape |
Morphing Just Appearence |
Full Morph |