Project 3: Face Morphing and Modeling


The photograph listed after mine in the image directory was of Danielle Millett, so I needed to create an animation in which my face was morphed into Danielle's. Below are the two images, with me on the left:





First, I needed to select control points that indicated the correspondences in the images. I selected a total of 83 points on key features such as eyes, nose, and mouth, as well as the edges of the shoulders and the border on the wall. I put control points on all four corners of the image to ensure that all points were included in the triangulation.





I computed the average shape by averaging the two sets of control points. Then for each point in the average picture, I computed the barycentric coordinates in the enclosing triangle. I then computed the x,y coordinates for those barycentric coordinates in the corresponding triangle in the picture of me. As suggested in the assignment, I used interp2 to interpolate between points, since the computed x,y coordinates often fell between pixel values.

Below are the results on the shape and pixel value averages at even weights of 0.5 and 0.5.



I used the provided mytsearch.c to compute the full transformation with the same triangulation. Individual frames of the animation can be found here. My right ear makes a very ungraceful transition; I probably shouldn't have included it in the control points.



Mean Face



The mean face, the average of the control points and pixels for all students in the class, is below. It seems slightly more masculine, since 9 of the 15 images were of male students.



Here is the mean face warped into my geometry:



And here is my face warped into the mean geometry. I couldn't catch my breath for a full minute when I first saw this.



...I deserve extra credit for putting that on the internet!!!