120 likes | 339 Views
Human to Animal Face Morphing. Ron Ross Katy Wright. Task and Motivation. Task: Take an image of an animal and morph a human face with the animal’s face, then return the newly morphed face back to the animal body in the full input image.
E N D
Human to Animal Face Morphing Ron Ross Katy Wright
Task and Motivation • Task: Take an image of an animal and morph a human face with the animal’s face, then return the newly morphed face back to the animal body in the full input image. • Motivation: create unique and artistic renditions of people as their animal counterparts, used in a wide variety of propagandistic and advertisement settings • To make people you know look funny
Algorithm • First, we manually separated the faces of animal images from the full images. • Take a celebrity image and crop to just the face • First step in the program: selecting corresponding points in the two face images
Algocon’t • To select corresponding points, use provided Matlab function cpselect() that allows you to manually choose points • The points are exported and saved in matrices • Create triangulation maps over the faces • Use Delaunay Triangulation (Delaunay triangulations maximize the minimum angle of all the angles of the triangles in the triangulation)
Algocon’t • Warp the points into a new point/triangulation map using function: tP+(1-t)Q where P are the points of the first image and Q are the points of the second imageand t=1, i.e. if you want the morph 50/50, t=.5 • Affine warp each image to the new triangulation mesh
Algocon’t • Cross-dissolve the image pixels together into one image, or use Matlab’s function imfuse() to fuse the two images together (using imfuse(img1, img2, 'blend', 'Scaling', 'joint‚); • Optional: use a sharpening filter to bring out certain features, like eyes, that may get a little warped in the cross-dissolve process
Algocon’t • From here, we transition into Poisson blending (first, resizing the image back to scale) • To do so, we have to create the image mask using poly2mask() • As the full background may contrast the destination image too greatly, this step must be included
Algocon’t • From there, the algorithm will place the blended image to an area designated by the user • This will generate a mask of the image to the destination image, using the source mask to place the desired source face into the picture • From there, the final blending occurs, as was described in class
Successes and failings • Coloring is much more natural than simply using Poisson blending • Facial features are morphed to the animal’s facial shape • Creates an “interesting” rendition of a person as an animal • Obvious artifacts if looking for realism • Unable to handle odd facial structures easily • Poor performance as inputs get high
Example Outcomes = + = +
= + (morphed) + = (not morphed)
Failures • Why? The faces of horse-like animals are too elongated • Human facial expressions are difficult to align with animal facial expressions (i.e tongues) -> ->