BIO EN/CS 6640 Introduction to Image Processing - Assignment 1

Zach Gildersleeve
January 26, 2007

Single Point of Deformation

script used: singlePointDistort.m
image used: photo1-2.png

Using a gaussian function as a radial basis function is one means to smoothly deform and warp images. By selecting a starting point and a landmark point, where the landmark point is the expected translation of the starting point, it is possible to transform the underlying image. The implemented gaussian function depends on both a alpha value, the distance between the starting point and the landmark point, and a sigma value, which influences the visual spread of the deformation. A low value of sigma (0 < s < 0.3) is selective enough to "tear away" the transformed point, while a high value of sigma (s > 1.0) tends to act more like a global image translation.

The below images illustrate the effects of a changing value of sigma. The red line and markers indicate the starting point and landmark point used in the deformation.

Original Image
sigma = 0.25 - notice tearing
sigma = 0.5 - expected results
sigma = 0.75 - wider range of influence
sigma = 5.0 - essentially a translation

Multiple Points of Deformation

script used: multiplePointDistort.m
image used: photo1-2.png

It is possible to extend the above implementation of a gaussian based radial basis function deformation to incorporate multiple points. The resulting transforms are summed before they are then applied to the image. Ideally, each starting point will be transformed to each respective landmark point, but in practice the accuracy of the deformation depends on the sigma value used. A much narrower range of sigma returns accurate results, and this range varies according to the location of each of the landmark points. The below images illustrate this for three point pairs. The script itself allows any number of pairs, with the user hitting the return key to apply the transformation.

sigma = 0.25 - higher accuracy, but tearing artifacts exist
sigma = 0.5 - smoother deformation with some loss of accuracy
sigma = 0.75 - wider range of influence with decreased accuracy
sigma = 5.0 - essentially an average translation

Different Interpolation Methods

Using the single point deformation script, it is possible to examine the influence of different interpolation methods. All the above image use the default linear interpolation. Much of the differences between methods are not visible at full resolution, so the below images are zoomed to 200% the original image. All images shown have a sigma value of 0.5. Linear returns a much smoother result than nearest neighbor, but at the expense of a more blurred image that reduces fine detail like the grain of the metal cap. The results from the cubic method provide a negligible increase in quality over linear interpolation for this example. Spline interpolation does provide subjectively more crisp images than linear, but is much slower.

nearest neighbor interpolation
linear interpolation
cubic interpolation
spline interpolation