Compsci 194-26 Project 3

Nicholas Figueira

Overview

In this project, we explore morphing faces together through matching points, warping their shapes, and cross dissolving their colors.

Defining Correspondences

First, I chose to morph between my and my brother's face. First, I selected about 35 points on each face, plus the edges of the images, and used the Delaunay triangulation at the midway shape (points averaged between the two images).

Me!

My Brother

Computing the "Mid-way Face"

Next, I computed the midway face between the two images. This was done by averaging the points that I selected, finding affine transformations between the triangles from each image to that midway point, and warping each image to that. Then, we add the two images and divide by two to have each contribute half to the final image.

Me!

My Brother

Midway Face

The Morph Sequence

To create a gif that goes from my face to my brother's, we repeat the process from computing the midway face, but slowly moving the points from my image's to my brothers and using the corresponding proportion of the final color from each image as well. I used 46 images, and put them together in a gif.

The Morph

The "Mean face" of a population

Next, I computed the mean face from the dataset here. I did that by averaging all of the points, and then transforming the shape of each individual image to that average, before finding the average of all of those warped faces. I did have to remove a bunch of the images that included people looking to the side in order to create a better average. Here are a few faces warped to the average, and then the overall average face.

Average Face

I also warped my face into the shape of the mean face (which didn't work particularly well, probably because I was smiling widely and the average face was not), and the average face into the shape of my face.

Caricatures: Extrapolating from the mean

We can go even further than warping to the shape of the mean and go beyond that. We can use a greater than 1 proportion of the average face's points, or a greater than 1 proportion of my face's points, and compute a transform to that to exaggerate any non-normal features. My favorites from this part were the ones that exaggerated the difference between my face and the average's, because they gave me a funny smile.

alpha = 1.25

alpha = 1.5

alpha = 2

alpha = -1

alpha = -2

Bells and Whistles

For the bells and whistles portion, I took all of the women from the same dataset and foudn their average. I then warped and cross dissolved my face with that average woman to see if I would look more feminine. Here are the results with various proportions, and also showing the results of just cross dissolving and just warping. From left to right in the table, we have just color, just shape, and both. From top to bottom we have .75 me, .5 me, and .25 me.

Average Woman

Me again