Project 3 - CS 194-26 by Nitzan Orr

In this project, I finally conquered the coolest challenge of creating smooth transitions between 2 pictures. By transitioning the shape of the image from one to another, while also transitioning the color, it created a cool natural flow. Being able to do this requires that two images to lie on the same continuum so that at every step of the transformation looks believable. I started off by defining corresponding points between the two images I was working with. Then I used Delaunay triangulation to find a good mesh among them. It was suggested that the corners of the image should be included in the mesh. My goal was to transition between a remarkable portrait of Obama and an "are you kidding me?" Obama. Faces are a good use of morphing because they are not discrete events but rather continuous transformations of some "neutral" face form

Results and triangulation visualization

Midway face:

This is the halfway point of the transition from smug obama to sad obama.

I got to the point where I calculated the affine transformation between the start and ending triangles of the transformation sequence. Then, using reverse sampling, I planned to populate a new image canvas with pixel values from the right location in the source image. The progress I made in this project really helped me achieve more in the panorama stitching project! I hoped to also apply morphing to Google Maps street view imagery in order to create smooth transitions from one image to the next, as I stroll (scroll) down Bancroft Ave. This class taught me it's 100x more difficult to implement ideas than to understand them.

In this part of the project, I averaged out the shape of many people and fit their faces to that average shape. I also averaged out the colors, which creates a smooth look, like denoising.


Average dane                                                        Average smiling dane

Individual Danes wrapped into avg face

Morphed this dude’s face into Dane average face shape

Now, a morph of the average Dane into this dude’s face shape

I think they look even better now

You can see the joy in his eyes

Caricature with extra “average smiling Dane”. This was done using the morph function where I played with warp fraction in order to add more or less from the smiling dane.:

Alpha = 1 Alpha = 1.4

Alpha = -1.5

One more thing