15-663 Project 4

Pratch Piyawongwisal (ppiyawon)

Face Morphing

Overview

In this project, I produce animations of morphing my face into another face by using triangulation, interpolation, and affine transform.

Approach

The morph is a simultaneous warp of image shape and a cross-dissolve of image color over time. To morph image1 to image2 over 61 animation frames, first I manually mark 67 corresponding feature points between the two images, which includes the 4 image corners. I then interpolate 59 points between each feature point pair (59 interpolated frames + 1 image1 frame + 1 image2 frame = 61). I generate a Delaunay Triangulation of the point set in the midway of interpolation.


67 control points and its triangulation

Triangulation of midway interpolated points

For each frame, I compute inverse affine transform matrices that warp triangles in the intermediate frame to their locations in image1 and image2. Next, for each pixel in the intermediate frame, I find which triangle it belongs to by using mytsearch.m. I apply the inverse affine transform matrix of that triangle to the pixel coordinates to find its corresponding location in image1 and image2, in which I will grab the pixel intensity from. I cross-dissolve the pixel intensity from image1 with weight 1-C and image2 with weight C, where C increases uniformly from 0 to 1 for frame 0 to 61. This results in a final morphed frame.

Results

Morph

Morph my face into the next person in the class alphabetically. Download Frames

Me
Ronald Lai
Result

Mean Face

Find average face of everyone in the class. (I removed one face with bad control points)

Mean Face (All)
Mean Face (Male)
Mean Face (Female)

Morph my face to mean face. Download Frames

Bells and Whistles

Feminize

Warp male face into female average shape

Original
Mean Face (Female)
Feminized

Masculinize

Warp female face into male average shape

Original
Mean Face (Male)
Masculinized

Bulbasaur Evolution

Bulbasaur
Ivysaur
Venusaur

Result:


           ——Solar Beam!!

The transition from Bulbasaur to Ivysaur is quite smooth. However, we can see a clear ghosting effect in the final evolution to Venusaur. This is probably because Venusaur's shape and pose are so different from the previous two. Download Frames