Kaitlyn Lee Project 3 -- CS 194-26 UC Berkeley

Face Morphing and Modeling a Photo Collection

Table of Contents

Project Description

In this assignment I produced a "morph" animation of your 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 yourself.

Part 1: Defining Correspondences



I first picked the images I wanted to morph between. I chose to morph myself into Jennie from Blackpink (a kpop group).



I then picked the corresponding feature points on each image.



I then took the average of those points and triangulated the average set.

Part 2: Computing the "Mid-way Face".

This involved:

  • computing the average shape (a.k.a the average of each keypoint location in the two faces)
  • warping both faces into that shape
  • averaging the colors together.
  • I implemented a method that given two triangles, determines the affine transformation matrix. I used this to find an affine warp to map from the average shape to the start and target images (transforming each triangle). I also used an interpolation function to generate the color values for the transformed values.

    In order to create the below morphed image, I morphed the first and second images to the average shape of the two, and then averaged the two colors.

    Results:


    Part 3: The Morph Sequence

    I then wrote a `morph` method that took in a warp factor (to calculate a weighted average of the shapes) and a dissolve factor (which determined the level of the cross-dissolve). I repeated the above steps, but with a warp factor and dissolve factor that varied between 0 and 1 in 45 frames. Here is the result as a gif:

    Part 4: The "Mean Face" of a Population

    I chose to calculate the mean of all the males in the Dane collection.

    Here is the mean face of the male Danes:



    Here are some Danes warped into the shape of the average Dane (original on the left, morphed on the right):









    Here is my face warped into the geometry of the male Danes:

    The eyes look off likely because my eyes and faceshape are naturally uneven. When combined with the Dane shape it acted oddly.



    Here is the average face of the male Danes warped into my geometry

    :

    Part 5: Caricatures: Extrapolating from the mean

    I used the mean image of the male Danes to make cariactures of myself. This was done by extrapolating the Danes and warping my image to fit the new shape.

    Here is the "Anti-Dane": I morphed the Danes average shape onto my face with an alpha of -.5.

    Here is the "Super-Dane": I morphed the Danes with an alpha of 1.5.

    Bells and Whistles: Changing Gender

    I found an image of an average male online, and used it to make my image seem more masculine.

    Here is my image with just the shape morphed to be more masculine.

    Here is my image with just the color morphed to be more masculine.

    Here is my image with both shape and color morphed to be more masculine.

    Final Thoughts

    I really enjoyed this project! It was really cool to see my face morph into someone else's :') I think it did make me feel a little self conscious after staring at Jennie's face for so long though :(