CS 180 Project 3

Vivian Liu

Website URL: https://vzliu.github.io/cs180/websites/proj3.html

Website template credit to CS 184

Overview

In this project I produced a "morph" animation of Murray's face into Jokic's face (both from the basketball team Denver Nuggets). I also computed the mean of a population of faces and extrapolated to create a caricature.


Part 1. Defining Correspondences

In this part, I defined 46 corresponding points on each image using the provided labeling tool. For images, I am using pictures of Jamal Murray and Nikola Jokic from the basketball team Denver Nuggets. Originally, I wanted to use a different set of images but I realized last minute that I was running into issues because the images weren't the same size. Luckily, the NBA provides high quality profile shots of each player. Then, I compute a Delaunay triangulation for both images in preparation for morphing.

Jamal Murray

Nikola Jokic

Correspondence Points Murray

Correspondence Points Jokic



Part 2. Computing the "Mid-way Face"

To compute the mid-way face, I first computed the average shape of the two faces, created an affine transformation matrix then inverse warped each face into that shape, and finally averaged the colors together to get the resulting mid-way face image.

Jamal Murray

Nikola Jokic

Mid-Way Face of Murray and Jokic



Part 3. The Morph Sequence

For this part, I inverse wrapped Murray into Jokic. I created an animation of this controlled shape warping and cross-dissolving process. To do this, I used the same algorithm for calculating the mid-way face from the previous part (compute affine matrix then inverse warp) but altered theta for each frame to get a smooth transition.

Murray Morphing into Jokic



Part 4. The "Mean face" of a population

For this part, I used the FEI dataset to compute the average face shape of the whole population. I then morphed each of the faces in the dataset into the average shape. At the time of this project, I am feeling unwell so I used Jennie's face (from Blackpink) instead. I morphed her face into the average, then the average face into her face. The results look rather uncanny -- the average face is slimmer than Jennie's so her face slimmed and her eyes became a bit bigger. On the other hand, Jennie has a lot of hair so the resulting morphed average image has "pulled up" hair. The eyes also slant upwards more compared to before.

Average Face of FEI Dataset Population

Face Warped into Average

Face Warped into Average

Face Warped into Average

Face Warped into Average

Face Warped into Average

Face Warped into Average

Face Warped into Average

Face Warped into Average

Face Warped into Average

Face Warped into Average

Jennie

Jennie Warped into Average

Average Warped into Jennie


Part 5. Caricatures: Extrapolating from the mean

In this part, I created a caricature of Jennie's face by extrapolating from the population mean of smiling images. I want Jennie's face to smile since she doesn't smile in her photo.

Average of all Smiling Faces in FEI Dataset

Jennie Warped to Smiling (I'm so sorry Jennie)