Project 4: Face Morphing

Brian Kooperberg

Morphing

In this project we morph faces. We do this by both warping faces and then cross-disolving the images. To warp our pictures we find the mid-way points for the matching features we selected then we get the delaunay triangles. We then compute inverse affine transformation matrices for each of the triangles so that way we can populate the resulting picture from the two original pictures. From there we use a factor to make cross-dissolve the warped images. We change this factor and a warping factor over time to give a better morph.

Morph between me and Neymar



Midway Image





Average Faces

For the second part of the project we need to find a population average. I decided to find the average male Danish face in this part. To do this we first average all the points and again find the delaunay triangles for this. Then we warp all the faces to these triangles and weight them all so they are all the same weight in the final picture.



Average male Dane



I also warped my face to the average Danish facial shape. The problem with this is there were no points on the forehead. So I added a buffer to the picture of myself but everything above the eyebrows still looks very strange. I also changed the shape of the average Dane to the shape of my face.



Before I added a buffer

After I added a buffer

Average Dane to my facial shape



Caricatures

To find the caricatures of myself I needed to extrapolate the difference between myself and the average Dane. From what we can see below with an extrapolation of 2 and then 3 my face is a lot chubbier than the average Dane.

Bells

For the extra part I morphed myself with an average american white female.

Average female

me