of the algorithm including execution on the GPU. The aim is also to
modify the code according to the PRedictable Execution Model (PREM).
-Stable version of the tracker is available from [CTU server][2],
-development happens at [Github][3].
+Stable version of the tracker is available from a [CTU server][2],
+development happens at GitHub [here][wsh] and [here][3].
[1]: http://hercules2020.eu/
[2]: http://rtime.felk.cvut.cz/gitweb/hercules2020/kcf.git
+[wsh]: https://github.com/wentasah/kcf
[3]: https://github.com/Shanigen/kcf
## Prerequisites
-The code depends on OpenCV 2.4 (3.0+ for CUDA-based version) library
-and [CMake][13] is used for building. Depending on the version to be
-compiled you need to have development packages for [FFTW][4],
-[CUDA][5] or [OpenMP][6] installed.
+The code depends on OpenCV 2.4 library
+and [CMake][13] (optionally with [Ninja][8]) is used for building.
+Depending on the version to be compiled you need to have development
+packages for [FFTW][4], [CUDA][5] or [OpenMP][6] installed.
+
+On TX2, the following command should install what's needed:
+``` shellsession
+$ apt install cmake ninja-build libopencv-dev libfftw3-dev
+```
[4]: http://www.fftw.org/
[5]: https://developer.nvidia.com/cuda-downloads
| --- | --- |
| `-DASYNC=ON` | Use C++ `std::async` to run computations for different scales in parallel. This doesn't work with `BIG_BATCH` mode.|
| `-DBIG_BATCH=ON` | Concatenate matrices of different scales to one big matrix and perform all computations on this matrix. This mode doesn't work with `OpenCV` FFT.|
-| `-DOPENMP=ON` | This option can only be used with `OpenCV` or `fftw` FFT implementations. In the default mode it will run computations for differenct scales in parallel. With `-DBIG_BATCH=ON` it will parallelize the feature extraction and the search for maximal response for differenct scales. In case of `fftw` Ffftw's plans will execute in parallel.|
-| `-DCUDA_DEBUG=ON` | This mode adds CUDA error checking for all kernels and CUDA runtime libraries. Only works with `cuFFT` version.|
+| `-DOPENMP=ON` | Parallelize certain operation with OpenMP. This can only be used with `OpenCV` or `fftw` FFT implementations. By default it runs computations for differenct scales in parallel. With `-DBIG_BATCH=ON` it parallelizes the feature extraction and the search for maximal response for differenct scales. With `fftw`, Ffftw's plans will execute in parallel.|
+| `-DCUDA_DEBUG=ON` | Adds calls cudaDeviceSynchronize after every CUDA function and kernel call.|
| `-DOpenCV_DIR=/opt/opencv-3.3/share/OpenCV` | Compile against a custom OpenCV version. |
Original C++ implementation of KCF tracker was written by Tomas Vojir
[here][12] and is reimplementation of algorithm presented in
-"High-Speed Tracking with Kernelized Correlation Filters" paper [1].
+"High-Speed Tracking with Kernelized Correlation Filters" paper \[1].
[12]: https://github.com/vojirt/kcf/blob/master/README.md
## References
-[1] João F. Henriques, Rui Caseiro, Pedro Martins, Jorge Batista,
+\[1] João F. Henriques, Rui Caseiro, Pedro Martins, Jorge Batista,
“High-Speed Tracking with Kernelized Correlation Filters“, IEEE
Transactions on Pattern Analysis and Machine Intelligence, 2015