Final Project: Face Morphing

Vibhu Ramani
December 20th, 2012


Steps:

Face morphing involves 3 major steps.

Defining Correspondences, and triangulation

Compute Warping Transormations

Inverse Warping using interpolation, and alpha matting

Homography transformations.

If we smoothly vary the alpha and warp ratio, we can get a series of images showing a smooth transition.

What if we change the alpha to 0, ie the source image changes homographies based on the target, but the target never becomes visible.
The same face just keeps taking different shapes based on the target images on the right.

There are some artifacts since the source image I started with doesn't have a proper right side view to begin with.


Further Extensions

Mean face: If find the mean value of the corresponding points across the images and transform every image to that and then take a mean value of the pixels we can get the mean face.

Creating Baby faces: http://www.morphthing.com/ Take an image of a average baby.

Transform the images of the parents to that homography.



and take a 0.5 alpha while combining the images, which results in an estimated look of their offspring.

Autocomputing the correspondence pts. The correspondence points on the face are quite unique and based on features we can find similar points in a new image. This way we dont have to enter the correspondence pts manually.
I only tried basic experimentation with this technique by taking patches of each point from all the images, and then computing an average of the patch.
Using this mean patch I did an SSD over a new image to see which point matched the best. The technique was rarely able to find the equivalent point.


Credits

This projects was based on http://graphics.cs.cmu.edu/courses/15-463/2012_fall/hw/proj4-morph/
Some starter code was also taken from http://www.cs.brown.edu/courses/csci1950-g/asgn/proj5/