15-463 Project 4 Dylan Koenig djkoenig

Face Morphing


Overview

For this project we were tasked with creating a program that could take in 2 images as input, as well as files containing feature points of the images, and output a morphed version of the 2 images. To do this, I first compute an intermediate triangulation of the 2 images depending on how much morphing is desired. Then, for every pixel in the intermediate triangulation, I need to find the corresponding pixel in the original or final image's triangulation. This is done using affine transformation matrices to convert the pixel's coordinates to barycentric coordinates, and then back to regular coordinates in the basis of the original or final image. After that is done, I take a weighted percentage of the original and final pixel's color and add them together to create the intermediate pixel, depending again on how much morphing is desired. When this is all over, a horrifying frankenstein image will have been created and I will be very sorry for what I've done.


Results

My face morphed with dkg

my face

my face

dkg's face

dkg's face

The morph subjects


infinite morphing

The resulting morph

For a higher quality video, please right click to download here, or watch the embedded video below


Mean face

mean face

This image was created by averaging all available computational photography students' faces together. First, the faces are morphed to the average face geometry. Then, all of these morphed images are summed together and averaged to create the mean face above. I think he looks like a Jeff.

me to mean

My face morphed to the mean face's geometry yields a beautiful duck

mean to me

The mean face morphed to my face's geometry looks more like a John