Project 3: Face Morphing

CS194-26 Intro to Computer Vision and Computational Photography | Jingyi Zhou

Overview

I morphed pictures of me and my mom (aka the most beautiful woman in the world) together. Enjoy!

Defining Correspondences

First I defined pairs of corresponding points on the two images by hand; I used matplotlib's ginput to write the tool for that. Then I applied Delaunay triangulation to the points since it does not produce overly skinny triangles. The plots below are simply for the purpose of showing my correspondences defines; I really only computed the triangulation on a midway shape.

Computing the "Mid-way Face"

This involves: 1) computing the average shape (a.k.a the average of each keypoint location in the two faces), 2) warping both faces into that shape, and 3) averaging the colors together.

For warping, I: 1) used polugon to get the triangles; 2) applied the affine transformation by dotting the points with A; 3) performed interpolation

The Morph Sequence

The "Mean face" of a population

I chose the smiling faces :)

Caricatures: Extrapolating from the mean

B & W: Transfiguration!

My cat turned into a snow leopard!