This is an affine Lucas Kanade template tracker, which performs template tracking between movie frames. For example, to follow cars, moving coronary arteries or measure camera rotation.
The Matlab code is written to show the same steps as in the Literature, not optimized for speed. But also an inverse Lucas Kanada algorithm in c-code for quick template tracking is included, which also contains pixel weighting for more robustness.
S. Baker et Al. "Lucas-Kanade 20 Years On: A Unifying Framework"
D. Schreiber, "Robust template tracking with drift correction"
Try the TTdemo.m, see screenshot!
You can easily adapted the template tracking TTdemo to your own application, for instance:
- Update the template with image data from the new ROI found in the next movie frame.
- Use the ROIs in the next movie frames, also as templates.
- Calculate the speed from difference in affine parameters between movie frames. Speed can be used to detect if tracking fails, or to smooth the tracking, or to predict the next template position.
Bugs, success and other comments are welcome!
hello, do anyone know the name of interpolation method that the author used ?
Did anyone solve the question about generating a weight matrix for another ROI?
Hello, I would also like to know how to generate a weight template. I suspect it is a Gaussian filter of the selected region of interest. I would appreciate your input!
Hello. I am in the same situdation with Sonia Chikh. Could U tell us that how?
How is the images Weight.png calculated for a different template other than car.
hello, I just get started with matlab. I used to write all in C++. but Ir really need this KLT tracker for my work. but I can't manipulate the .mat file :s
I wanted to change the movie used but couldn't can you, please, tell me how... thanks a lot.
Linux Ubuntu Tested
Reliability matrix added, fixed missing code line in LucasKanadeAffine.m
Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.