Bryanna Davison Spring 2020
To create a mid way face, I used a piecewise affine triangular warping algorithm as discussed in class. These are the images I used.
I used Matlab's cpselect function for this task.
By averaging the coresponding points, we can compute an average object, or in this case, face. Average vertices and average shape can be seen in the trianglation present on the below images.
I used Matlab's built-in Delaunay triangulation algorithms to create my triangulation using the averaged corresponding points. This step creates the triangles we will use later to warp our images piecewise.
For each triangle in our triangulation, the affine warp from the original object to the average object is computed. By using this transformation matrix, each pixel in the resulting image can be selected from the original image. Creating an image of the original object warped to the shape of the average object. The inverse warp is performed by inverting the transformation matrix thus the name.
To combine the warped images, they must be scaled so that the total scaling factor applied across all the images is 1. In the case of a midway point of 2 photos we would want half of each image in our result.
Using the same algorithm descibed above, creatign a morph sequence is quite simple. All that needs to be changed is scaling quanitities. Specifically the quantities that affect our average set of points and our cross-disolove. We change these to make transitional steps which are combined into a sequence
We can further extend the algorithm above to more than 2 faces. In doing so, we can compute a mean or average face of a population. We can acomplish this by using corresponding points across all the images in the sample. From this set of points, an average can be calculated and thus and average object/face shape. If warp each face to the average face shape, we can use the same crossdisolving principle to blend all the warped images into one mean face. For this part I used the dataset from the Technical University of Denmark. I found the mean for the mean and women as well although the sample of women was fairly low.
I think because the control points only map as high as the brows, there was considerable distortion to the hair often. The face area worked out well however.
Extapolating from the mean. Below is my face extrapolated to look more like the mean or more like myself. Negative alpha skews more to my self while positive skews more to the mean.
I used an average sad East Asian face and an average sad Western face image on myself. I found the images here(Which discusses issues with emotion recognition between ethnicities). To get a sad western (my ethnicity) version of me and a sad East Asian version of myself.
A few extra images