Face Morphing

Matthew Hallac

Overview

For this project, I used images to demonstrate transformations and different image operations. I computed the average between two faces, created a morph from one face to another, computed the mean face of a population, and extrapolated from the mean to create a caricature of myself. Enjoy!

Defining Correspondences

The first step required to do more interesting things with the faces is to define correspondences marking specific points on images. I did this using the cpselect library in python, and selected control points by hand. Once the faces were labeled, I used a Delaunay triangluation on the average of two images to generate a triangluation that could be used to compute morphing and other operations between those images.

The Mid-way Face

To find the mid-way face, we have to take the average shape of two faces, warp both faces into that shape, and average the colors together. Here is the average face between President Obama and Taylor Swift:

The Morph Sequence

Instead of calculating the mid-way point between two faces, we can use a weighted average to calculate various points in the morphing sequence. If we calculate the weighted average face for a linear set of weights and play them in sequence, we can create a morph video from one face to another! Here is the transition from Obama to Swift

The Mean Face

Given a set of labeled faces, we can warp the shape of each one to the average and then take the average color to find the average face of the population. I did this using this data set of Danish computer scientists. Here is an image of all of the initial faces:

Here are all the faces warped to the same shape:

Finally, here is the average face:

Caricatures

If I take the deviations of my face from the mean calculated above and excentuate them, I can create a caricature. Here is a set of caricatures of each of the faces above:

Bells and Whistles

Transitions of the whole class music video

After working with 15 others in the class, we created the video here by having each student do a transition from their face to the next face. Enjoy!