Andrew Millman, CS194-26 Project 4

This project involved "morphing" faces into each other. The underlying technique is affine transformations. By defining points on both faces, with each point on one's face having an equivalent point on the others face, we can find weighted averages of these points. Finding the Delaunay triangulation of the average points and using affine transformations to transform points from the source faces to the points in a "mixed" face for each triangle, we can develop a weighted average of the two faces. We can do this for many weights, until we get a morphing sequence from one face to another.

Morphing Sequence

I morphed my face into the famous basketball player James Harden's face. I included points that defined the shape of our beards.
Me
Poor James
Morph Sequence
We look good
Morph Sequence Halfway Point

Mean Population

I took the Dane dataset and morphed all the faces to the average face points, and the following was the result:
Average face
Random male
Male warped to average face
Random female
Female warped to average face
I then tried to project my face onto the mean face, and vice versa:
My face warped onto the average face
Average face warped onto my face

Caricature

I took the difference between the mean face points and my face points, and subtracted the result twice from the average face to produce a caricature face data points. I put my face on it, and here are the results. Sadly, I'm pretty sure I can make that face without this technology:
Average face warped onto my face