In order to morph two faces together, I labeled keypoints on two images. I then took these associated keypoints and created a triangulation from the mean of these points. The half-way face is then a combination of the two images, morphed to the average triangulation.
Here is an example of the triangulation from the keypoints.
The results vary very heavily on how well the keypoints were labeled and how many I added to the images. In addition, images that were less aligned and with different hairstyles seemed to look less smooth.
![]() |
![]() |
![]() |
|
![]() |
![]() |
![]() |
|
![]() |
![]() |
![]() |
|
The keypoint morphing algorithm also allows us to compute the mean face of a set of images. I created an average image from the males of the Danes dataset. Here is the result.
![]() |
![]() |
![]() |
|
![]() |
![]() |
![]() |
![]() |
Using the average points from the previous part, I now create a charicature of my own face by extrapolating from the mean.
![]() |
![]() |
![]() |
![]() |
Here is a morph of me from death glare to smiling.
![]() |
![]() |
![]() |
|
Here's a morph of my entire family.
Original Photos
![]() |
![]() |
![]() |
![]() |
![]() |