Project 3 Face Morphing

Anbo Cao

Overview

In this project, we use many technics to transform one person's image into another person. This process is called face morphing. A simultaneous warp of the image shape and a cross-dissolve of the image colors.

Defining Correspondences

The first step for morphing pictures is to find the correspondense points of the images. This can be either done by hand, or use other image processing algorithems to find the correspondences automatically and accurately.

Computing the "Mid-way Face"

Once we have the correspondence points for two images, we can calculate the midway face of two different images. To avoid vising pixel to pixel We proceed by triangulation(Delaunay triangulation for my case) to build a triangle mesh. Then for each triangles from original picture to the transformed picture. We find the mid-face by finding the Affine transformation matrix.

Once we find the transformation matrix, we can easily compute the resulted mid-way face of two images.

Picture of myself Mid-way Picture of my friend

The Morph Sequence

We can repeat this process to compute a sequence of tranformations from picture A to picture B. Changing the warp_frac and dissolve_frac from 0 to 1. Once we have the sequence we can make a simple gif:

The "Mean face" of a population

Instead of only morphing two people, we can morphe entire populations together to obtain the mean face of a specific population. In this case, I use Danes' dataset and choose all the male images to find the "mean face" of the population.

Original Face Warped to average male

We can observe that most of the cases their face get centered to the middle and their facial features(mouth, nose, eyes, and elbow) all gets aligned to the average positions.

Mean face of all males My face warped to average male Average male warped to me

It is worth to noting that although the images are same size and same resolution. But the ration is different so in general it make my face gets larger and the average male face gets a smaller face.

Caricatures: Extrapolating from the mean

To get the caricature of my face, I calculate the different of shape between me and the average male. Then I warp my face with my own shape plus half of the difference to get a caricature of myself.

My face Caricatures

The caricature is much more nature than the picture that directly warp my face into the average male since it extrapolating my shape just by a factor of 50%.

Bells and Whistles

Change emotions

The Danes' dataset come with images with different emotions, especially smiling faces. Thus I use the similing face's shape as the shape to warp my emotion

Fake smile Souce of smile

The long chin of the photo made me smile a little bit too much.