

For the main morph I started with the standard 43 points for each face. Then, to generate the triangulation, I first aligned the two sets of points by matching the midpoint location and rotation of the 2 points that define the eyes which I then averaged and performed a Delaunay triangulation on. This was then used to perform the morphing using an affine transformation. I also tried to use the built in interpolation (interp2) function to find the correct pixel color when performing the inverse affine transformation, but it turned out to be too slow so I wrote my own which only took into account the nearest neighbors. To morph the rest of of the image (background and body) I just placed 24 evenly spaced points that surrounded the border of the image that remained constant throughout the morph. Below you will see the final triangulation mesh including the additional border points and the animations of the morph with and without backgrounds. The jpgs of the morph can be found here.

To calculate the mean face shape I first aligned the midpoint locations and rotations of all the faces using the points defining the eyes. I then averaged all of the aligned points and performed a triangulation resulting in a mean face shape. Using this mean face and triangulation I then morphed everyones face to the mean shape and finally averaged all of the images.

For my bells and whistles I wanted to generate caricatures of my face, both masculine and femanine. To do this I needed to find the average male and female faces (below). Then I morphed my face to factors of differences between my face geometry and that of the average female and male face. Also below are masculine and femanine caricatures at different intensities. As you can see, masculine caricatures make the face more rectangular and larger. On the other hand, femanine caricatures result in more angular and narrower faces.
