The midway face was calculated by first defining correspondences between two photos. Then these points were averaged, and a Delaunay Triangulation was calculated on that average. An affince transformation was calculated to transform each triangle in the original image to the average triangulation, and the images were cross dissolved to create the midway face. Below I have morphed my face into my mom's face.
Below are the images of my mom and me warped into the midway shape. Then cross dissolve is applied to average the colors.
A gif was created to show my face slowly morphing into my mom's face. The each frame was controlled by a weighted average in shape space and texture space.
Just for fun, I also morphed my mom into her roommate's cat.
To compute the mean face of a population, I read in all prelabeled key points and added the four corners of the image to include the background. I averaged these key points together and created a Delaunay Triangulation of these averaged points, and morphed all images into this average. Finally, I averaged the colors together to create the mean face.
Below are some examples of faces warped into the average face.
A caricature of my face was calculated by first subtracting the average shape vector from my shape vector, giving a vector describing what is unqique about my face compared with the average face. Then I added a proportion of that vector of "uniqueness" to my original face shape vector and warped my face to those points.
Because my mom is obsessed with anti aging, I've decided to make her face look younger by using an image of the average young asian female face.
Just for fun, I also anti-aged her best friend.