The Morph Sequence.

First, we had to define pairs of corresponding points on the two images we wanted to morph. In Python, we can do this by using ginput. Before we created our entire morph sequence, we started with a basic midway point, where each image is weighted evenly (weight = 0.5) to create our output image. To do this, we needed to find the midway shape between the two faces. We took the average of the corresponding points from both images and found the triangulation, using the Delaunay approach, based on the average points.

To produce the morphed image, we calculated the affine transformation matrices for each triangle from the triangulation. Points that fell into a triangle were multiplied by the corresponding transformation matrix in order to find where it was mapped to between the source and target images. This created a warped image with the average shape of the two faces. We then took the average colors from the warped faces to output the morphed image into the midway face.

To create the morph sequence, we follow the same steps as above and create multiple frames, except each image is not weighted evenly (0.5) for each frame. Instead, we pick a t, such that it falls within [0, 1]. We then weight the first image by t and the second image by (1 - t). I chose an initial value of 0 and incremented by 0.022 until t = 1 to create about 45 frames for the morph sequence.

We can see that I didn't do a great job aligning their ears and their hair. Below, I tried to morph myself with Lizzie McGuire. The background of the images didn't go very well together.


The "Mean Face" of a Population.

I used the Danes dataset, where the participants expressed a "happy" expression. To find the average shape, we just took the average of the sum of all of the corresponding points. To find the average face of the population, we needed to morph each of the faces into the average shape (this process is explained in The Morph Sequence). Then, we took the average of the colors in the morphed faces to produce the average face!

The "Mean Face"

Morph Sequence

Image 14-2f

Image 14-2f Morphed into Average Shape

Image 20-2m

Image 20-2m Morphed into Average Shape

Image 07-2m

Image 07-2m Morphed into Average Shape

My Face Warped into Average Shape

Average Face Warped into My Face Shape

Caricatures: Extrapolating from the Mean.

To create a caricature, we bring one image further away from the other. We can do this by finding the difference between the corresponding points from my face and the mean shape. Then we add the difference multipled by some factor back to the mean shape and warp my face to this new shape.



Original

Caricature of Me (alpha = 1.6)

Bells & Whistles: Changing Gender / Ethnicity.

I found the average image for Vietnamese females online, and I morphed it with an image of Daniel Radcliffe.

Daniel Radcliffe

Average Vietnamese Female Face

Daniel and the Vietnamese Female: Color

The images are morphed together only by averaging their colors together. We can see that they didn't morph very well, especially since their facial features are completely misaligned.

Daniel and the Vietnamese Female: Shape

Daniel's face is warped to the average Vietnamese female shape. We can see that his nose has widened and his lips look more feminine. However, his lips are shaped oddly due to the fact that the female face smiles with teeth, whereas Daniel is close-mouthed. Despite these changes, he still doesn't look female or Vietnamese.

Daniel Morphed into the Vietnamese Female

Here, we combined both the change in shape and the coloring. The color of his skin is definitely more reminiscent of an Asian's skin tone and his eyes are much darker as well. His facial structure is also a lot less angular (more round), which also is more of both an Asian feature and a feminine feature.

Daniel and the Vietnamese Female (alpha = 0.5)

Here, instead of morphing Daniel into the shape of the Vietnamese female, I found their average shape and morphed him into the average shape. This gave a more natural looking face.

Daniel and the Vietnamese Female (alpha = 0.3)

By weighting the Vietnamese female face more heavily (0.7) than Daniel (0.3), we can see more of the feminine and Asian features.

Bells & Whistles: Themed Morphing.