CS 194-26

Project 4: Face Morphing

Rosa Choe


In this project, we will use linear transformations to morph faces onto each other.

Part 1: Defining Correspondances

Before we can morph two images together, we need to define points that should align to each other on each image, since the position of facial features won't align perfectly in the original images. Once we've defined points, we will triangulate them, meaning we will connect the points into a triangular grid, which we will use later to perform local morphs. In order to alleviate the creation of oddly-shaped triangles, we compute the Delaunay triangulation on the mid-way points, which is made up of points that are the average of each point for the two images.

Me George Clooney
Input Images

Computing the "Mid-way Face"

Now that we have our corresponding triangles, we can apply an affine transform to each triangle to create the morph. First, we will create a morph to the mid-way face, which is halfway between each image. We do this by morphing each face to the mid-way triangulation, and then taking the average of the two resulting images.

Me George Clooney Mid-way Face

The Morph Sequence

We can make an animated gif morphing from one face to the other by repeating the process for the mid-way face, except with varying proportions of each image. We start with `100%` of image 1 morphed to the triangulation that is `100%` from the points of image 1, then gradually lower the proportion of image 1 while increasing the proportion of image 2, taking the weighted average of the points as well as a weighted average of the 2 transformed images.

The "Mean Face"

Using the same method, we can average across more than 2 images. In this section, we will be using the annotated face data from the FEI Face Database to compute the average Brazilian female face.

This is the resulting average of the smiling, Brazilian females.

Me Average Brazilian Female My Face Warped to Average Brazilian Face Average Brazilian Female Warped to My Face


In the previous section, we morphed my face into the shape of the mean reference points of the Brazilian females. However, we can also extrapolate the extreme characteristics of my face by weighting the points on my face at values greater than 1 while weighting the average points at negative values. This leads to a caricature such as the one below.

my face weight: 1.5, avg face weight: -.5

We can see that this resulted in my eyes becoming even smaller and my teeth becoming even bigger than they actually are.

Bells and Whistles: Changing Gender and Ethnicity

Combining the methods in the previous section, I morphed my face into the face of the average African American male.

Me Average African American Male Just Shape Just Appearance Shape And Appearance