By Ana Cismaru
In order to perform morphing, we must first determine some common features (or correspondences) in our two images. This will then allow us to set up a Delaunay triangulation using the average of the two images' points.
|
|
|
|
With our triangulation set up, we can compute the affine transformation for each triangle in each image and then interpolate pixels from both original images to a halfway face.
|
|
|
With our halfway face functions prepared, we can play with the ratio of each image present in the warp. Like so, we can set up a morphing sequence going from image1 to image2 by morphing to a face that represents (1-alpha)*im1 + alpha*im2.
|
Another cool thing we can do with correspondences is computing the average face of a population. In this example, we are computing the mean face of Danish computer vision researchers. Once again, the first step to getting the mean face is setting up correspondences and computating a triangulation based on the average points. Afterwards, we warp each individual face to the average shape. Finally, we take the mean of all the warped images to get the average shape and color. We can also warp images not in the original population - for example below I warp my face to the mean Dane and vice versa.
|
|
|
With our mean face computed, we can also create caricatures of images by extrapolating away from the mean. Here we took the mean male dane face and computed a caricature of my face by extrapolating away from it.
|
|
I have always been a big fan of Monet's painting series and thought it would be cool to take the Haystacks series and morph one painting into another. For this exercise, I defined correspondences on the bigger haystack and the corners of the image. That's because some of the paintings had one haystack while others had two. Afterwards I performed a morph on the sequence of images and here is the resulting video. Enjoy!
|
With our knowledge of extrapolation and population means, we can perform fun image modifications such as Disneyfying people. To do that, we found the average Disney character face and selected matching correspondences between my face and the character's face. Next, we can perform morphs based on shape, color, and even both.
|
|
|
|