Summary: Brief summary of the problem and previous work.
Image stabilization can be done in many different ways. Kanade-Lucas-Tomasi (KLT) feature tracking is one of the computationally inexpensive ways, in comparison to 2-D correlation and even SIFT. We chose Stan Birchfield's implementation because it is written in C and we found it easy to interface to in comparison with other open-source implementations.
When we have a set of common features between two images, we can 'undo' the transformation that makes the second image's features reside in a different location than the first, creating a new image whose features have similar locations to those in the first image.
In order to accomplish this, we use a series of least-squares affine transformations on the set of features to determine the `best' values for the un-affine we perform to correct the later image. After this, we then filter the resulting affine transformation, keeping the low-frequency movement (such as panning) and removing the high-frequency jitter.
Pictorally, the process is as such: