Project 3: Face Morphing!

Anuja Lohia

Overview

The goal of the project was to get familiar with morphing faces using affine transformations and triangulations as well as calculating the mean face of a population.

Part 1: Morphing Sequence

First we define correspondece points on both the faces manually. I have created exactly 49 correspondence points on both images keeping the order constant. Then we construct a Delaunay triangulation mesh which is shown below.


Midway Face : Next we compute the affine transformation of each triangle to the average shape for both images and cross dissolve them to get the midway face as shown below.


We change the warping and cross dissolve factor and repeat the process above for 45 frames to create a slow transition between the morphing of one image into the other.

Part 2 : The Mean Face

Here we find the mean face of a population of Danish computer scientists by finding the average shape, morphing each image to that average shape and finding the average of all the morphs.


Here are some examples of other Danes warped to the average face:

Next, I warped the average danish computer scientist to my face and my face shape to the average danish computer scientist face. The results are as shown below.


I made a caricature of myself using the equation: myShape + alpha * (danishShape - myShape) and an alpha value of 1.5. The result is as below:

Bells and Whistles

For bells and whistles I morphed my face into that of the average tibetan man. The images are: Average Tibetan man, Me, The shape morph, the color morph using cross dissolve, and the full morph.


Conclusion: This project taught me some very great image processing skills. Learning the math and the code behind face morphing and creating caricatures and finding the mean face of a population was all quite interesting!