CS 194-26

Project 2: Face Morphing

Zhimin Cai

Part 1: Defining Correspondences

1.1 Correspondence point and Triangulation

gradient magnitude image

gradient magnitude image(threshold)

After getting the mean geometric points, we can calculate Affine transformation matrix using the points in mean triangles to their corresponding original triangles through solving linear equations. With the Affine Transformation matrix, we can map points inside each mean triangle to the points on the original triangles. As a result, we can move these pixels around to get the face with mixing features.

For morphing between two images continuously, we need more intermedium faces to show the process. As we use alpha = 0.5 to get mean face, we need to get faces that use alpha within range [0, 1]. On each frame, we can get a face that has alpha faction of one face and (1- alpha) of the other face.

Part 4:  The "Mean face" of a population

Part 3:  The Morph Sequence

Part 5:  Caricatures: Extrapolating from the mean

Extra (Bells and Whistles) 1:

Marvel’s morphing movie

We want to morph faces accoding to features, so we need to label where these feature points on the each image in same order. Then, we can calculate mean of these triangles which composed to mean shape of the faces.

Delaunay Triangles on mean shape

Mean face

Part 2:  Computing the "Mid-way Face"

Face Morphing 50 frames

I use a data set from FEI Face Database to get face images and their corresponding annotation points. With these corresponding points, I can calculate mean points and run Delaunay triangulation. Then, we can calculate Affine Transformation matrix from each images to mean shape. With the same idea, we can map pixels proportionally from original images to mean face.

I did experiment to output mean face with 20 images and 200 images, and realized the mean face from 200 images are more blurred, but the mean face from 20 images has more overlapping that are noticeable.

Mean face of 20 images

Mean face of 200 images

alpha = -0.3

alpha = 1.6

alpha = 1.4

alpha = -0.6

Mean face triangles

face triangles

Corresponding feature points

provided by FEI face database

Since the points given do not include features on hair area, so when I map from mean face to my geometric shape, some features spreads out. This can be fixed if we recreate feature points to have points around hair area. Overall, the faces are successfully transformed to desired shape.

My face to Mean face

Mean face to My shape

Samples map to Mean face shape

new faces

original faces

Captain America


Iron Man

Joker Avenger

Extra (Bells and Whistles) 2:

. Morphing Music Video of Students in the Class ( Participant)

My face  (Zhimin (Jimmy) Cai, Number 3)


Extra (Bells and Whistles) 3:

. Changing Age of a Face

original faces

only shape / mean face / only appearance

Morphing in sequence

Have fun with morphing photos through coding!

Corresponding points