This project explores different techniques for face morphing. First, I morph my face into those of my friends. Then, I look at the average face of the IMM Face Database, and morph my face towards the average. Finally, I add characteristics to my face such as facial hair, femininity, and a smile. I do this by morphing my face in the direction from the average face in my face dataset to the average face with facial hair, average female face, or average smiling face. This method is completely data driven. That is, it requires me to label which faces have facial hair, but it does not require me to create a model of what facial hair is.
My first task was to create a transition between myself and my friend Nick. To do this, I annotated both our faces with 58 keypoints that would be used for alignment during the morph. The point annotations were used to create a triangulation of the face using a Delaunay triangulation.
Then, I computed 45 different partial morphs of the faces from completely my face to completely Nick's face. To compute these morphs, I aligned each triangle on my face with each corresponding triangle on nick's face using an affine transformation and cross-disolved over the colors.
Next, I downloaded the IMM Face Database and computed the average face in the database. I also computed the average for various subpopulations including male, female, smiling, not smiling, and facial hair. It shouldn't be noted that the IMM Face Database contains 40 face images of 33 white men and 7 white women. Likewise, the means are biased in that way.
I morphed my face into the average face that was not smiling. As you can see, some features did not line up perfect. This is because of the different setting in which the pictures were taken. Notable differences include the width of the face in the picture and the fact that my nostrils are not visible while the IMM face nostrils are.
Finally, I was able to add characteristics to my face and my friends' by morphing in the direction from the average to various subpopulation means. It is important to note that I did not move my face to the subpopulation mean. Instead, I changed my face in the same ways an average face would change to get to the subpopulation mean. I was most succesful by morphing smiles and facial hair. I also tried changing gender, but was less succesful doing this.
For facial hair, I morphed three times the distance from the mean image to the subpopulation mean image to accentuate the transition.
I tried adding more female features to myself. If I had a larger database I think this could have been a more representative transition. For example, I think my face was arbitrarily widened because the female faces in this particular database happened to be wider than the average face.