Overview
This project involved face morphing using the inverse warping technique. Warping between faces requires an affine transform between sets of corresponding points.
Defining Correspondences
First, I aligned the eyes of an image from the Danish IMM Face Database with an image of George Clooney .
Corresponding points are defined in both images to determine which regions in the images match and should be warped toward. The points are prominent facial features that define triangulations in both images.
I experimented with numerous sets of corresponding points between George Clooney's face and an image from the Danish dataset, ranging from as few as 7 points to as many as 70 points.
Below is the Delaunay triangulation defined on a set of corresponding points.
Computing the "Mid-way Face"
In the inverse warp, the affine transformation matrix is calculated for each corresonding pair of triangles in the triangulations. The affine transformation has 6 degrees of freedom:
The pairs of triangles have matching vertices with pairs of corresponding points. The inverse of each matrix is used to warp from the midway shape back to the original shape, giving points in the original image. Pixel color values at these points in each of the original images are averaged together to produce the midway face.
The Morph Sequence
An animated GIF showing the morph sequence is produced using the warp between the two images. They are first warped into an intermediate shape controlled by an alpha parameter between [0,1].
Bells and Whistles
Credits to Jason (Zixian) Zang