Defining Correspondences
Here, I morphed myself into my sister, Jessica. I started by defining 52 matching points for both the input and
target image. Then, I calculated the mean of the two point sets, which I used to compute a Delaunay
triangulation at a midway shape. Choosing the mean points allows me to lessen the potential triangle
deformation for either image.
Me
Jessica
Me with points
Jessica with points
Mean Triangulation
Computing the Midway Face
Next, I created the midway face. For each triangle in the mean triangulation, I calculated the affine
transformation matrix between the mean triangle and the corresponding points given to each image. This is used
to implement an inverse warp that can be used to warp the faces from both images into the mean shape. I can also
interpolate the pixel values between the two warped images to create a midway face.
Morph Sequence
Once I was able to get a midway face, I can shift the weighting for both the shape warping and the pixel color
interpolation to get a series of images/frames, used to produce an animated face morph.
The Mean Face of A Population
I applied the same method used to create a midway face between two people in order to create a "mean face" of a
population of people (or of multiple images/points from a dataset). Here, I use all the male forward-facing
images from the Danes dataset to compute an average male face shape.
The dataset only included points around the faces, so I had to add four corner points to each image in order to
preserve the background/surrounding head. This resulted in very wonkily warped heads/backgrounds.
Some examples of some faces in the dataset shape-morphed into the mean-image:
Original Image
Warped Image
Warped (Just Face)
Original Image
Warped Image
Warped (Just Face)
Original Image
Warped Image
Warped (Just Face)
I also morphed my face into the average shape:
Original Image
Image with points matching dataset
My face warped to the average geometry
The average face warped to my face's geometry
Because of the dataset's exclusion of points beyond just the facial features, the parts around the face
(forehead, hair, body/neck, background) ended up very wonky. I also included images that isolated the face (to
remove the distracting wonkiness).
My face warped to the average geometry
The average face warped to my face's geometry
Extrapolating from the Mean
I also produced a caricature of my face by extrapolating from this mean male population. In this case, I weighted
the shape average of the average male population at 1.5 and weighted myself at -0.5.
Extrapolated
Extrapolated (Just Face)
Bells and Whistles
Even though I am Vietnamese, I'm often told that I don't look very Vietnamese. I used an image provided by
faceresearch.org to morph myself more towards an average Vietnamese female.
Original Image
Average Vietnamese Female
Morphed to Shape/Geometry
Morphed to Appearance/Color
Full Morph
I also tried doing the same with an average Brazilian female:
Average Brazilian Female
Morphed to Shape/Geometry
Morphed to Appearance/Color
Full Morph