Link Search Menu Expand Document

Defining Correspondences

We manually defined 51 keypoints for each of the input pictures and utilized Delaunay triangulation to divide the entire picture into triangular areas to be warped. The points and triangles are shown below.

Points Triangulation

Computing the “Mid-way Face”

To warp the geometry of the picture, we iterated over the triangles defined in the previous step. For each triangle, the transformation can be uniquely defined as an affine transformation matrix given the 3 pairs of points. We then take the inverse of the matrix and apply it to each of the points in the target triangle to get the origin points. Finally, we use bilinear interpolation on the floating point coordinates to get the colors and write to the output sampling buffer.

To compute the “mid-way face”, we warp both input images to the same average geometry and take the mean of the colors at each pixel to perform a cross-dissolve. The results are shown below.

Photo A Photo B Mid-way Face

The Morph Sequence

By doing a weighed average of the geometries and colors, we could control the transformation between faces granularly. The process is largely the same as the previous part, with the only variation being the weights of the shapes and appearances at each frame. The morph sequence of 45 frames is shown below.