From two images, we define corresponding points, targeting features that exist in both faces. By having more of these correspondences, we are able to create a better morphing from image A to image B. For this example, I chose myself to be image A and my mother to be image B
Original | With Triangle Mesh Overlay |
---|---|
To find the Midway Face, I first compute the weighted average shape between the points of our faces. Then I use Delauney Triangulation to obtain a set of triangles for the corresponding points and then calculate the inverse affine matrices for each triangle, more specifically the affine transformation from the original image's triangle to the average triangle and then transform all the points in the triangle using the transformation. This morphs my face and my mother's face to the average shape and then cross disolves by taking the average of the two morphed images to get the midway face.
Myself | Midway | My Mother |
---|---|---|
This is a morph sequence where one image is morphed into another through intermediate images based on a weighted mean of my face and my mother's face using weights from the range 0 to 1, which is then stacked on top of eachother as frames in an animated gif.
Animated Morph |
---|
Using the same methods as described earlier, I took a subset of faces from a given population and computed the average or mean face. I chose to use the Danes set which contains 30 male images and 7 female images. To obtain the mean face, I calculated the average face shape from the set of points for each face. Then I morphed each face, similar to the midway face, and then computed the average face again. As there are more males than female, the average face appears to be more male, however the features do seem slightly exaggerated, probably due to a variance in the shape of the features in the faces in the dataset. This worked as intended when morphing
Original | Warped to Average Face |
---|---|
My face warped to average | Average face warped to my face |
For this section I take my face points and subtract the average face points, multiply the difference by a caricature constant, and then re-add the average face points. This then warped on my face to produce the two caricatures.
Original | Caricature Constant = 0.5 | Caricature Constant = 1.5 |
---|---|---|
For this section, I applied the average male face from the danes dataset to my mom's face, first I just warp the two, then I do the cross-dissolve, and then I used the warp in the cross-dissolve.
Original | Warped | Morph | Warped + Morph |
---|---|---|---|