Face Morphing

CS 194-26 | Project 3 | Catherine Gee

I morph funny photos

Defining Correspondences

I devised a method to manually input corresponding points on 2 (or more) photos. From these points (one two photos at least) we triangulate one so we have some starting geometry to work with. Below is an example of my points (which are the green points, as well as the triangulation)

BTS Jungkook triangulation

Computing the Mid-way Face

So now we have 2 images and 2 sets of corresponding points. For 1 image we have the triangulation (see above) now we are going to find the mid-way face. To do this we take each triangle and find the average, and then interpolate the color from each and save the average image. To move the triangles I also wrote an affine transformation function.

BTS Jungkook and BTS JHope midway

The Morph Sequence

Now I compute the midway face but instead of doing some frac that's 0.5 we do fractions of however many frames we have. Then I save the images as a gif. It's pretty short.

full morph

Mean Face of a Population

Now I take a dataset of Danes and computed the average shape for the entire population (using triangles) and then morphed all of the individual people to it. The composite ends up being the average face. Below I have some Danes warped into the the average face shape, and then the actual average face.

Dane 5 as the Average Dane

Dane 15 as the Average Dance

The Average Dane

My face into the average dane's geometry

The average dane's face into MY geometry

Caricatures: Extrapolating from the mean

Now we can extrapolate from the mean to create some really funky images. Me as a super dane.

A little extra Danish features

Negative Danish features

Bells and Whistles

First I make a music video... presenting... my masterpiece...

Okay so a couple comments on the video. I only used 30 corresponding points, and I think something that would have made it faster and better is if I used something like dlib to just find points for me (but I think that only works on faces). There's some weird warping happening in between because of the rough nature of the points.

Next I changed the gender of my photo

I found an image of the average chinese male (because I am Chinese and identify as female). I find the shape and I have these gems to show.

Me

Average Han Chinese Man

Appearance

Both Appearance and Shape

Shape only

Retrospective & sources

I really learnt how to make a good morph, even though my morphs were kinda bad. It requires a lot of time and diligence and making sure everything is in your subspace correctly... Sometimes I sacrified quality for my vision even though my morph needed some work.

I got all the BTS photos from twitter but they are from the BTS Official Fanclub. Every clown photo plus Hugh Jackman came off the google search for funny clown or hugh jackman greatest showman. Danes dataset from here. Average image of chinese man is from here. I took the rest of the photos.

AND THAT'S IT FOLKS!!