Mid-way face
Face morphing involves both warping the colors and the shape of two pictures. We define the shape using points, the correspondences, which are selectively chosen to sort of frame the face. I then averaged the points from both picture A and picture B and created a map of each picture by using a Delaunay triangulation, which uses these points and creates the map of triangles.
I have the two original images here, one of me and George Clooney. To compute the mid-way face, we need to be able to map the triangles in the two pictures to each other, which is done through an affine transformation. To actually blend the photos together, we do this for every triangle in both of the pictures and use inverse-warping to average the values of the pixels for each pixel in the target triangle. By using different weights on the shapes and values of either of the images, we can create different mid-way faces for the two images.
Mid-way face
To create the morph sequence, I defined a function that would generate 45 frames with slowly increasing weights starting from 0 and ending with 1, meaning that the first frame will be solely photo A and the second will be solely photo B and all the other frames are the mid-way faces with different weights on the interval, which when combined into a gif, creates the morph sequence.
GIF morph
Since my face is very different, morphing Robert Downey Jr's face gives better results
GIF morph
To find the mean face of a population, I averaged the values of all the correspondences to find the average shape and then used a similar morphing technique to map the values of the pixels as well, generating an average of all the different faces. I used the Danes dataset and took pictures of the men who were smiling, which generated this average face:
Average Face of Smiling Danish Men
To morph faces into the average shape, I took the average shape of the dataset and morphed the individual faces into that shape, creating these images(first is the original and the second is morphed into the average face shape):
An example of a couple morphs from the face to the average shape:
Using my own face to warp with the geometry...
Original image
My face warped into the average Danish geometry
The average danish warped into my face shape
To create caricatures, I first calculated the difference between the shape of my own face and the average Dane's shape. The shape of the caricature can then be made using the shape of my own face combined with an alpha factor times the differences and then warped accordingly
Alpha = 0.5
Alpha = 1
Alpha = 1.5
Alpha = 2
I found a pictures of an average french woman and morphed my face into the geometry of the french face (at 50%) and kept my shape and morphed the colors (at 50%)
Original picture of me
Original average french woman
My face morphed into the french woman's shape
My face morphed into the french woman's colors
My face morphed into the french woman's shape and colors
GIF morph