Project 2: Face Morphing
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
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
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
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
only shape / mean face / only appearance
Morphing in sequence
Have fun with morphing photos through coding!