Jafar
|
Technical details about the additional layer
Basics of the method can be found in the homepage of the documentation of the KLT lib : http://www.ces.clemson.edu/~stb/klt/.
A comparison between the KLT corner detector and Harris corner detector can also be found in this course of the University of Western Australia : http://undergraduate.csse.uwa.edu.au/units/CITS4240/Lectures/tracking.pdf.
An explanation of the multi-resolution pyramid of KLT can be found here : http://ilab.cs.ucsb.edu/publications/KolschBook05.pdf.
In brief, KLT select features representing corners using a method close to the Harris detector, and then track them maximizing the correlation with a Newton-Raphson technique, which operates with a multiresolution pyramid. Finally a consistency check of features using an affine mapping can be done.
Tomasi has proposed a feature selection based on corner detection, as Harris detector, but which is according to the author "optimal by construction because it is based on how the tracker works".
Corner detection, as in Harris detector, is based on a local structure matrix, but in a large area ( neighbourhood , providing a smoothing) :
Let's now consider the two eigenvalues and of the matrix C. As C is symmetric and positive semi-definite, both and are non-negative, and at the location of a corner we have : , where both eigenvalues are large.
The KLT algorithm compares the smaller eigenvalue to a threshold value and if greater saves in a potential corner list .
Then it sorts in decreasing order of , and scan the sorted list from top to bottom, selecting points in the list in sequence and removing points that fall inside the neighbourhood of any selected points (in order to have neighbourhood which do not overlap, because those which overlap are probably due to the same corner), until having the required count of features.
Basically, the tracking is done by an algorithm using Newton-Raphson on image correlation and which works under affine image transformations.
There are two models for image motion : translation - the simplest -, and affine motion. KLT uses translation for frame-to-frame transformations, but uses affine motion for comparing the pattern to the first image, to verify it has not too much moved away.
Birchfield uses a definition for the dissimilarity between two windows, one in image I and one in image J, which presents the particularity to be symmetric :
where , the displacement , and the weighting function usually set to the constant 1 (more information can be found at http://www.ces.clemson.edu/~stb/klt/birchfield-klt-derivation.pdf).
Then we can expand it in Taylor series truncated to the linear term, what leads to a matrix equation solved by Newton-Raphson.
Here are some details about the implementation of the additional layer :
Generated on Wed Oct 15 2014 00:37:30 for Jafar by doxygen 1.7.6.1 |