Project 2: Finite Difference Operator

Part 1: Defining Correspondences

I started by cropping and resizing images of myself and a celebrity to the same dimensions, ensuring our faces had similar sizes and aspect ratios. Using an online tool, I selected 54 correspondence points on each image, focusing on key facial features, and added the four corners to include every pixel within a triangle, totaling 58 points per image. Finally, I computed the mean of these points to generate a Delaunay triangulation, which will facilitate the morphing process between the two faces.

proj2_part1_1

Part 2: Computing the "Mid-way Face"

To compute the mid-way face between me and Angela, I first calculated the average shape by averaging the correspondence points from both images: avg_shape = ½ (im1_pts + im2_pts). Then, for each triangle in the Delaunay triangulation of the average shape, I calculated the inverse affine transformation matrices mapping the triangles from the average shape back to the original triangles in each image. Using these matrices, I performed inverse warping on both images, applying polygon masks to accurately map the pixels within each triangle. Finally, I cross-dissolved the two warped images by averaging their pixel values to create the mid-way face.

proj2_taj

Part 3: The Morph Sequence

proj2_eagle

Part 4: The "Mean face" of a population

In Part 3, I computed the average face from multiple images using the Danes dataset, which consists of 37 images of Danish individuals (30 male and 7 female). I began by parsing the dataset's .asf files to extract the correspondence keypoints for each image. By averaging all these keypoints, I obtained the average shape. Then, I warped each face in the dataset to this average shape, aligning all faces uniformly. This process allowed me to generate the average face by blending the warped images together.

Part 4: The "Mean face" of a population -- the Mean Face

proj2_part1_1

Part 4: The "Mean face" of a population -- Some Examples

proj2_part1_1
proj2_part1_1
proj2_part1_1

Part 4: The "Mean face" of a population -- My Face

proj2_part1_1

Part 5: Caricatures: Extrapolating from the mean

proj2_part1_1

Part 6: Bells and Whistles -- Change Gender

proj2_part1_1