In this project, we learned to morph images into each other by combining warps and cross-dissolves.
For this project, I decided to morph my face with Merlin, a character from the BBC show Merlin. To start off, I selected corresponding points on the two images. I then created a triangulation of the points to set up for the next few parts.
Selected Points on Merlin |
Triangulation on Merlin's Face |
Selected Points on my Face |
Triangulation on my Face |
To compute the mid-way face, I took the following steps.
original image of my face |
mid-way face of Merlin and I |
original image of Merlin |
To compute the full morph sequence, I warped and cross-dissolved the faces in a way similar to the previous part. But this time, instead of using 0.5 and 0.5 as the parameters, I weighted them from 0 to 1 in increments of 1/45 to create a gif with 45 frames.
I decided to find the mean face of the population of Danes. I did so by doing the following
Population Average |
Population Average with Points |
My face onto Average Geometry |
Average Face onto my Geometry |
Example 1 Original |
Example 1 Morphed |
Example 2 Original |
Example 2 Morphed |
Example 3 Original |
Example 3 Morphed |
Using the population mean from the previous step, I made caricatures by using alpha values outside of 0 and 1.
Using an alpha value of -0.5 |
Using an alpha value of 1.3 |
I chose to shift my face towards the average face of a German woman. I primarily used the warping and cross-dissolve functions I created in prior parts, but this time, I had to control the warping and cross-dissolve parameters separately.
My Face |
The Average German Woman Face |
changing just the shape of my face |
changing just the appearance of my face |
changing both the shape and appearance of my face |
Overall this was a very fun project! It was quite interesting to learn the computation that goes behind face morphing.