Nicole Rasquinha

Computational Photography

Project 4: Face Morphing

Game of Thrones gif

About the Project

Project Overview:

In this project, I use triangulation, affine transformations and cross-dissolving to achieve cool face morphing applications including creating hybrids of two faces, creating morph sequences between images, computing the average face of a population, averaging and caricaturing faces using the population average, and changing the ethnicity of an image.

Project Approach:

The approach for this project involves hand selecting corresponding points on both images (i.e. the center of the eyes, the shape of the face, etc.) and importing both the images and the corresponding points to the program. From there, I choose a triangulation over the points in order to morph between corresponding triangles through an affine transformation. Solving for the affine transformation involves solving a simple system of equations, then using an inverse warp to fill in the pixel rgb values. Finally, now that each image has been morphed to the same shape, I can cross-dissolve their rgb values to obtain the final result.

Part 1 - Computing the Midway Face

Nicole Aishwarya Rai

Me As Miss Universe

Nicole + Aish


Part 2 - Morph Sequence

Let's make things a bit more interesting

Nicole to Aish


Part 3 - Mean Face of a Population

For this part of the project, I use the FEI Face Database (found here) to represent a couple different populations: I use the enitre set for an average face as well as select for the females for an average female face. I will show both results below. Note that the dataset is made up of Brazilian faces.

General Average

Average Face

Examples of Morphed Faces to the Average Shape:

Original image on left, morphed to average shape on right

Average Face Example

Average Face Example

Average Face Example

My face warped to the average shape (left) and the average face warped to my shape (right):

Average Face Average Face


Female Average

Average Face

My face warped to the female average shape (left) and vice versa (right):

Average Face Average Face


Part 4 - Caricature from the Mean

For this part of the project, I use the female average face to caricature my own face. In other words, I exaggerate my own "features" by finding the difference between myself and the average face, and then push my image even further from the mean along that distance vector. Here are a couple examples at varying intensity levels.

Intensity = 0 (No change)


Intensity = 0.25


Intensity = 0.5


Intensity = 1 (Double the distance from the mean)




Bells and Whistles!

I did three different bells and whistles for this project. Firstly, I participated in a classroom morph with a handful of my peers. Secondly, I manipulated the ethnicity of my own face using some averages found on the Internet. Lastly, and my favorite of all, I created a Game of Thrones themed morph sequence!


1. Classroom Morph

The full video can be found here. I created the following gif.

Me to Anaga


2. Changing Ethnicity

I would like to change my ethnicity to be more "Russian" using this average image.


First, notice what happens when I just change the shape (left) or just cross-dissolve the colors (right).


Looks weird, right? But if we find a good balance between morphing the shape and cross-dissolving the colors, we can get a great result! In this example, I morphed the shape 50-50 and the color 75-25 (to preserve mostly my own color)



More Examples





3. GAME OF THRONES!

Now for the moment you've all been waiting for...

Game of Thrones gif

For full enjoyment, please click here!