""" Created on Fri Oct 19 19:18:27 2018 @author: woysh """ Kyla Woyshner | CS 194-26

Fall 2018

CS 194-26: Image Manipulation and Computational Photography

Project 4: Face Morphing

Kyla Woyshner, cs194-26-agr


The goal of this project was to morph one face another face gradually. First I have to define corresponding points between the two images. For example, I can say that the point indicating the location of the left pupil in the first image will correspond to the point indicating the location of the left pupil in the second image. Next I compute a Delauny triangulation of the average points between the two images. From there I can transform each triangle separately to create the warped image. We can create images that are more or less warped depending on the point we choose to warp to and how much we weight each image when calculating the pixel values.

Computing the Mid-Way Face


To calculate the midway face, I calculated the average of each corresponding point. These new points represented the average shape of the two images. From there I warped both images into the average shape and averaged the pixel values of these two warped images.

Image 1
Image 2
Mid-Way Face

The Morph Sequence

To create a smooth animation of the morph of one face into another, I followed the same steps as the previous part, but altered the ratio used for the warp shape and cross-dissolve. For the median face, I warped both images to the average shape of the two images and calculated the pixel values with the average of the two pixels. Now, however I will weight the images differently. I created 45 frames total. For example, the beginning frames were weighted more heavily towards Image 1. Both images were warped to a shape more representative of the Image 1 and the pixel values of Image 1 were weighted greater. The middle frames had an increasingly equal ratio between the two images, and the final images were more heavily weighted towards Image 2. By stringing these images together we can see a smooth morph of one image into the other.

Full Morph

The Mean Face of a Population

For this part I used the Danes dataset of just smiling faces. I first calculated the average shape of all of the images. I then warped each image in the dataset to the average shape. From there I calculated the pixel values as an average of all of the warped faces.

Some sample images from the Danes dataset, warped to the average face shape.

The Mean Image
Picture of me
My face warped to average geometry
Average face warped to my geometry

Caricatures: Extrapolating from the Mean

A caricature is an image of someone with exaggerated features. In the last section I warped my face into the average geometry, but for this part I will warp my face away from the average geometry. I calculated the new face shape by positively weighting my face shape and negatively weighting the mean face shape. This will exaggerate the characteristics that are not part of the mean face and are thus unique to mine.


Bells and Whistles

Participation in this mass morph

Me and some friends