15-862

Dmitriy Solomonov

Project 3: Facial Morphing

In this Project, the goal was to learn and implement facial morphing. The basic solution was to set various key points on the different faces, create an average of these key points, form triangulations on the points, warp the individual triangles with affine transformations and then interpolate the appropriate pixels into each triangle. A short animation was made of this.

 

To make generating images less time computationally intensive, I spent some time trying to get my code to be fast, so that I would not have to wait very long to make morphs. After hacking away at it, I got about a 12 second per frame delay time. This came in very handy when experimenting with animations and morph parameters.

 

Animation Files:

Basic Morphing & Animation

Class Average

Using the same morphing function, I was able to make an average of the people in my class. As can be seen, the average is quite good considering that only 14 people could be available for sampling and that only 43 correspondence points were used. Since all images were the same size, and all photos were head shots, it made the results better than expected.

Warping Face to Face

Average Student Warped to my Face

My Face Warped to the Average Student

As can be seen, simply warping one face to another does not create the best of results because there are not enough correspondence points to do this well. A few other warps were tried to achieve better results.

Warp of me to the average woman, as computed by professionals who had much better tools and algorithms than myself. I used this average because it was much better than the average I could generate from my limited class photos.

This warp turned out quit well all things considered. The face warped to is the average male as computed by greater minds than my own.

This one is just so funny looking that I had to show it. The baby is a random baby I found on Flickr.

Again, too funny not to show. I’m sure you know who the woman is. The interesting part here is how similar the facial expression is, and the hair.

Caricatures & Uniqueness

Rather than just thinking of two images as flat images, we can think of them as points in some basis. Thus, any two points can form a line, and once that line is formed, we can travel on that line and see some really bizarre and funny things. I extended my code to find the differences between two images and then be able to form a new image whose values lie on the line formed by the previous two. By finding the differences between image A and some image B, we can make A look more like B by removing the components in A that are not shared by B. Likewise, I can enhance the components in  A that are not in B to make A look more unique. This could be done with an average face to make a social statement.

 

In this photo, I removed elements of myself that made me look more like the average male used above. This was a shocking photo result for me because I never realized just how big my head really was. This photo turned out pretty well.

In this photo,; however, I decided to conform to the standard and removed the parts of myself that made me unique and became one with everyone else. I had trouble with colors and finding a good balance of proper parameters. This was the best I got before giving up and moving on.

This is me taking away the physical traits that make me male and thus creating a more feminine version of myself. This rendering also had some coloring problems, and also only due to limited correspondence points and parameter tweaking. I somehow couldn’t get the ears right in any image.

In this one, the center is a photo of Brad Pitt. On the left is me removing elements of myself and making myself more like Brad Pitt. On the right is the reverse, me taking any genes I may share with him and casting them aside. Although the picture quality is not perfect due to too few data points, the result I think is quite good.

Interesting Morphs & Caricatures

My attempt to copy DaVinci and recreate the Mona Lisa in some new forms. On the left is one of my classmates, on the right is Marilyn Monroe as La Jaconde.

The Mona Lisa if she were a common man…

Me morphed with Brad Pitt and Marilyn Monroe