Project 4: Face Morphing

Ashley Chen

Morph Sequence

The assignment was to create a morph sequence between two faces, showing each 'in between face' in series to create a gif. Morphing two faces requires two aspects: warping the shape and cross dissolving the color. To warp the shape you choose corresponding points on each picture, find the midpoints between those points, and define a triangulation (the same one) on the midpoints.

Then, for each corresponding triangle, you compute an affine transformation that will warp the source triangle to the target triangle. Then you can apply this transformation to each pixel in the triangle to get the new shape. I computed the inverse transformation (target to source) and used that to compute which pixel in the source image to copy to the pixel in the target image. To cross dissolve, you warp both picture 1 and picture 2 to the midpoint shape, then take the average of the color values at each pixel. This results in an image that is halfway between picture 1 and 2.

Below is the morph of my friend Lucy into me. I specifically chose Lucy because I think she looks a bit like me so the morph is very smooth.



Average Face

To find the 'mean face' of a population, I took the dataset of Danes and averaged their faces through morphing, to see what features are common between all faces. The result is a very clean face. One note is that the face looks more male than female, because the ratio of male to female photos was 33 to 7. I used the happy face to show what the average happy Danish face would look like. Another note is that because the hair and clothes varied wildly between photos, these appear very blurry in the averaged picture.

0.5 mm

Below is a morph of an in dividual Danish person into the mean happy Danish face geometry, my face morphed into the mean geometry, and the mean face morphed into my geometry.











Caricature

To do a caricature, I subtracted the mean face from my own to get the features of my face that made me more "me". Then, I took that result and added it back to the original, multiplied by a factor.