download

Here you can download the three on-line boosting based trackers (Licensed under LGPL, use at own risk) as

In this version only Haar-like wavelets are used as basic features and weak classifiers are simple decision stumps. Further, no scale/ rotation adaption is implemented.

 

download pre-compiled win32 binaries


win32 binaries (preliminary version 0.3 - comments are more than welcome)

If the binaries do not run on your computer, you should install the Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package ATL Security Update.

 

Usage: Start the tracker using one of the following commands:

    BoostingTracker [myConfig.txt]
    SemiBoostingTracker [myConfig.txt]
    BeyondSemiBoostingTracker [myConfig.txt]
 

Mark the target object in the first frame using the mouse. Then change to the DOS-window and press <ENTER>. Tracking starts...
 

(a) start the program(b) initialize the object(c) tracking...


Additionally you might change some parameters manually using the config file:

 

% Boosting Tracking
version 0.3
Version of the Software
% source options: USB, AVI, JPEG
source = USB
% only if source is AVI OR JPEG
directory = ""
Specify the input video stream. One might use a USB webcamera connected to the computer, an AVI-video file or an JPEG image sequence. For the later two the filename or the folder containing the single images has to be specified.
% write debug information
debug = true
saveDir = "./results"
Tracking results can be saved during tracking. You can find the images with the tracked bounding box and a textfile with the coordinates of the tracked bounding box (format: #frameNumber upper left height width confidence)
% classifier (boosting)
numSelectors = 100 
Parameters for the on-line boosting classifier. The classifier will be more powerful if you increase the number of selectors (generally better tracking results, but slower).
% search region (size and resolution)
overlap = 0.99
searchFactor = 2
Parameters of the search region. The overlap (0<overlap<1) specifies the search grid, i.e., the number of evaluations (generally  more accurate tracking results with higher overlap, but slower). The search factor (searchFactor > 1) determines the size of the local search region with respect to the tracked object size. Note, for Semi-Supervised and Beyond Semi-Supervised Tracker the the values are automatically set once the object is lost (overlap = 0.98; search region is the whole image).
%initialization bounding box: MOUSE or COORDINATES
initBB = MOUSE

%if COORDINATES bb = x y width height
bb = 530 340 42 111
You can either select the bounding box of the object to be tracked manually (MOUSE) or by specifying the coordinates (COORDINATES).

download source code

 

complete source code (platform independent) (preliminary version 0.3 - comments are more than welcome)

Additional Library used:    OpenCV Version 1.0: download here


If you use Visual Studio 2005, here are the settings:

  • Compiler settings (Configuration: All Configurations) (Configuration Properties / C/C++ / General / Additional Include Directories)
            \OpenCV\cv\include
            \OpenCV\cxcore\include
            \OpenCV\otherlibs\highgui
            \OpenCV\otherlibs\cvcam\include

  • Linker settings (Configuration Properties / Linker / Input / Additional Dependencies)

             cv.lib cxcore.lib cvcam.lib highgui.lib

    and (Configuration Properties / Linker / General / Additional Library Directories)

            \OpenCV\lib

If you use Linux, here are some adjustments to compile the framework correctly: (provided by Alessandro Prest - thanks!)