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
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