]>
rtime.felk.cvut.cz Git - hercules2020/kcf.git/log
Shanigen [Tue, 7 Aug 2018 08:26:35 +0000 (10:26 +0200)]
FFT does not take whole Scale_vars struct
FFT class now does not need to know anything about the tracker. It only gets as
input parameters objects and variables on which to perform FFT. Also Scale_vars
constructor was added, which allocates memory for variables.
Shanigen [Fri, 3 Aug 2018 13:44:53 +0000 (15:44 +0200)]
Removed obsolete variable
Shanigen [Fri, 3 Aug 2018 13:34:45 +0000 (15:34 +0200)]
Cleaned OpenCV version
All version now uses same minimal FFT API and workflow.
TODO Clean the scale_var and scale_vars_init, add support for big_batch
mode for FFTW and CUFFT, implement cuda streams.
Shanigen [Fri, 3 Aug 2018 12:49:21 +0000 (14:49 +0200)]
Cleaned FFTW version
FFTW version now same as CUFFT version uses minimized API of FFT and has minimal number
of memory copies.
Shanigen [Fri, 3 Aug 2018 12:21:47 +0000 (14:21 +0200)]
Remove memory copying from host to device
Cufft version no longer copies data from host to device in forward_window function.
TODO add support for big_batch mode to CUFFT.
Shanigen [Fri, 3 Aug 2018 11:00:12 +0000 (13:00 +0200)]
Smaller FFT API
FFT API now only consist these functions: forward, forward_window and inverse.
All of them take Scale_vars structure as the sole input parameter. This API
currently works only with CuFFT if I remember correctly. I will have to test it
with OpenCV and FFTW.
Shanigen [Fri, 3 Aug 2018 10:32:23 +0000 (12:32 +0200)]
KCF_Tracker::init now uses Scale_vars FFT API
Shanigen [Fri, 3 Aug 2018 08:55:15 +0000 (10:55 +0200)]
CuFFT uses only inverse(Scale_vars & vars)
CuFFT version of the tracker now only uses one inverse function.
The next goal is to do the same for forward FFT function.
Shanigen [Fri, 3 Aug 2018 08:09:42 +0000 (10:09 +0200)]
All versions now use same FFT API
Added CUFFT support for inverse(Scale_vars &vars) function. So the scale_track function
is now same for OpenCV, FFTW and CuFFT versions of the tracke.
Shanigen [Wed, 1 Aug 2018 14:02:35 +0000 (16:02 +0200)]
Added CUFFT support
CUFFT now works with Scale_vars struct but priority now will be for
all versions of the tracker to use same API in FFT class.
Shanigen [Wed, 1 Aug 2018 12:04:17 +0000 (14:04 +0200)]
Added KCF_Tracker::init_scale_vars method
Added KCF_Tracker::init scale_vars method so the KCF_Tracker::init
is not so bloated and easier to read.
Shanigen [Wed, 1 Aug 2018 11:42:13 +0000 (13:42 +0200)]
Scale_vars version now supports FFTW
Added support for FFTW in Scale_vars version of the tracker.
The nondeterminism problem with FFTW version seems to be corrected
for single threaded version of the tracker (In this version the FFTW
uses 2 threads for its plans). But for the std::async version and OpenMP
version of the tracker the problem persists. But when tested the nondeter-
minism is smaller than in the original implementation.
Shanigen [Wed, 1 Aug 2018 09:34:39 +0000 (11:34 +0200)]
Added support for std::async and OpenMP
Added support for std::async and OpenMP. All parallel and
single threaded options only works with OpenCV currently.
Shanigen [Wed, 1 Aug 2018 08:51:08 +0000 (10:51 +0200)]
Removed memory allocation in tracker update
Added xf to Scale_vars, which is used during tracker updating and was allocated every frame.
Now it is allocated only once in KCF_Tracker::init in scale_vars[0] and is reused every frame.
Shanigen [Tue, 31 Jul 2018 22:29:12 +0000 (00:29 +0200)]
Added linear kernel support
Added linear kernel option to the scale_track method.
Shanigen [Tue, 31 Jul 2018 09:03:44 +0000 (11:03 +0200)]
Modified CMAKE
Modified CMAKE to correctly show scale_vars.hpp as one of the source files.
Shanigen [Tue, 31 Jul 2018 08:32:18 +0000 (10:32 +0200)]
Corrected the tracking issue
Correction of commit
f5fe586e979629ba757f245e5ecdf9e6bbdf6c05 ,
in which I substantialy changed the whole tracker workflow.
This is a patch that corrects the issue with wrong tracking,
which happened because I used wrong value of scale to
compute weighted max response in response map.
Shanigen [Tue, 24 Jul 2018 12:23:38 +0000 (14:23 +0200)]
Initial commit to cuda-streams.
Shanigen [Mon, 30 Jul 2018 15:32:25 +0000 (17:32 +0200)]
Work done so far on making Scale_var struct
This is work done so far in making the tracker workflow easier to follow and also the step to add support for CUDA streams.
Shanigen [Tue, 24 Jul 2018 12:23:38 +0000 (14:23 +0200)]
Initial commit to cuda-streams.
Michal Sojka [Tue, 31 Jul 2018 11:13:53 +0000 (13:13 +0200)]
Fix paper references
Shanigen [Thu, 26 Jul 2018 14:13:32 +0000 (16:13 +0200)]
Fix out of bound load and stores
We simple allocates more memory so that unaligned SSE
loads and stores always operate on valid memory.
This closes #7.
Shanigen [Thu, 26 Jul 2018 13:51:34 +0000 (15:51 +0200)]
Addition of Scale_var structure.
I added Scale_var structure to begin work to fix issue #6. This should also fix #8. This is not the final version of the structure but it is
stable version, which works with all versions and there should currently be no problems with building of the KCF_tracker.
Shanigen [Thu, 26 Jul 2018 11:12:26 +0000 (13:12 +0200)]
Corrected mistake in CUFFT introduced with
8b28efcd5c939b1d41ce02ac0c2e267d204e4e72
In the commit
8b28efcd5c939b1d41ce02ac0c2e267d204e4e72 I introduced float ComplexMat::sqr_norm() method again but forgot to add also to Cufft
version of the ComplexMat.
Shanigen [Wed, 25 Jul 2018 12:10:16 +0000 (14:10 +0200)]
Changes that should correct some race conditions
Changes were made primary to the sqr_norm ComplexMat method, which was unsafe for parallel modes.
Michal Sojka [Wed, 25 Jul 2018 06:44:15 +0000 (08:44 +0200)]
Draw ground truth rectangle in visualisation window
Michal Sojka [Wed, 25 Jul 2018 06:31:16 +0000 (08:31 +0200)]
Refactor metric calculation and change its name
The new name (accuracy) is taken from [1] and in my view it is better
than intersection ratio.
[1] M. Kristan et al., A Novel Performance Evaluation Methodology for
Single-Target Trackers, 2015, https://arxiv.org/pdf/1503.01313
Michal Sojka [Wed, 25 Jul 2018 06:16:04 +0000 (08:16 +0200)]
Get rid of redundant variable use_iou
Michal Sojka [Tue, 24 Jul 2018 12:45:21 +0000 (14:45 +0200)]
Simplify README
Michal Sojka [Tue, 24 Jul 2018 07:46:51 +0000 (09:46 +0200)]
Add clang-format configuration
... and few annotations for it.
Shanigen [Tue, 24 Jul 2018 08:39:21 +0000 (10:39 +0200)]
Corrected small mistake with terminating character
Shanigen [Tue, 24 Jul 2018 07:48:20 +0000 (09:48 +0200)]
Made an error message easier to read.
Shanigen [Tue, 24 Jul 2018 07:43:29 +0000 (09:43 +0200)]
Corrected description of CUDA_DEBUG mode.
Shanigen [Mon, 23 Jul 2018 12:56:38 +0000 (14:56 +0200)]
Added calculation of intersection over union of groundtruth and calculated bounding box to show accuracy of the tracker.
Shanigen [Mon, 23 Jul 2018 09:14:57 +0000 (11:14 +0200)]
Restored CUDA_DEBUG mode, which now enables more thorough error checking using cudaDeviceSynchronize.
Shanigen [Mon, 23 Jul 2018 06:34:51 +0000 (08:34 +0200)]
Merge branch 'master' of https://github.com/Shanigen/kcf
Shanigen [Mon, 23 Jul 2018 06:33:47 +0000 (08:33 +0200)]
Added better error messages for checking window size and when
using -f.
Michal Sojka [Wed, 18 Jul 2018 20:42:47 +0000 (22:42 +0200)]
Remove CUDA_DEBUG option
This option is not about debugging but about error checking. And errors
should be ALWAYS done, because without that weird things (like segfaults)
can happen.
Shanigen [Wed, 18 Jul 2018 12:12:32 +0000 (14:12 +0200)]
Removed mistake that CUDA versions require OpenCV 3.0+
Shanigen [Wed, 18 Jul 2018 11:22:30 +0000 (13:22 +0200)]
Changed long string to multiline.
Shanigen [Wed, 18 Jul 2018 10:46:21 +0000 (12:46 +0200)]
Merge branch 'master' of https://github.com/Shanigen/kcf
Shanigen [Wed, 18 Jul 2018 10:45:35 +0000 (12:45 +0200)]
Added more verbose error message, when checking window size.
Michal Sojka [Wed, 18 Jul 2018 09:26:35 +0000 (11:26 +0200)]
README: Add command to install prerequisities
Michal Sojka [Wed, 18 Jul 2018 09:18:36 +0000 (11:18 +0200)]
cmake: Use pkg-config to find FFTW library
Michal Sojka [Wed, 18 Jul 2018 08:01:57 +0000 (08:01 +0000)]
Supress some CUDA-related warnings
Michal Sojka [Wed, 18 Jul 2018 05:14:36 +0000 (07:14 +0200)]
README: Clarify -DOPENMP description
Michal Sojka [Tue, 17 Jul 2018 20:59:57 +0000 (22:59 +0200)]
README: Clarifications, improvements...
Michal Sojka [Tue, 17 Jul 2018 20:37:59 +0000 (22:37 +0200)]
REAMDE: Fix
Michal Sojka [Tue, 17 Jul 2018 20:36:25 +0000 (22:36 +0200)]
README: Convert links to reference-style
... to make the README readable in plain text.
Michal Sojka [Mon, 16 Jul 2018 13:36:16 +0000 (15:36 +0200)]
README: Wrap long lines
This should make the README readable in plain text editors.
Michal Sojka [Fri, 13 Jul 2018 14:01:00 +0000 (16:01 +0200)]
Makefile: Do not run cmake if it has already been run
Michal Sojka [Fri, 13 Jul 2018 13:27:11 +0000 (15:27 +0200)]
README: Cleanup whitespace
Shanigen [Wed, 11 Jul 2018 11:39:40 +0000 (13:39 +0200)]
Modified description for OpenMP option and Fftw version.
Shanigen [Wed, 11 Jul 2018 11:38:56 +0000 (13:38 +0200)]
Modified Fftw version to correctly use OpenMP.
Michal Sojka [Wed, 11 Jul 2018 06:59:03 +0000 (08:59 +0200)]
README: Give example how to compile CUDA-based version
Michal Sojka [Tue, 10 Jul 2018 16:53:51 +0000 (18:53 +0200)]
Optional arguments must not be separated by space
Michal Sojka [Tue, 10 Jul 2018 15:39:56 +0000 (17:39 +0200)]
Update README
Michal Sojka [Tue, 10 Jul 2018 16:35:36 +0000 (18:35 +0200)]
Fix help message
Shanigen [Wed, 4 Jul 2018 07:03:30 +0000 (09:03 +0200)]
Corrected small mistake in Readme.
Shanigen [Wed, 4 Jul 2018 07:01:51 +0000 (09:01 +0200)]
Corrected small mistake with table in Readme.
Shanigen [Wed, 4 Jul 2018 06:55:41 +0000 (08:55 +0200)]
Added additional information to the Readme.
Shanigen [Tue, 3 Jul 2018 12:09:38 +0000 (14:09 +0200)]
Removed cudaDeviceSynchronize in Gaussian correlation.
Shanigen [Thu, 24 May 2018 19:55:05 +0000 (21:55 +0200)]
Deleleted obsolete folder with profiling results.
Shanigen [Thu, 24 May 2018 10:02:52 +0000 (12:02 +0200)]
Update README.md
Shanigen [Wed, 23 May 2018 12:18:53 +0000 (14:18 +0200)]
Added non-template version of the ComplexMat class to test out the HERCULES compiler.
Shanigen [Tue, 15 May 2018 17:22:37 +0000 (19:22 +0200)]
Corrected small mistake in scaling.
Shanigen [Tue, 15 May 2018 12:37:01 +0000 (14:37 +0200)]
Modified custom size window. You can now select both dimensions.
Shanigen [Mon, 14 May 2018 08:21:20 +0000 (10:21 +0200)]
Merge branch 'master' of https://github.com/Shanigen/kcf
Shanigen [Mon, 14 May 2018 08:20:26 +0000 (10:20 +0200)]
Corrected flags used during initialization of Fftw plans.
Shanigen [Sun, 13 May 2018 09:07:30 +0000 (11:07 +0200)]
Added source
Shanigen [Sat, 12 May 2018 13:05:32 +0000 (15:05 +0200)]
Modified parallel version of Fftw use POSIX threads only when the sequential version is used.
Shanigen [Wed, 9 May 2018 15:37:02 +0000 (17:37 +0200)]
Added sanity check to prevent combining OpenCV version with big batch mode, which it does not support.
Shanigen [Wed, 9 May 2018 15:16:35 +0000 (17:16 +0200)]
Addde warning, when using linear kernel with cufft version.
Shanigen [Wed, 9 May 2018 15:14:50 +0000 (17:14 +0200)]
Changed destructor of cuFFT to only destroy plans and delete data used in big batch mode, when big batch mode is on.
Shanigen [Wed, 9 May 2018 15:03:49 +0000 (17:03 +0200)]
Git corrected some issue, with destruction of fftw plans.
Shanigen [Wed, 9 May 2018 15:01:20 +0000 (17:01 +0200)]
Added support for big bach mode for linear kernal.
Shanigen [Wed, 9 May 2018 13:15:04 +0000 (15:15 +0200)]
Added sanity check for cuFFT version, which prevents unsupported combinations.
Shanigen [Wed, 9 May 2018 11:43:07 +0000 (13:43 +0200)]
Delete kcf.o
Shanigen [Wed, 9 May 2018 11:42:48 +0000 (13:42 +0200)]
Delete kcf.h.gch
Shanigen [Mon, 7 May 2018 03:44:14 +0000 (05:44 +0200)]
Merge branch 'master' of https://github.com/Shanigen/kcf
Shanigen [Mon, 7 May 2018 03:42:03 +0000 (05:42 +0200)]
Added custom scaling size option. The final window dimension size has to be divasible by cell size.
Shanigen [Fri, 4 May 2018 08:59:10 +0000 (10:59 +0200)]
Update README.md
Shanigen [Mon, 23 Apr 2018 14:07:41 +0000 (16:07 +0200)]
Changed scaling of window to be always 128x128 resulting in 32x32 matrice for feature descriptors.
Shanigen [Mon, 23 Apr 2018 12:59:36 +0000 (14:59 +0200)]
Gaussian correlation for CUFFT version is now on GPU. Also corrected << operator for CUDA ComplexMat
Shanigen [Thu, 19 Apr 2018 17:20:02 +0000 (19:20 +0200)]
Added forward_raw function to ffts in preparation to full cuda support.
Shanigen [Thu, 19 Apr 2018 16:30:03 +0000 (18:30 +0200)]
Corrected small mistake with inverse raw in cufft.
Shanigen [Thu, 19 Apr 2018 16:04:36 +0000 (18:04 +0200)]
Addition of inverse_raw in ftt for preparition of full cuda support. Moved cuda error check functions to cuda folder.
Shanigen [Thu, 19 Apr 2018 15:39:05 +0000 (17:39 +0200)]
Some minor corrections to variable in kcf.
Shanigen [Thu, 19 Apr 2018 15:18:47 +0000 (17:18 +0200)]
Added check in complexmat to prevent double freeing data on same pointer. Also added global variables with
dimensions for future use in cuda implementation.
Shanigen [Thu, 19 Apr 2018 11:29:08 +0000 (13:29 +0200)]
Added error cheking for CUDA API calls and CUDA kernels.
Shanigen [Thu, 19 Apr 2018 09:33:55 +0000 (11:33 +0200)]
Removed unused cuda streams in cufft.
Michal Sojka [Mon, 16 Apr 2018 13:48:48 +0000 (15:48 +0200)]
Merge branch 'master' of github.com:Shanigen/kcf
Michal Sojka [Mon, 16 Apr 2018 13:48:44 +0000 (15:48 +0200)]
Fix indentation and whitespace
Shanigen [Mon, 16 Apr 2018 11:56:09 +0000 (13:56 +0200)]
Added safety check for image dimensions in cuFFT version.
Shanigen [Tue, 10 Apr 2018 13:05:15 +0000 (15:05 +0200)]
Merge branch 'master' of https://github.com/Shanigen/kcf
Shanigen [Tue, 10 Apr 2018 13:00:23 +0000 (15:00 +0200)]
Removed zero copy for complexmat now it is using normal device memory. Added zero copy memory to cufft and minimized memory copy from device to host and host to device.
Michal Sojka [Mon, 9 Apr 2018 11:14:25 +0000 (13:14 +0200)]
Do not delete OpenCV_DIR example from toplevel Makefile
Shanigen [Fri, 6 Apr 2018 09:54:38 +0000 (11:54 +0200)]
Modified Makefile to build all the current working options.
Shanigen [Wed, 4 Apr 2018 18:12:44 +0000 (20:12 +0200)]
Completed implementation of cufft and complexmat cuda implementation with custom kernels. Also added big batch variable to ffts.
Shanigen [Thu, 29 Mar 2018 11:08:36 +0000 (13:08 +0200)]
Sqr norm in complexmat now returns array.