The goal of image/face morphing is to find the average of two objects/faces in the images. It is not an average of two images of objects (faces); rather, it is an image of the average object (face). The very first idea that might come to mind is a two-step process:
- Globally align two face images (warping with an affine transformation).
- Cross-dissolve (a linear combination of the images with alpha-blending) to create the output image.
But this often does not work. We can again resort to (local) feature matching. For example, to do face morphing, the matching can take place between keypoints such as nose to nose, eye to eye, and so on—this is a local (non-parametric) warp.
Here are the steps of the face morphing implementation with the mesh-warping algorithm:
- Defining correspondences: The face morphing algorithm transforms the source face into the target...