Since the Lucas-Kanade algorithm was proposed in 1981, image alignment has become one of the most widely used techniques in computer vision. Applications range from optical flow, tracking, and layered motion, to mosaic construction, medical image registration, and face coding. Numerous algorithms have been proposed and a wide variety of extensions have been made to the original formulation. We present an overview of image alignment, describing most of the algorithms and their extensions in a consistent framework. We concentrate on the inverse compositional algorithm, an efficient algorithm that we recently proposed. We examine which of the extensions to the Lucas-Kanade algorithm can be used with the inverse compositional algorithm without any significant loss of efficiency, and which require extra computation. In Part 1 we cover the quantity approximated, the warp update rule, and the gradient descent approximation. In Part 2 we cover the choice of the error function. In Part 3 we cover the extension of image alignment to allow linear appearance variation. And finally in Part 4 we cover the addition of priors on the parameters.
Matlab source code for Lucas-Kanade 20 Years On: A Unifying Framework Part 1
Matlab source code for Lucas-Kanade 20 Years On: A Unifying Framework Part 2
Matlab source code for Lucas-Kanade 20 Years On: A Unifying Framework Part 3