Project 4: Face Morphing

Jacob Holesinger, cs194-agj

Mid-Way Face

As we learned in lecture, the midway blend between two faces is oddly enough still a perfectly normal looking face in most cases. To create it, we first define a set of correspondences on our two images. These correspondences are used to break up the larger transform into smaller ones where the regions are similar enough for a cross dissolve to give a nice blend. The regions were defined by the Delaunay traingulation of the averages of the correspondeces. This way the region triangles are nice throughout the transfomration instead of the possibly streched triangles that could come if we computed the triangulation on either the first or second images. For each triangle region in the mid-way face to be formed, we compute the affine transformation between the mid triangle and each of the first and second corresponding triangles. Then after applying the respective transformations to the soruce and second image triangles, we simply average the results of both to arrive at the final middle triangle. After repeating this process on all triangles in the mid-way image we peice together the desired blend.


First Image
Secon Image
Mid-Way face

Morph Sequence

Instead of using an equally weighted average for the mid-way correspondence positions and triangle blending we can acheive different points along a spectrum between the two images by weighting them unequally. The following morph sequence was made by making 44 frames of weight starting from 100% of the first image and incrementing to 100% of the second.

Morph

Mean Face of a Population

Another interesting application of this image morphing algorithm is using the alignment it gives to get a clean average of a large data set of faces. Each face of the population can be warped into the average shape before all the morphed versions are averaged together. Below I used a dataset of Danish computer vision scientists. There are a couple examples of faces blended to the mean, as well as the population average.



Me Anotated
Average anotation over my face
Population Average
Me morphed to average

Charicature

Similarly to how I can morph my face into the mean shape, I can also morph it away from the mean. In a way this is emphasizing what makes me different creating a characature of sorts.


Happines is a Morph Away

For a Bells and Whistles addition, I decided to morph my unsmiling face into a smiling version using the data set of Danes. It ended up mostly just opening my eyes a little but eh, look a bit hapier.


Before
After