# Face Morphing

## Overview

In this project, I played around with image morphing and warping. For my first morphing animations, I used a picture of myself and morphed it into both my dad and Justin Bieber's mugshot. I was originally just going to morph me and Justin Bieber, but I thought it would be interesting to see how a morph between me and my dad would look since we've always been told we look alike.

## Defining Correspondences

For the first step of image morphing, I wrote a function that takes allowed me to select points on any image to use as correspondences for morphing. These correspondences are reference points so that morphs between images go smoothly. I chose 39 points along the face, and then computed the Delaunay triangulation for each image.

 Me Corresponding Points Delaunay Triangulation Justin Bieber's Mugshot Corresponding Points Delaunay Triangulation My Dad Corresponding Points Delaunay Triangulation

## Computing the "Midway" Face

Before computing my morph sequence, I first computed the average face of myself and Justin Bieber's mugshot and myself and my dad. This was also the middle picture in the morphing sequence. In order to create this image, I computed the average shape by averaging the corresponding points, warped both faces into that shape by applying an affine transformation to each triangle in the Delaunay triangulation, and then averaged the colors to create a cross-dissolve effect.

 Me Justin Bieber's Mugshot Midway Face Me My Dad Midway Face

As I predicted, my dad and I have very similar features, and our midway face looks quite similar to both of our pictures.

## Morph Sequence

Next, I created a morph sequence by applying the same procedure as I used to compute the midway face, but changing the ratio that each image contributed to the final average. I computed 45 midway images with differing warp fractions and turned them into the morphing animations below. The warp fraction started at 0 and increased by 1/45 for each image in the morph sequence.

 Morphing into Justin Bieber's Mugshot Morphing into my Dad

## The Mean Face of a Population

Using the initially released 37 images that was used in the average Danish computer scientist project. Using the points they selected for their project, I computed the average face myself using my own algorithms. I included some example images of photographs used in that project. After computing the average face, I warped each of the original images into the shape of the average face.

 Image 1 Image 12 Image 30 Image 1 Warped Image 12 Warped Image 30 Warped

I also warped my own face into the average Danish face shape and morphed the average Danish face into my face shape.

 My Triangulation Average Dane's Triangulation
 Me Morphed into Dane's Shape Average Face Morphed into my Face Shape

## Caricatures

For this part of the project, I used this average Danish face and used it to identify and amplify my most prominent features to create a caricature. Essentially, I found the difference between the average Danish face shape and my face shape using my defined corresponding points. Then, I multiplied that difference by some factor "x" and added it back to the shape of the average image. I used "x" values between 0 and 3, increasing my "x" value by 0.5 each iteration.

 x = 1 (basically original) x = 1.5 x = 2 x = 2.5

These caricatures showed me that the most prominent features of my face are my triangle shaped hair-line, my eyebrow arches, my smile, and my short and round head.

## Bells and Whistles

For my Bells and Whistles, I used all the functions I wrote to create a music video showing the members of the popular former boy band One Direction. I hand selected all the corresponding points for each image and then created morph sequences of 45 images from each image to the next. My music video showed the aging of each member over the past decade by morphing them into their older selves and then into the younger version of the next member.