Face Morphing

Daniel Edrisian

3033649753

edrisian@berkeley.edu

In this project, I will be morphing my face onto Mark Zuckerberg using triangulation and inverse warping techniques learned through lecture. All of the code is in main.py.

Input:

Me: Zuck:

First, I selected the feature points on the faces.

Me: Zuck:

Then, we find the average of the points so that we can find a triangulation that matches both pictures well.

Me: Zuck:

Then, we apply Delauney's algorithm to find the optimal triangulations.

Me: Zuck:

Then, we apply inserve warp on the images to see the midway faces of me and zuck:

Me: Zuck:

And combined on together, we see the middle image in our morphing sequence:

Combined:

Finally, we do the process for 45 frames, and generate this GIF:

Mean Face of Population

I didn't get to doing the average faces of Danes. I've been going through family loss and grief. I'm sorry.

But averaging the faces after morphing them should look something like this:

Caricatures

Using PCA on the delta between the mean faces of a population and an input face, we can extrapolate principle components for things such as gender and expression. Then, we can move the image along these axes to make them more female/male or happy/sad.