CS 194-26
Image Manipulation and Computational Photography
Project 4: Face Warping
Hemang Jangle, cs194-26-acv
Overview
In this project, we apply various techniques for analyzing face images and warping them to each other. The first problem we solve is the one of properly blending 2 faces - or finding a midway face. To do this, we first define correspondences over both images by selecting keypoints on each image. Then, we compute the average shape of the two faces and compute a triangulation on that average face. We then use this triangulation to define local warps between images - each triangle from the first image is warped to the the average shape triangulation, and likewise for the second image. Because we dissect the image into many triangles, we can approximate the image warp in these areas to be an affine transformation. We then solve for these warps by fitting a transformation matrix to each pair of triangles, and then cross dissolve the result. In the morph sequence section, we perform a similar operation, except we compute 45 different warps. However for each of these warps we compute a weighted average shape, depending on which shape the image is closer to. We then perform a similar weighted cross dissolve and then combine the images to get a smooth warp.
Part 1
Finding Correspondences
Here is an example of the average triangulation overlain over the 2 source images.
Hemang with average triangulation
|
George with average triangulation
|
Midway Face
Here we have the midway face between Hemang and George, computed as described above.
Morph Sequence
This is the morph sequence if we interpolate more finely.
Morph Sequence
|
Population and Mean Faces
Here we compute the mean face of a population in 2 steps: Compute the average shape, and then morph each face to that and average them all. We use a selection of Danes for our dataset. Here we show some of the Danes warped to the mean shape, the mean face, my image warped to the mean face, and my the mean face warped to my geometry.
Dane 0
|
Dane 0 warped to Average Shape
|
Dane 1
|
Dane 1 warped to Average Shape
|
Dane 2
|
Dane 2 warped to Average Shape
|
The mean face
|
Me warped to the mean shape
|
The mean face warped to my geometry
|