Point Warping


This method of image warping is based on a forward mapping technique, where each pixel from the input image is mapped to a new position in the output image. Since not every output pixel will be specified, we must use an interpolating function to complete the output image. We specify several control points, which will map exactly to a given location in the output image. The neighboring pixels will move somewhat less than the control point, with the amount of movement specified by a weighting function consisting of two separate components, both dependent on the distance from the pixel to each control point in the image.

The first component of the weighting function is a Gaussian function which is unity at the control point and decays to zero as you move away from the control point. The idea is to have pixels far away from a control point be unaffected by the movement of that point. The problem with this scheme is that each pixel is affected by the weighting functions of every control point in the image. So even though the weighting function at a control point may be one, that point will still be affected by the movement of every other control point in the image, and won't move all the way to its specified location.

In order to overcome this effect, we designed the second component of the weighting function, which depends on the relative distance from a pixel to each control point. The distance to the nearest control point is used as a reference, and the contribution of each control point is reduced by a factor depending on the distance to the nearest control point divided by the distance to that control point. This serves to force control point pixels to move exactly the same distance as their associated control points, with all other pixels moving somewhat less and being influenced most by nearby control points.

The following examples show some of the uses of warping. The first set of images shows how facial features and/or expressions can be manipulated. The second set shows how the overall shape of the image can be distorted (e.g., to match the shape of a second image for use in the morphing algorithm).

Roger with control points Grid to illustrate warping Warped Roger

The first image is a "normal" Roger with the control points we used identified. The second image shows how those points were moved. The last image is the more cheery Roger that results.

Kevin with control points Grid to illustrate warping Warped Kevin

Here we show what happens to Kevin when he combs his hair a little differently and goes off his diet.

Warping
Performance of Point Morph
Transformations with Lines
Morphing with Lines
Performance of Line Morph
Main Morphing Page
Main Project Page