To create correspondences, I marked points on a face in a sequential order and returned the list of points for both images. I then calculate the average position for each point, and use this list of points to calculate the delaunay triangles to help triangulate the image.
By using the correspondances defined in the previous part to calculate the "average shape" of the image, we can compute a midway face for both images by warping both images to the "average shape" using the inverse of the affine transformation that would transform the each triangle for the image to the corresponding triangle for average image and then averaging the pixel values of the resulting warped source and target images.
Sandy, Mom, and Sandy & Mom Mid-Way
Similar to computing the "Mid-Way Face", we can also compute the morph sequence from a source image to a target utilizing similar affine transformations of our corresponding triangles. However, we now adjust a `warp_frac` and `dissolve_frac` for each image frame to determine the weights for each image while warping and dissolving. Thus, for a warp and dissolve_frac of 0, we simply get the source image and for values of 1, we simply get the target image. Each value in between helps us generate the smooth transition from the source to the target.
We can calculate the mean face of a population by aggregating the corresponding labeled points in the dataset and computing the average for the "mean shape". We can then warp each image into this "mean shape" using affine transformations as we did with the mid-way face and morph sequence. Then, by simply averaging the pixels for each warped-to-average image, we get our mean face. For this example, I computed the mean face for smiling Danish females! Notice that though the edges may be blurred, the face itself (which has been aligned using our points) still has fairly distinctive facial features.
Average Danish female, Danish females warped to average
Sandy warped to average, Average warped to Sandy
I decided to morph myself into the average Chinese male, which I found from the internet. This comprised of largely the same approach as that of the previous parts.
Full morph, Shape-only, Appearance-only
I made a music video for the morphs of some of the CS Professors at Berkeley. I have included it as a gif below, but it can also be viewed here with audio!
I partook in a 23-person class morph video which can be viewed here (login: acu) Here was my portion of the morph