Overview
In this project, we apply various techniques for analyzing face images and warping them to each other. The first problem we solve is the one of properly blending 2 faces  or finding a midway face. To do this, we first define correspondences over both images by selecting keypoints on each image. Then, we compute the average shape of the two faces and compute a triangulation on that average face. We then use this triangulation to define local warps between images  each triangle from the first image is warped to the the average shape triangulation, and likewise for the second image. Because we dissect the image into many triangles, we can approximate the image warp in these areas to be an affine transformation. We then solve for these warps by fitting a transformation matrix to each pair of triangles, and then cross dissolve the result. In the morph sequence section, we perform a similar operation, except we compute 45 different warps. However for each of these warps we compute a weighted average shape, depending on which shape the image is closer to. We then perform a similar weighted cross dissolve and then combine the images to get a smooth warp.
Part 1: The "MidWay" Face
Here we have the midway face between Vivek and George.
Me

(Me + Goerge)/2

George

Part 2: The Morph Sequence
This is the morph sequence if we interpolate more finely.
Gif of me morphing into George

Part 3: The "MeanFace"
Here we compute the mean face of a population in 2 steps: Compute the average shape, and then morph each face to that and average them all. We use a selection of male smiling Danes(2m) for our dataset. Here we show some of the Danes warped to the mean shape, the mean face, my image warped to the mean face, and my face to the mean face.
Dane 012m

Dane 012m mean face

Dane 312m

Dane 312m mean face

Dane 402m

Dane 402m mean face

Mean face of all the smiling men Danish faces

My face morphed to the mean Dane face

Part 4: Caricatures
We use the differences from the above mean face to create caricatures of our own faces
t = 0.1

t = 2.0

t = 0.8

t = 1.5
