CS 194 Project 3:Face Morphing

Kenny Huang

Overview

In the project, I will produce a "morph" animation of my face into someone else's face, compute the mean of a population of faces and extrapolate from a population mean to create a caricature of myself.

Defining Correspondences & Computing the "Mid-way Face"

The two original images I used for this part are myself and the the most handsome man in the world, George Clooney.

In order to create a morph between myself and George, we need as many pairs of references as possible. I choose around 60 pairs of Correspondences points (starting from eyes, noses, ears etc). With these points, I am able to create a mesh or so-called triangulation for both of the images. The method I used to calculate triangulation is called Delaunay triangulation. After the "geometry" of myself and George are created, it is time to create a mid-way face. The new points in the mid-way image is the average of points of the two original images using method called affine warp for each warped triangle. And the color for the mid-way image is the average of colors of the two images using a different method called cross-dissolve. And the results are the followings:

Morphing Sequence

And finally after about 40 mid-way faces, we have this awesome morphing!

The "Mean face" of a population

In this part, the goal is to compute a mean face of a general population. Here I use the data from Danes dataset of 40 different people.

Danes dataset

And here are some example data:

And here is the mean face of the 40 data:

Next part is to show my face warped into the average geometry of the mean face. In order to do this, I first align the two images:

Then using the similar approach as in the morphing part above, I created the geometry of shape of these two aligned images:

Finally, I created two images, one is the image of myself warped into the geometry of the mean face. The other is the image of mean face warped into the geometry of myself. And the result is expectedly hilarious.

And here is another example: the warping of the example 1 into the shape of the mean face. As we can see, the man in the output image becomes more serious!

Caricatures: Extrapolating from the mean

In this part, the goal is to create a caricature of myself by extrapolating from the population mean of the Danes dataset. The multiplication factor I used for the example below is 0.5.

Bells and Whistles

Lastly, thanks to the collective effort, we created a super cool class morph video. Here is the link!

super cool class morph video!!