Project 3: Face Morphing

by Nara Kasbergen

The goal of this project was to create a gradual morph of our own face into one of our classmates', using a set of control points and a delauney triangulation of these points which are transformed using an affine warp. The second part of the assignment had us calculate the 'mean face' in our class and then morph our face into the mean face's geometry.

I had some trouble with this project because I found the documentation for the Matlab functions that we needed to use was hard to read and make sense of for someone not from an engineering or computer science background. If you are a technical writer, please consider working for MathWorks to rewrite their documentation so it is actually usable!

The Results

Note: The images below are thumbnailed to save bandwidth and to fit on the page nicely.

Part 1 (Face Morph)

The biggest problem with my face morph is the fact that I'm wearing glasses. While the facial geometry transforms just fine, the glasses clearly get distorted. With my chosen control points, I had to decide on the trade-off between getting better facial geometry or keeping the glasses looking good. I ended up settling on the facial geometry because I figured that is more important.

You can also see a small black patch on the first 15 or so frames. I'm pretty sure this is caused by the fact that I was using tsearch instead of mytsearch, but I could never get mytsearch to compile no matter what I tried.

Mean Face

Note: I did not include 15.jpg/15.txt, 8.jpg/8.txt and 9.jpg/9.txt in my mean face, since the points seemed to be completely wrong and it messed up all the results.

See all images