A morph of two images is essentially a warp of the images' shapes and a cross-dissolve of the images' colors.
I created a little script to define corresponding points in each image, so that I can use the points to build a Delaunay Triangulation.
Using the Delaunay Triangulation, I computed the affine matrix which transformed each input triangle to the corresponding average face triangle, then inverted the transformation to obtain the warped points. I then cross-dissolved the pixel colors at the warped points from both images to produce a morph.
Average Face of a Population
In this part of the project, I used a subset of 37 images from the IMM Face database to find the average face in the subset.
1. Average Faces
There were more men than women in the subset, which is why the average face of the entire subset looked more male than female.
2. Faces in the subset morphed into the average face
3. My face to the average population faces
I created caricatures of myself by extrapolating from the population average face and the average female face.
Bells & Whistles
1. Gender swap!
Girl to Average Danish Male
Guy to Girl