CS194-26: Image Manipulation and Computational Photography

Sping 2020

Project 3: Face Morphing

Prince Wang

Overview

In this project I implemented the following tasks:

  • face morphing: morphing my face into another person's face
  • mean face of the population: computing the "average" face of a population
  • mean face transformation: Transforming my face into the shape of a population's average face, and the other way around

Part 1: Defining Correspondences

For achieve a good result for face morphing, we need to segment our faces into pieces of triangular. This is so that we can compute the transformation of our faces to some other space piece by piece. That is, for all triangular meshes, we compute how each mesh transforms into the corresponding mash of another face, and then we piece the transformations together.

We start of by labeling the points on our face, capturing areas with important face features.

my face
face of George Small

Then we sperate the images into smaller meshes by performing Delaunay triangulation:

Part 2 & 3: Computing the "Mid-way" Face & The Morph Sequence

Now we can perform face morphing between my face and George's face:

Our midway face
morphing

As we can see, the midway face is a product of both my face and George's face warping into an average face shape, with pixel values combined. It looks quite effective.

Here is another example of my face morphing into Lionel Messi's face:

Me
Lionel Messi
Our midway face
morphing

For this morphing I tried a picture of mine with a white background. Notice how similar background color tends to produce better results.

Part 4: The Mean Face of a Population

We are also interested in what the "Midway" face will look like for multiple people, say a population. Here I computed the mean face of two population from two data set:

the IMM Dataset

Photos of the Starting XI of FC(Football Club) Barcelona

The "Average Face for this dataset
Luis Suarez
Nelson Semedo
Lionel Messi
Arthur
Sergi Roberto
Gerard Pique
Sergio Busquets
Marc-Andre ter Stegen
Antoine Griezmann
Jordi Alba
Frankie De Jong
The "Average" Face of FC Barcelona

I played around somemore with face morphing here.

Shape of my face and Barcelona's average

My Face
Barcelona Average

Morph my face into the shape of Barcelona average face

Morphed Face
Barcelona Average Shape

Morphing Barcelona's average face into the shape of my face

Morphed Face

Part 5: Caricature

Morphed Face

I used (1.4 my_face + 0.6 barcelona_mean_face) for this extrapolation

Bells and Whistles: A FC Barcelona morphing video with music