CS194-26 Project 4: Face Morphing

By: Jia Ze Yu

Date: 2018-10-18

Defining Correspondences

First, I use ginput to plot 68 points on each image that define the facial features of the subject.


Takeshi Kaneshiro

Young Emma Watson

Old Emma Watson

Computing the "Mid-Way Face"

I compute the average shape, i.e. the average of each keypoint location in the two faces. Then, I warp both faces into that shape, and average the colors together. To do this, I implement an affine warp for each triangle in the triangulation from the original images into this new shape by computing an affine transformation matrix between two triangles.

Me and Takeshi



My midway face

Takeshi's midway face

Combined midway face

Young and Old Emma Watson

Young Emma

Old Emma

Young Emma's midway face

Old Emma's midway face

Combined midway face

The Morph Sequence

I produce a warp between im1 and im2 using point correspondences defined in im1_pts and im2_pts (which are both n-by-2 matrices of (x,y) locations) and the triangulation structure tri . The parameters warp_frac and dissolve_frac control shape warping and cross-dissolve, respectively. I first warp images im1 and im2 into an intermediate shape configuration controlled by warp_frac, and then cross-dissolve them according to dissolve_frac. For interpolation, both parameters lie in the range [0,1] which vary from frame to frame in the animation. For the starting frame, they both equal 0, and for the ending frame, they both equal 1.

Me + Takeshi

Young Emma + Old Emma

The "Mean Face" of A Population

I first compute the average face shape of the whole population. Then, I morph each of the faces in the dataset into the average shape.

Man sample


Warped to average shape

Woman sample


Warped to average shape



Warped to average shape

Mean face without me

Mean face with me

Caricatures: Extrapolating from The Mean

I attempt to produce a caricature of my face by extrapolating from the population mean I calculated in the last part.

Original Mean

My face as extrapolated from the mean

I also tried to extrapolate my face from an indian female and I got this interesting result.

Original Mean

My face as extrapolated from an indian girl

Bells and Whistles

"Our lives are not our own. From womb to tomb, we are bound to others, past and present, and by each crime and every kindness, we birth our future."

I made a music video that showcases the morph sequence of the characters in the movie "Cloud Atlas". Interestingly, there are only 10 actors/actresses for this sequence of 20 characters. See if you can spot which characters are performed by the same cast!