The software implements multiple-kernel tracking. For more technical details, please refer to the following papers:
C. Chu, J. Hwang, H. Pai, and K. Lan, “Tracking human under occlusion based on adaptive multiple kernels with projected gradients,” IEEE Transactions on Multimedia, 2013.
C. Chu, J. Hwang, H. Pai, and K. Lan, “Robust video object tracking based on multiple kernels with projected gradients,” Proc. IEEE Conf. on ASSP, May, 2011.
Resources: The implementation uses OpenCV Version 2.1.0. Please download the OpenCV library before trying the binary and the source code.
I. Change the directory of the video and other parameters in "tracking_config.txt". Change the basic parameters for quick experiment. For extensive experiments, check the paper or the source code for adjusting the additional parameters.
III. Choose the codec for the result video like Fig. 1.
IV. New window called "tracking" pops out. Change to this window and press "t". ("t" stands for "tracking")
V. Initialization starts. Three types of initialization methods (selected in "tracking_config.txt"):
0: use mouse to select each kernel:
This method allows you to mark the ROI for the model of each kernel individually. This usually gives better tracking result since the initial models include less noise.
1: use coordinate:
This method uses the centroid and size of the object for initialization.
2: use mouse to select the whole object:
This method allows you to mark the ROI of the whole object, and the kernels will generated automatically based on the default layout.
Below are some useful tips for ROI selection, and you may find them handy:
- If you would like to use existing mask images instead of selecting ROI again, for instance, you want to use the same initial model for doing some repeating experiments, you can put those files under current directory. When you are asked to select ROI, instead of selecting ROIs, just press "Esc", and it will not create/overwrite binary mask images. The system then will use the existing mask images for initialization. Note that, if you want to do this to two kernels, you need to press "Esc" twice, since the initialization steps for different kernels are taken place separately.
- During selecting ROI, if you mis-click on wrong places, just press "r" ("r" represents "restore"). All the markers will be cleared, and you can start over.
- If you do not want to select ROI from the first frame of your video, press "p" ("p" stands for "proceed"). The system will proceed to next frame. Keep pressing "p" until the frame you want to use for initialization. Press "t" to start initialization.
VI. Tracking starts.
VII. After the tracking is complete, press "Esc" under the "tracking" window to quit. Now you can find the "result.avi", "tracklog.txt" and result images (optional) under the same folder.