CS 194-26 Project 4

Jason Zhang (zhang.j@berkeley.edu)

Project Spec: https://inst.eecs.berkeley.edu/~cs194-26/fa18/hw/proj4/index.html

Creating a Morph Sequence

In this part, I generated a morph animation between my face to another person's face.

I began by defining feature correspondences between two images. Using these feature correspondences, I computed the Delaunay triangulation for both images as shown below.

alt text alt text 

After computing the “mean shape”, I computed the affine transformation mapping each triangle to the mean Delaunay triangulation to produce the following mean warps:

alt text 

From left to right: OG pic of Jason, OG pic of Jason warped to mean shape, OG pic of Donald warped to mean shape, OG pic of Donald.

Now, I can simply average the warped images to produce the “Mid-way Face”:

alt text 

By varying the magnitude of the shape warping and cross-dissolve, I produced this warp sequence:

alt text 

Mean Population

I used this freely available dataset of Danes to compute average face by morphing each face to the average face shape and then cross-dissolving.

alt text 

Here are some examples of faces from the dataset morphed into the average shape.

alt text 
alt text 
alt text 
alt text 
alt text 
alt text 
alt text 
alt text 

Here's my face warped to the average geometry and the average face warped to my face's geometry. It doesn't look very good unfortunately. Perhaps I don't look very Danish.

alt text alt text 

I also produced caricatures by extrapolating from the population mean. They don't look very good because I don't look Danish at all.

alt text 

From left to right: Alpha = -0.1, -0.5, -0.9.

Changing my gender

Based on my results with Danish faces, I decided to try my luck with Chinese faces to which I would hopefully look more similar. Here are the faces of the average Chinese woman, the average Chinese man, and myself.

alt text 

Just as a quick sanity check, I recomputed the caricatures using the average Chinese man:

alt text 

From left to right: Alpha = -0.1, -0.5, -0.9.

These caricatures look pretty similar to the Danish caricatures (apparently I have a sharp chin, large forehead, and massive ears compared to any population), but at least my facial features look a lot more realistic.

Now back to gender reassignment.

I attempted to change my gender by converting all faces to mean geometry, and adding the difference between average female face and average male face:

text{Jason}_F = text{Jason}_M + (overline{text{Chinese}_F} - overline{text{Chinese}_M})
alt text 

From left to right: Jason as a male, Jason as a male warped to mean geometry, Jason as a female still in mean geometry, Jason as a female began in original geometry.

Female Jason looks remarkably similar to male Jason. I think maybe female Jason has redder lips and a rounder jaw line and thinner eyebrows.