<<<<<<< HEAD
This package includes a C++ class with several tracking methods based on the Kernelized Correlation Filter (KCF) [1, 2].
It also includes an executable to interface with the VOT benchmark.
[1] J. F. Henriques, R. Caseiro, P. Martins, J. Batista,
"High-Speed Tracking with Kernelized Correlation Filters", TPAMI 2015.
[2] J. F. Henriques, R. Caseiro, P. Martins, J. Batista,
"Exploiting the Circulant Structure of Tracking-by-detection with Kernels", ECCV 2012.
Authors: Joao Faro, Christian Bailer, Joao F. Henriques
Contacts: joaopfaro@gmail.com, Christian.Bailer@dfki.de, henriques@isr.uc.pt
Institute of Systems and Robotics - University of Coimbra / Department of Augmented Vision DFKI
"KCFC++", command: ./KCF
Description: KCF on HOG features, ported to C++ OpenCV. The original Matlab tracker placed 3rd in VOT 2014.
"KCFLabC++", command: ./KCF lab
Description: KCF on HOG and Lab features, ported to C++ OpenCV. The Lab features are computed by quantizing CIE-Lab colors into 15 centroids, obtained from natural images by k-means.
The CSK tracker [2] is also implemented as a bonus, simply by using raw grayscale as features (the filter becomes single-channel).
There are no external dependencies other than OpenCV 3.0.0. Tested on a freshly installed Ubuntu 14.04.
- cmake CMakeLists.txt
- make
The runtracker.cpp is prepared to be used with the VOT toolkit. The executable "KCF" should be called as:
./KCF [OPTION_1] [OPTION_2] [...]
Options available:
gray - Use raw gray level features as in [1].
hog - Use HOG features as in [2].
lab - Use Lab colorspace features. This option will also enable HOG features by default.
singlescale - Performs single-scale detection, using a variable-size window.
fixed_window - Keep the window size fixed when in single-scale mode (multi-scale always used a fixed window).
show - Show the results in a window.
To include it in your project, without the VOT toolkit you just need to:
// Create the KCFTracker object with one of the available options
KCFTracker tracker(HOG, FIXEDWINDOW, MULTISCALE, LAB);
// Give the first frame and the position of the object to the tracker
tracker.init( Rect(xMin, yMin, width, height), frame );
// Get the position of the object for the new frame
result = tracker.update(frame);
======= #Anti-UAV System Based on PTZ Camera
-
Recognize UAV (Unmanned Aerial Vehicle) by using the combinition of optical image and IR (Infrared) thermal image.
-
Track it by CF (corelation filter).
-
Locate it by LRF (Laser Range Finder) and pan-tilt bias (based on the geodetic coordinate system).
-
Hit it with laser gun.
or to simplify the problem:
-
Recognize UAV (Unmanned Aerial Vehicle) using optical image.
-
Track it by CF (Correlation Filter).
-
Hit it with laser gun.
- The USB camera is bound onto the pan-tilt of the tank,with its optical axis paralleled with the gun.
- Laser is bound onto the gun, paralleled with the optical axis of the camera; that is, gun, camera and laser should be in a line.
- Board is put on the chassis of the tank.
- Bangjie Mo : Pan-tilt Controller (May take PID algorithm, stable and sensitive required)
- Junwei Liu : UAV Recognition (Indoor condition, fast & rubost required)
- WanJun He : UAV Tracking (Indoor condition, fast & rubost required)
- 2016/5/27 -> Tank can be fully controlled by MinnowBoard, including chassis, pan-tilt, laser and gun.
- 2016/5/28 -> Tank can response to the movement of the target (UAV) and aim at it using laser in real time.
- 2016/6/04 -> Tank can follow the movement of the UAV, getting closer if the UAV flys father, getting farther if the UAV flys closer.
- 2016/6/05 -> Tank can still aim at the UAV using laser when both of the two sides are moving.
- 2016/6/11 -> Final test for the function requirements above.
- 2016/6/12 -> Apply Guidance module to the tank, give it the ability to avoid obstacles.
- improvment:
- 2016/6/18 -> Apply the same algorithm to the UAV.
- 2016/6/19 -> Start the war between the tank and UAV.
58d0730c7bb368d855d52981ec2d1ba9a988f81b