CS194-26

Image Manipulation and Computational Photography

Project 4: Face Morphing

Morad Shefa



Overview

In this assignment we morph my face into someone else's face, compute the mean of a population of faces and extrapolate from a population mean to create a caricature of myself.

Process

This is a rough overview of the process:

  1. Align the images
  2. Pick correspondence points
  3. Average the correspondence points of the different images
  4. Calculate the Delaunay triangulation of the average correspondence points
  5. Get the transformation to shape each triangle of both images into the triangles from the previous step
  6. Cross dissolve the images




Before Alignment
After Alignment
Correspondence Points
Triangles assigned based on Delaunay Triangulation on average correspondence points
Myself reshaped into midface
Clooney reshaped into midface
Midface
Warping Stage, 0*Me + 1*Clooney
Warping Stage, 0.1111*Me + 0.8888*Clooney
Warping Stage, 0.2222*Me + 0.7777*Clooney
Warping Stage, 0.3333*Me + 0.6666*Clooney
Warping Stage, 0.4444*Me + 0.5555*Clooney
Warping Stage, 0.5555*Me + 0.4444*Clooney
Warping Stage, 0.6666*Me + 0.3333*Clooney
Warping Stage, 0.7777*Me + 0.2222*Clooney
Warping Stage, 0.8888*Me + 0.1111*Clooney
Warping Stage, 1*Me + 0*Clooney
Gif 45 frames. If not playing make sure it is not cached and reload the page.

Mean Face:

We can use this process to get the mean face of a certain population of people. We took a data set of 40 danish people smiling.
  • Average the correspondence points of the different images
  • Calculate the Delaunay triangulation of the average correspondence points
  • Get the transformation to shape each triangle of ALL images into the triangles from the previous step
  • Cross dissolve the images
  • 40 smiling Danes and their correspondence points overlapped
    The Average Smiling Dane

    Caricature:

    We can use this process and the mean images to get a caricature of my face by exaggerating features of my face while morphing with the mean face. Caricature with increasing values for the features of my face are following:





    Bells and Whistles:

    Changing Ethnicity:

    We can use this process and the mean images to get get a midway image of my face and the average Dane to change my race and make me look more Danish


    Me
    40 Smiling Danes

    Me morphed into a Dane with increasing warp and cross dissolve factors



    Bells and Whistles:

    Changing Gender:

    We can use also use this to morph a person of one gender to have more features of the opposite sex. For this example I take the average female Dane (gotten in the sane way as the average Dane earlier) and morph it with one male Dane at different dissolve and warp factors


    25th male of Danish dataset smiling
    Average smiling female Dane

    Male morphed into a female with increasing warp and cross dissolve factors




    Only changing the shape
    Only changing the color (cross dissolve)

    As we can see doing a combination of morphing and cross dissolving yields the best results.

    Thanks for joining me on this ride. GG