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.

Credits



Below is the Delaunay triangulation defined on a set of corresponding points.

Computing the "Mid-way Face"

The average face was computed by finding the average shape between the two faces and inverse warping both faces to the average shape.

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