CS 294: Project 3

Emaad Khwaja

Defining Correspondences

Both of these photos are portraits from Martin Schoeller. This made it easy to overcome differences from lighting and background color. Corresponding points were selected via the cpselect function. 71 points were selected between the photos, with an additional 4 points added to the corners.

Below these points are shown, along with the computed Delaynay trianguation.

Computing the "Mid-way Face"

The Delaunay triangulation was computed on the midpoints of the correspoding points defined above. The affine transformation to these midpoints from the original calculations. This transformation matrix was computed from the dotproduct of the inverse original image matrix and the midpoint matrix. From here, both images were morphed into the average trianglulation, and the colors were averaged to create "Georgely."

The Morph Sequence

The morph() function designates both a warp fraction and a dissolve fraction. I initially tried warping to the midpoint image from the first image, cross-dissolving to the morphed second image, and then morphing again to the original unmorphed second image. 70 frames were generated. 30 per each warp and 10 per dissolve.

SegmentLocal

This transformation was less ideal. I next attempted a smoother transition by matching the warp and dissolve fraction each frame. This result (below) were more desirable.

SegmentLocal

The "Mean Face" of a Population

Alongside the annotated points provided in the dataset, 4 corner points were added to generate triangles outside of the face region and avoid weird croppings.

Next, all faces were shifted to the average face triangulation. A few examples are shown below.

The average face (below) was computed by averaging all of these warped faces.

I next photoshopped the image of Bradley Cooper into the background of the Danes. I transformed the Bradley face into the average Dane face and vice versa.

The results looks very strange. I believe this is largely a result of the depth of field difference between the images. I believe this could be mitigated with a large selection of points around the head.

Caricatures: Extrapolating from the Mean

The average midpoint is usually calculated by weighting 50% of each image and summing the results. 100% for either weighitng would result in one of the original images. To extrapolate, we go beyond 100% weighting.

Below, we caricaturize Bradley Cooper. The left image is a caricaturization in the Bradley direction, accentuating the features distant from the mean, such as his larger eyes, nose, and ears.

The right image is a caricaturization in the Average Dane direction, accentuating the features distant from the Bradley, shrinking the previously mentioned features and stretching the neck.

Bells and Whistles: Change Gender

We attempt to modify Bradley's gender by morphing with a photo of Angela Merkel from the same image collection. Below we average just based on color, just based on shape, and both. Averaging based on both was the best. The top half of the images look very good, but the bottom hald has some artifacting. This is a result of the very different conformations between Angela and Bradley's jawline.