The goal of this part is to annotate points in both of the images in order to have correspondances when performing image morphing. For this part, I’ll be using images of George Clooney, image A, and Barack Obama, image B. You can see the original images below.
Images of Barack Obama and George Clooney
Delaunay triangulations
We first start computing the mid-way face of our images A and B. For this, we compute the average shape, which is the average of the correspondence points, warp both faces into that shape and then, finally, averaging colors together. In order to do this, we perform affine transformation from each triangle in image A to the triangle in the mid-way face image. To find the affine transformation matrix we use a simple system of linear equations. Also, we perform inverse interpolation. You can see the mid-way face below.
Original, The Mid-Way Face, Original
For this section I used 45 frames creating the morphing sequence. Here are some images from the sequence.
Morph sequence
George to Barack Animation
For this part, we want to find the average face of the population. However, simply averaging all the images together would not work and would be blurry, as the faces in Danes dataset are not aligned. The dataset comes with manual annotations of the images, which helps as to perform morphing in order to get the average face. First, we find the average shape, which is the average of all the shapes, or the average of all the annotation points. Then we morph each image in the dataset to the average shape. You can see some images below.
Original and the morph to the average shape
Original and the morph to the average shape
Original and the morph to the average shape
The Average Face
My image, Morph of my image to average shape, vice versa
In this step, we extrapolate from the population mean we calculated and morph my image to get those distinctive features. You can see some examples below.
Caricatures, t = -0.25, -0.5, -0.75, -1