]>
rtime.felk.cvut.cz Git - hercules2020/kcf.git/log
Michal Sojka [Wed, 26 Sep 2018 13:08:08 +0000 (15:08 +0200)]
Reformat, remove stale comments
Michal Sojka [Wed, 26 Sep 2018 11:37:09 +0000 (13:37 +0200)]
Give fit parameters default values
This is to make the KCF_Tracker interface compatible with the original
code.
Michal Sojka [Wed, 26 Sep 2018 11:29:34 +0000 (13:29 +0200)]
Fix -f argument parsing
We've also make p_cell_size public so that we can read it outside of the
class.
Michal Sojka [Wed, 26 Sep 2018 07:28:22 +0000 (09:28 +0200)]
Prepare for rotation branch merge
Michal Sojka [Wed, 26 Sep 2018 07:26:47 +0000 (09:26 +0200)]
Simplify scale initialization
Michal Sojka [Wed, 26 Sep 2018 07:01:39 +0000 (09:01 +0200)]
KCF: Mark constants as const
Michal Sojka [Wed, 26 Sep 2018 05:06:24 +0000 (07:06 +0200)]
Formatting changes
This is done to lower the number of differences with rotation pull
request.
Michal Sojka [Tue, 25 Sep 2018 22:10:50 +0000 (00:10 +0200)]
test: Ignore OpenCV FFT problems
The OpenCV-based version has sometimes half accuracy compared to other
implementations. Before this is fixed, we lower the bar for the test to
pass.
Michal Sojka [Tue, 25 Sep 2018 22:09:36 +0000 (00:09 +0200)]
CUDA: Set device flags before first cuda operation
Michal Sojka [Tue, 25 Sep 2018 22:01:20 +0000 (00:01 +0200)]
Move and rename cuda_error_check
There is no need for this file to have .cu* extension. It's only host code.
Michal Sojka [Tue, 25 Sep 2018 21:57:15 +0000 (23:57 +0200)]
Print better CUDA error messages
Michal Sojka [Tue, 25 Sep 2018 21:53:21 +0000 (23:53 +0200)]
Simplify OpenCV FFT
Michal Sojka [Tue, 25 Sep 2018 21:30:04 +0000 (23:30 +0200)]
test: Add expected results for new sequences
Also print expected accuracy in test results.
Michal Sojka [Tue, 25 Sep 2018 21:21:43 +0000 (23:21 +0200)]
test: Fix accuracy evaluation
Michal Sojka [Tue, 25 Sep 2018 21:21:22 +0000 (23:21 +0200)]
Select shorter default test sequences
Michal Sojka [Tue, 25 Sep 2018 21:02:39 +0000 (23:02 +0200)]
fftw: More meaningul threading configuration
Michal Sojka [Tue, 25 Sep 2018 20:13:31 +0000 (22:13 +0200)]
Makefile: Do not put "-G Ninja" to CMAKE_OPTS
When one overrides this variable from command line, -G flags is removed
and build fails.
Michal Sojka [Tue, 25 Sep 2018 19:53:56 +0000 (21:53 +0200)]
fftw: Make create_plan method const
Michal Sojka [Tue, 25 Sep 2018 19:53:21 +0000 (21:53 +0200)]
Simplify cuFFT class
Michal Sojka [Tue, 25 Sep 2018 11:10:17 +0000 (13:10 +0200)]
Travis: Hardcode libomp path
When we run tests on Travis, libomp cannot be found automatically.
Michal Sojka [Tue, 25 Sep 2018 10:55:11 +0000 (12:55 +0200)]
Really ignore test failures
On Travis, we sometimes got strange failures without any error messages.
Michal Sojka [Tue, 25 Sep 2018 06:01:34 +0000 (08:01 +0200)]
Fix OpenMP linking
- Move OpenMP compilation handling to kcf library
- After we added a call to omp_omp_set_num_threads(), we must properly
link the kcf_vot with OpenMP libraries. CMake (especially older
versions) seems to fail doing this properly automatically.
Michal Sojka [Mon, 24 Sep 2018 22:02:21 +0000 (00:02 +0200)]
fftw: Make everything related to BIG_BATCH conditionally compilable
Michal Sojka [Mon, 24 Sep 2018 20:14:29 +0000 (22:14 +0200)]
Simplify Fftw::init()
And use multiple FFT threads where it makes sense.
Michal Sojka [Tue, 25 Sep 2018 05:35:28 +0000 (07:35 +0200)]
Travis: Install CUDA only in builds where we need them
Michal Sojka [Mon, 24 Sep 2018 22:14:19 +0000 (00:14 +0200)]
Remove unused header
Michal Sojka [Mon, 24 Sep 2018 21:54:53 +0000 (23:54 +0200)]
cmake: Do not use deprecated feature
Michal Sojka [Tue, 25 Sep 2018 07:14:55 +0000 (09:14 +0200)]
Improve CMake option description
Michal Sojka [Mon, 24 Sep 2018 21:19:35 +0000 (23:19 +0200)]
Add Makefile target to print make variable values
Use this target to simplify travis config. It is also useful for manual
testing.
Michal Sojka [Mon, 24 Sep 2018 21:14:05 +0000 (23:14 +0200)]
Add plot targets to ninja
Michal Sojka [Mon, 24 Sep 2018 21:13:37 +0000 (23:13 +0200)]
Plot graphs from zero and add grid
Michal Sojka [Mon, 24 Sep 2018 19:28:32 +0000 (21:28 +0200)]
test: Report bad accuracy as ACCURACY rather than BAD
Michal Sojka [Mon, 24 Sep 2018 18:33:43 +0000 (20:33 +0200)]
Travis: Suppress libdc1394 error
These are produced by OpenCV and are not relevant for us.
Michal Sojka [Mon, 24 Sep 2018 18:21:48 +0000 (20:21 +0200)]
Travis: Fix (and simplify) cache cleanup command
Previously, only core files were deleted, because -o operator has low
priority.
Michal Sojka [Mon, 24 Sep 2018 17:47:02 +0000 (19:47 +0200)]
Travis: Move before_script before script :)
Michal Sojka [Mon, 24 Sep 2018 17:46:36 +0000 (19:46 +0200)]
Travis: Cleanup cache before uploading
Michal Sojka [Mon, 24 Sep 2018 17:21:31 +0000 (19:21 +0200)]
Revert "Travis: Temporarily ignore test failures"
This reverts commit
b612171e79b15d022903f0a5eaa55f644f287652 .
Michal Sojka [Mon, 24 Sep 2018 17:06:24 +0000 (19:06 +0200)]
Fix CUFFT compilation
Shanigen [Mon, 24 Sep 2018 14:55:20 +0000 (16:55 +0200)]
Repaired the big batch mode for FFTW.
Michal Sojka [Sun, 23 Sep 2018 22:56:16 +0000 (00:56 +0200)]
Attempt to fix big_batch mode
Michal Sojka [Mon, 24 Sep 2018 07:25:53 +0000 (09:25 +0200)]
Ignore clang warning about __VA_ARGS__ in all kcf library
The warning is "token pasting of ',' and __VA_ARGS__ is a GNU extension".
Since we use TRACE macros in other files, we need to ignore the warning
there as well.
Michal Sojka [Sun, 23 Sep 2018 17:02:49 +0000 (19:02 +0200)]
Allow using debug functions in other files than kcf.cpp
I'm using it for debugging of big batch problems in fft*.cpp files.
Michal Sojka [Sun, 23 Sep 2018 13:40:19 +0000 (15:40 +0200)]
Change order of gaussian_correlation arguments
Now, output is first, all the rest are inputs. This makes it easier to
remember which variable receives the output when ones looks at a call site.
Michal Sojka [Sun, 23 Sep 2018 13:34:54 +0000 (15:34 +0200)]
FFT interface fixes for BIG_BATCH mode
More fixes will follow.
Michal Sojka [Sun, 23 Sep 2018 12:41:46 +0000 (14:41 +0200)]
Update KCF_Tracker::max_response
This will be needed by Hercules partner PITOM.
Michal Sojka [Sun, 23 Sep 2018 12:40:46 +0000 (14:40 +0200)]
Update debugging messages
Michal Sojka [Sun, 23 Sep 2018 12:30:52 +0000 (14:30 +0200)]
Fix fftw bug
We need floating point division, not integer division.
Michal Sojka [Sun, 23 Sep 2018 09:27:22 +0000 (11:27 +0200)]
Fix incorrect order of train() arguments
train() is called two time. Before this change, it was once called as
train(input_gray, input_rgb, ...) and once as
train(input_rgb, input_gray, ...)
This unifies the call sites and changes the order of arguments to match
get_features().
Fixes #28.
Michal Sojka [Sun, 23 Sep 2018 07:17:29 +0000 (09:17 +0200)]
Speedup gaussian correlation
This changes sum_over_channels(ifft(xyf)) for ifft(sum_over_channels(xyf)).
Since FFT is linear operation, the result is the same, but ifft is
calculated only once instead of 44 times.
Michal Sojka [Sun, 23 Sep 2018 07:13:43 +0000 (09:13 +0200)]
Fix bugs in some FFT classes
Michal Sojka [Sun, 23 Sep 2018 07:09:07 +0000 (09:09 +0200)]
Move debug support to separate file
Also update printed debug messages.
Michal Sojka [Sun, 23 Sep 2018 07:06:47 +0000 (09:06 +0200)]
Rename MatScaleFeatures.features() to .scale()
The new name represents the meaning of the data correctly.
Michal Sojka [Sat, 22 Sep 2018 21:14:32 +0000 (23:14 +0200)]
Update clang-format config
Michal Sojka [Sat, 22 Sep 2018 17:22:36 +0000 (19:22 +0200)]
Print Mat data with smaller precision (3 digits)
Michal Sojka [Sat, 22 Sep 2018 15:28:12 +0000 (17:28 +0200)]
Make debug messages contain first 10 elements of matrix data
Michal Sojka [Sat, 22 Sep 2018 15:03:18 +0000 (17:03 +0200)]
Avoid Mat allocation in track()
In addition to that, this also shortens num_of_scales to num_scales.
Michal Sojka [Sat, 22 Sep 2018 14:45:46 +0000 (16:45 +0200)]
Improve debug prints
- Prints can produce different things based on type.
- Print data pointer for matrices
- Omit matrix data for now (we may add them later)
Michal Sojka [Sat, 22 Sep 2018 09:44:55 +0000 (11:44 +0200)]
Fix out of bound error
Michal Sojka [Sat, 22 Sep 2018 09:43:20 +0000 (11:43 +0200)]
Mat3d: Add const plane() method
We need this at least for FFT.
Michal Sojka [Sat, 22 Sep 2018 07:22:26 +0000 (09:22 +0200)]
Add simple tracing facility
Michal Sojka [Fri, 21 Sep 2018 18:50:45 +0000 (20:50 +0200)]
Travis: Temporarily ignore test failures
Michal Sojka [Fri, 21 Sep 2018 18:45:07 +0000 (20:45 +0200)]
Get rid of warnings from the last commit
Michal Sojka [Fri, 21 Sep 2018 18:38:39 +0000 (20:38 +0200)]
Fix FFT functions to use the correct new Mat* types
More changes still to come...
Shanigen [Fri, 21 Sep 2018 12:05:28 +0000 (14:05 +0200)]
Corrected plans in FFTW and CUFFT for big batch mode.
Michal Sojka [Fri, 21 Sep 2018 11:48:24 +0000 (13:48 +0200)]
Introduce new Mat types and use them in the code
This unifies matrix layout in memory and makes it easier to think about
code correctness.
Michal Sojka [Fri, 21 Sep 2018 08:29:44 +0000 (10:29 +0200)]
Simplify code
Michal Sojka [Fri, 21 Sep 2018 08:28:53 +0000 (10:28 +0200)]
Ensure that MatDynMem.plane() returns standard 2D matrix
I.e. with rows and cols >= 0. higher dimensional matrices have rows and
cols = -1, which causes problems at other places in the code.
Michal Sojka [Fri, 21 Sep 2018 07:32:03 +0000 (09:32 +0200)]
Update ninja generator
Michal Sojka [Thu, 20 Sep 2018 22:58:54 +0000 (00:58 +0200)]
Do not leave KCF_Tracker::gaussian_correlation unset
This looks like a nicer solution than the one suggested in #23. Not tested.
Shanigen [Thu, 20 Sep 2018 16:24:15 +0000 (18:24 +0200)]
Corrected memory copying
operator = copies the data pointer of the source matrix to the destination
matrix. This resulted that no changes happened to the result_3d matrix in
KCF_Tracker::get_features.
Michal Sojka [Thu, 20 Sep 2018 18:24:24 +0000 (20:24 +0200)]
Remove mutable qualifier ComplexMat.p_data
Its use here is incorrect. Instead, get_p_data should be non-const method.
Michal Sojka [Thu, 20 Sep 2018 15:21:00 +0000 (17:21 +0200)]
Fix feature matrix dimensions
Michal Sojka [Thu, 20 Sep 2018 15:05:24 +0000 (17:05 +0200)]
Quick fix to compile fftw even without m_num_of_scales
Michal Sojka [Thu, 20 Sep 2018 14:54:10 +0000 (16:54 +0200)]
Fftw: Do not hide member variables inherited from Fft
Fixes #22.
Michal Sojka [Thu, 20 Sep 2018 14:51:06 +0000 (16:51 +0200)]
Unify CUDA error handling
Michal Sojka [Thu, 20 Sep 2018 05:36:51 +0000 (07:36 +0200)]
Simplify access to 3D Mat planes
Michal Sojka [Thu, 20 Sep 2018 05:34:28 +0000 (07:34 +0200)]
Rework maxresponse-related data structure
Michal Sojka [Thu, 20 Sep 2018 04:55:18 +0000 (06:55 +0200)]
Move scale_track method from KCF to ThreadCtx
Michal Sojka [Thu, 20 Sep 2018 04:32:09 +0000 (06:32 +0200)]
Fixes
Michal Sojka [Wed, 19 Sep 2018 22:53:02 +0000 (00:53 +0200)]
cufft: Remove unused/unneeded stuff
Michal Sojka [Wed, 19 Sep 2018 22:47:33 +0000 (00:47 +0200)]
Remove unused bool switches that correspond to CMake switches
Michal Sojka [Wed, 19 Sep 2018 22:30:47 +0000 (00:30 +0200)]
Work around clang < 6 bug
https://bugs.llvm.org/show_bug.cgi?id=21629
Michal Sojka [Wed, 19 Sep 2018 22:19:47 +0000 (00:19 +0200)]
Fix clang 3.8 errors/warnings
Michal Sojka [Wed, 19 Sep 2018 22:14:13 +0000 (00:14 +0200)]
Try to fix compilation error with OpenCV 2.4
Michal Sojka [Wed, 19 Sep 2018 21:56:20 +0000 (23:56 +0200)]
Fix compilation errors in gaussian correlation
Now all variants compile, but all seem to crash.
Michal Sojka [Wed, 19 Sep 2018 21:27:19 +0000 (23:27 +0200)]
Fix FFT classes compilation errors
Michal Sojka [Wed, 19 Sep 2018 21:09:22 +0000 (23:09 +0200)]
Make debug prints work outside of KCF_Tracker class
Michal Sojka [Wed, 19 Sep 2018 21:08:48 +0000 (23:08 +0200)]
Fix warnings
Michal Sojka [Wed, 19 Sep 2018 21:01:36 +0000 (23:01 +0200)]
Factor finding of maximum response to a function
Michal Sojka [Wed, 19 Sep 2018 21:00:41 +0000 (23:00 +0200)]
Unify GaussianCorrelation constructor
Michal Sojka [Wed, 19 Sep 2018 20:21:46 +0000 (22:21 +0200)]
cufft big batch compiles
Michal Sojka [Wed, 19 Sep 2018 19:40:45 +0000 (21:40 +0200)]
Fix and simplify CUDA linking
- Added cublas
- No need to add subdirectory with only a header file
- All .cu files linked to a single library (before, we used two libs)
Shanigen [Wed, 19 Sep 2018 15:25:47 +0000 (17:25 +0200)]
Correcting CUFFT compilation errors.
Michal Sojka [Wed, 19 Sep 2018 14:30:42 +0000 (16:30 +0200)]
Add convenience ComplexMat constructors + code updates
Michal Sojka [Wed, 19 Sep 2018 13:49:58 +0000 (15:49 +0200)]
cufft: Move scaling from gaussian_correlation to inverse fft
This unifies the computation, but will be slower. We should investigate
whether this scaling is really needed and if yes, whether we can use
cufft callbacks.
Michal Sojka [Wed, 19 Sep 2018 10:53:00 +0000 (12:53 +0200)]
fft: Implement assertions in the base class
Michal Sojka [Wed, 19 Sep 2018 10:49:25 +0000 (12:49 +0200)]
MatDynMem: Add move constructor
Michal Sojka [Wed, 19 Sep 2018 08:39:13 +0000 (10:39 +0200)]
Refactor image resizing out of ::track to make it shorter
Michal Sojka [Wed, 19 Sep 2018 07:41:51 +0000 (09:41 +0200)]
DynMem: Unify the meaning of size parameters
For CPU, it meant the number of elements, for GPU the size of memory in
bytes.
Michal Sojka [Wed, 19 Sep 2018 07:22:51 +0000 (09:22 +0200)]
DynMem: Replace hardcoded float in template class with template type