In this project, we learned about affine transformations and triangulations. These concepts are useful in morphing two images into one another by finding corresponding points and then triangulating to figure out which source triangles morph into which destinations.
The mid way face correspondance points between both the source and destination images.
The mid way face after computation with affine transformation.
A gif of 64 scaled affine transformation between the source and destination. Each image has a scalled warp_frac and dissolve_frac for putting emphasis on one side versus another's geometry and pixel values.
I used a free data set of Danish Faces to compute the average Danish face and warp other faces to and from the average. This process consisted of parsing through all of the points in the danish data set's .asf files. After finding all correspondence point locations, I took the mean of them all to find the mid way points. From there, I iterated through all danish images and morphed them towards the mid way face and cross dissolved all images together to get my final average Danish face.
In this section, I emphasize my features in comparison to the features of the average Danish person. Basically, extrapolate a new face using the average. This yields an image of me with a much larger nose and a smaller chin.