CS 194-26: Face Morphing

Amol Pant

Overview

To begin with, I use me (Amol Pant) and George Clooney as the 2 faces that will be morphed. I will attempt to morph my face onto George's.
Amol George
Bruh Bruh

Defining Correspondences

I personally chose 46 feature points and by hand defined them. On top of that I added 4 corner points for a total of 50 feature points for each image. Then I use Delaunay triangulation to create a set of triangle simplices for each image based on the average point locations of each image. Here are the results.
Amol and George triangles
Bruh

Computing the "Mid-way Face"

We now merge the 2 images by calculating the average shape of the two images and then warping each of their features to that average feature using affine warps on each simplice triangles. Then we Merge the appearance of each image to get our average image.
Amol and George Mid Way Face
Bruh

The Morph Sequence

Amol and George Morph
Bruh

The "Mean face" of a population

I took the image database from the FEI database (https://fei.edu.br/~cet/facedatabase.html) which contains several grayscale images of people smiling and not smiling along with some corrosponding points as features (same format as specified above.) I extract the images and the corrosponding points for each image. Here is and example of the extraction on one of those images.
Annotated Smiling FEI face
Bruh

We now can extract some specific kinds of images (smiling, normal, man woman) and find the averages of these images.
I personally am finding the average of ~50 images for each category.
50 Non Smiling People Average 50 Smiling People Average 56 Non Smiling Men Average 30 Non Smiling Women Average True Average of 100 Images (50 Smiling 50 Non Smiling)
Bruh Bruh Bruh Bruh Bruh

We can also take some random images and show what they look like morphed to the average of a subclass of faces.
(Example: take a smiling man and morph to the average smiling man)
Smiling man warped to average smiling person Smiling woman warped to average smiling person Normal man warped to the average man Normal woman warped to the average woman
Bruh Bruh Bruh Bruh
Something to observe is that the warping and average works horribly with teeth, as there are no features to distinguish teeth and lips.
Now we can show the mean image that we got, as well as 1) My face warped into the average geometry, and 2) the average face warped into my geometry.
My face warped to the average face Average face warped to my face
Bruh Bruh

Caricatures: Extrapolating from the mean:

Now, we use some warp fraction of less than and greater than 1 when morphing me and the average Brazilian to get some caricatures of my features compared to the average.
Original Less Caricature More Caricature
Bruh Bruh Bruh

Bells and Whistles

Change age/gender/ethnicity/smile/etc of your (or your friend's) face. I use the average Brazilian Female face to change my ethnicity and gender. I show morphing just the shape, just the appearance, and both.
Original Just the Shape Just the Appearance Both
Bruh Bruh Bruh Bruh