CS194-26 Project 4: Face Morphing

Ameena Golding (cs194-26-abe))

Before, after, and mid-way face!

Here we have a few examples. We have myself morphed with my mom, 'cause I'm starting to wonder what I'll look like in old age -- not that my mom's in "old age" just yet (love u mom sorry).

And Jake Paul with Shane Dawson because I'm obsessed with that documentary. Totally gonna tweet this to Shane.

Bonus that no-one asked for: Me and Shane Dawson. I forgot to save the image (and redo-ing it by picking out the keypoints again takes a while to be honest) so here's a photo I took and sent to my friend in horror.

Morphing gif!

Because the lighting and photo composition is so similar in the Jake/Shane pictures (both red carpet photos with flash cameras, I suppose) I decided to show the morphing of these faces rather than one of my own, as I think this one looks particularly good!

Mean Face of a Population

I chose to use the FEI face database for this one. Below is the mean face across all images (both male and female) and a couple examples of faces from the dataset morphed into the average face. (The mean FEI face is the first image in each row).

Caricatures Based on the Mean Face

I computed the mean woman face from the FEI dataset and made caricatures of my face based on the mean face. This basically just involved warping my face into the mean shape whilst only keeping the pixel color values from the image of my face.

Bells and Whistles: Transforming my face from a closed-mouth smile to an open-mouthed smile

The idea here was to take two similar images of myself, one where my mouth was closed smiling and the other where it was open-mouthed smiling, and to warp the closed-mouth one in to the open-mouthed one. This involved selecting keypoints around the mouth and tweaking the warp & dissolver parameters so that the rest of the face was mimimally warped (and retained the pixel values of the original image) whilst the mouth area took on the values of the target image. Kind of a disturbing output, so clearly there's some work to be done in perfecting the algorithm there...