Implementation of CSR-DCF tracker (#1552)
* Initial commit for CSR-DCF tracker implementation
* Fixes for automatic build
* General code fixes
* Removed unused parameters. Added CSRT to automatic tests.
* Fixed VS build warnings. Fixed a bug with gray sequences.
* Fixed VS build errors for samples file.
* kcf use float data type rather than double.
In our practice, float is good enough and could get better performance.
With this patch, one of my benchmark could get about 20% performance gain.
Signed-off-by: Zhigang Gong <zhigang.gong@intel.com>
* Offload transpose matrix multiplication to ocl.
The matrix multiplication in updateProjectMatrix is one of the
hotspot. And because of the matrix shape is special, say the
m is very short but the n is very large. The GEMM implementation
in neither the clBLAS nor the in trunk implementation are very
inefficient, I implement an standalone transpose matrix mulplication
kernel here. It can get about 10% performance gain on Intel
desktop platform or 20% performance gain on a braswell platform.
And in the mean time, the CPU utilization will be lower.
Signed-off-by: Zhigang Gong <zhigang.gong@intel.com>
* Add verification code for kcf ocl transpose mm kernel.
Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>
* tracking: show FPS in traker sample
* tracking: fix MSVC warnings in KCF
* tracking: move OCL kernel initialization to constructor in KCF
* the first commit in the merged dnn: convert some public API from Blob's to Mat's
* temporarily or permantently removed OpenCL optimizations, which are not always stable nor usually very efficient; we'll likely use Halide instead
* got rid of Blob and BlobShape completely; use cv::Mat and std::vector<int> instead
* fixed a few compile errors
* got rid of separate .hpp files with layer declarations; instead, put everything into the respective .cpp files
* normalized all the layers' constructors; we concentrate on loading deep networks layers from files instead of constructing them from scratch, so we retained only SomeLayer::SomeLayer(const LayerParams& params); constructors
* fixed sample compilation
* suppress doxygen warnings
* trying to fix python bindings generation for DNN module
* temporarily disable python bindings while we refactor the module
* fix win32/win64 compile errors; remove trailing whitespaces
* fix win32/win64 compile errors; remove trailing whitespaces