In this project, I played around with image morphing and warping. For my first morphing animations, I used a picture of myself and morphed it into both my dad and Justin Bieber's mugshot. I was originally just going to morph me and Justin Bieber, but I thought it would be interesting to see how a morph between me and my dad would look since we've always been told we look alike.
For the first step of image morphing, I wrote a function that takes allowed me to select points on any image to use as correspondences for morphing. These correspondences are reference points so that morphs between images go smoothly. I chose 39 points along the face, and then computed the Delaunay triangulation for each image.
|
|
|
|
|
|
|
|
|
Before computing my morph sequence, I first computed the average face of myself and Justin Bieber's mugshot and myself and my dad. This was also the middle picture in the morphing sequence. In order to create this image, I computed the average shape by averaging the corresponding points, warped both faces into that shape by applying an affine transformation to each triangle in the Delaunay triangulation, and then averaged the colors to create a cross-dissolve effect.
|
|
|
|
|
|
As I predicted, my dad and I have very similar features, and our midway face looks quite similar to both of our pictures.
Next, I created a morph sequence by applying the same procedure as I used to compute the midway face, but changing the ratio that each image contributed to the final average. I computed 45 midway images with differing warp fractions and turned them into the morphing animations below. The warp fraction started at 0 and increased by 1/45 for each image in the morph sequence.
|
|
Using the initially released 37 images that was used in the average Danish computer scientist project. Using the points they selected for their project, I computed the average face myself using my own algorithms. I included some example images of photographs used in that project. After computing the average face, I warped each of the original images into the shape of the average face.
|
|
|
|
|
|
I also warped my own face into the average Danish face shape and morphed the average Danish face into my face shape.
|
|
|
|
|
|
For this part of the project, I used this average Danish face and used it to identify and amplify my most prominent features to create a caricature. Essentially, I found the difference between the average Danish face shape and my face shape using my defined corresponding points. Then, I multiplied that difference by some factor "x" and added it back to the shape of the average image. I used "x" values between 0 and 3, increasing my "x" value by 0.5 each iteration.
|
|
|
|
These caricatures showed me that the most prominent features of my face are my triangle shaped hair-line, my eyebrow arches, my smile, and my short and round head.
For my Bells and Whistles, I used all the functions I wrote to create a music video showing the members of the popular former boy band One Direction. I hand selected all the corresponding points for each image and then created morph sequences of 45 images from each image to the next. My music video showed the aging of each member over the past decade by morphing them into their older selves and then into the younger version of the next member.