]> rtime.felk.cvut.cz Git - hercules2020/kcf.git/log
hercules2020/kcf.git
5 years agoRun --fit tests without arguments
Michal Sojka [Thu, 27 Sep 2018 05:33:13 +0000 (07:33 +0200)]
Run --fit tests without arguments

This always scales down the patch size and ensures that tests are run
faster. Fixed value may sometimes increase the patch size, which results
in longer test times.

5 years agoRework patch fitting to specific dimensions
Michal Sojka [Wed, 26 Sep 2018 21:38:44 +0000 (23:38 +0200)]
Rework patch fitting to specific dimensions

- It is not necessary to scale the whole image
- Define new variable fit_size and leave p_windows_size with original meaning

5 years agoDo not exit when pressing just shift, control, etc.
Michal Sojka [Wed, 26 Sep 2018 19:38:52 +0000 (21:38 +0200)]
Do not exit when pressing just shift, control, etc.

5 years agoRename p_roi to feature_size
Michal Sojka [Wed, 26 Sep 2018 18:33:18 +0000 (20:33 +0200)]
Rename p_roi to feature_size

5 years agoRefactor p_pose and related variables
Michal Sojka [Wed, 26 Sep 2018 14:29:34 +0000 (16:29 +0200)]
Refactor p_pose and related variables

p_pose was used to store position of the tracked object. Its use was
confusing, because only the center point was updates and width/height
not. Width/height was updated only in getBBox() according to
p_current_scale.

This commit renames p_pose to p_init_pose and does not touch it after
init(). We store the position of the tracked object in
p_current_scale. getBBox is updated to calculate the bounding box from
p_current_center, p_current_scale and p_init_pose.

5 years agotest: Increase report width to not wrap result to multiple lines
Michal Sojka [Wed, 26 Sep 2018 14:23:55 +0000 (16:23 +0200)]
test: Increase report width to not wrap result to multiple lines

5 years agoRename scale_factor to fit_factor
Michal Sojka [Wed, 26 Sep 2018 13:18:52 +0000 (15:18 +0200)]
Rename scale_factor to fit_factor

The variable is related to --fit and not to scale estimation.

5 years agoReformat, remove stale comments
Michal Sojka [Wed, 26 Sep 2018 13:08:08 +0000 (15:08 +0200)]
Reformat, remove stale comments

5 years agoGive fit parameters default values
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.

5 years agoFix -f argument parsing
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.

5 years agoPrepare for rotation branch merge
Michal Sojka [Wed, 26 Sep 2018 07:28:22 +0000 (09:28 +0200)]
Prepare for rotation branch merge

5 years agoSimplify scale initialization
Michal Sojka [Wed, 26 Sep 2018 07:26:47 +0000 (09:26 +0200)]
Simplify scale initialization

5 years agoKCF: Mark constants as const
Michal Sojka [Wed, 26 Sep 2018 07:01:39 +0000 (09:01 +0200)]
KCF: Mark constants as const

5 years agoFormatting changes
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.

5 years agotest: Ignore OpenCV FFT problems
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.

5 years agoCUDA: Set device flags before first cuda operation
Michal Sojka [Tue, 25 Sep 2018 22:09:36 +0000 (00:09 +0200)]
CUDA: Set device flags before first cuda operation

5 years agoMove and rename cuda_error_check
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.

5 years agoPrint better CUDA error messages
Michal Sojka [Tue, 25 Sep 2018 21:57:15 +0000 (23:57 +0200)]
Print better CUDA error messages

5 years agoSimplify OpenCV FFT
Michal Sojka [Tue, 25 Sep 2018 21:53:21 +0000 (23:53 +0200)]
Simplify OpenCV FFT

5 years agotest: Add expected results for new sequences
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.

5 years agotest: Fix accuracy evaluation
Michal Sojka [Tue, 25 Sep 2018 21:21:43 +0000 (23:21 +0200)]
test: Fix accuracy evaluation

5 years agoSelect shorter default test sequences
Michal Sojka [Tue, 25 Sep 2018 21:21:22 +0000 (23:21 +0200)]
Select shorter default test sequences

5 years agofftw: More meaningul threading configuration
Michal Sojka [Tue, 25 Sep 2018 21:02:39 +0000 (23:02 +0200)]
fftw: More meaningul threading configuration

5 years agoMakefile: Do not put "-G Ninja" to CMAKE_OPTS
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.

5 years agofftw: Make create_plan method const
Michal Sojka [Tue, 25 Sep 2018 19:53:56 +0000 (21:53 +0200)]
fftw: Make create_plan method const

5 years agoSimplify cuFFT class
Michal Sojka [Tue, 25 Sep 2018 19:53:21 +0000 (21:53 +0200)]
Simplify cuFFT class

5 years agoTravis: Hardcode libomp path
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.

5 years agoReally ignore test failures
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.

5 years agoFix OpenMP linking
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.

5 years agofftw: Make everything related to BIG_BATCH conditionally compilable
Michal Sojka [Mon, 24 Sep 2018 22:02:21 +0000 (00:02 +0200)]
fftw: Make everything related to BIG_BATCH conditionally compilable

5 years agoSimplify Fftw::init()
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.

5 years agoTravis: Install CUDA only in builds where we need them
Michal Sojka [Tue, 25 Sep 2018 05:35:28 +0000 (07:35 +0200)]
Travis: Install CUDA only in builds where we need them

5 years agoRemove unused header
Michal Sojka [Mon, 24 Sep 2018 22:14:19 +0000 (00:14 +0200)]
Remove unused header

5 years agocmake: Do not use deprecated feature
Michal Sojka [Mon, 24 Sep 2018 21:54:53 +0000 (23:54 +0200)]
cmake: Do not use deprecated feature

5 years agoImprove CMake option description
Michal Sojka [Tue, 25 Sep 2018 07:14:55 +0000 (09:14 +0200)]
Improve CMake option description

5 years agoAdd Makefile target to print make variable values
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.

5 years agoAdd plot targets to ninja
Michal Sojka [Mon, 24 Sep 2018 21:14:05 +0000 (23:14 +0200)]
Add plot targets to ninja

5 years agoPlot graphs from zero and add grid
Michal Sojka [Mon, 24 Sep 2018 21:13:37 +0000 (23:13 +0200)]
Plot graphs from zero and add grid

5 years agotest: Report bad accuracy as ACCURACY rather than BAD
Michal Sojka [Mon, 24 Sep 2018 19:28:32 +0000 (21:28 +0200)]
test: Report bad accuracy as ACCURACY rather than BAD

5 years agoTravis: Suppress libdc1394 error
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.

5 years agoTravis: Fix (and simplify) cache cleanup command
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.

5 years agoTravis: Move before_script before script :)
Michal Sojka [Mon, 24 Sep 2018 17:47:02 +0000 (19:47 +0200)]
Travis: Move before_script before script :)

5 years agoTravis: Cleanup cache before uploading
Michal Sojka [Mon, 24 Sep 2018 17:46:36 +0000 (19:46 +0200)]
Travis: Cleanup cache before uploading

5 years agoRevert "Travis: Temporarily ignore test failures"
Michal Sojka [Mon, 24 Sep 2018 17:21:31 +0000 (19:21 +0200)]
Revert "Travis: Temporarily ignore test failures"

This reverts commit b612171e79b15d022903f0a5eaa55f644f287652.

5 years agoFix CUFFT compilation
Michal Sojka [Mon, 24 Sep 2018 17:06:24 +0000 (19:06 +0200)]
Fix CUFFT compilation

5 years agoRepaired the big batch mode for FFTW.
Shanigen [Mon, 24 Sep 2018 14:55:20 +0000 (16:55 +0200)]
Repaired the big batch mode for FFTW.

5 years agoAttempt to fix big_batch mode
Michal Sojka [Sun, 23 Sep 2018 22:56:16 +0000 (00:56 +0200)]
Attempt to fix big_batch mode

5 years agoIgnore clang warning about __VA_ARGS__ in all kcf library
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.

5 years agoAllow using debug functions in other files than kcf.cpp
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.

5 years agoChange order of gaussian_correlation arguments
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.

5 years agoFFT interface fixes for BIG_BATCH mode
Michal Sojka [Sun, 23 Sep 2018 13:34:54 +0000 (15:34 +0200)]
FFT interface fixes for BIG_BATCH mode

More fixes will follow.

5 years agoUpdate KCF_Tracker::max_response
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.

5 years agoUpdate debugging messages
Michal Sojka [Sun, 23 Sep 2018 12:40:46 +0000 (14:40 +0200)]
Update debugging messages

5 years agoFix fftw bug
Michal Sojka [Sun, 23 Sep 2018 12:30:52 +0000 (14:30 +0200)]
Fix fftw bug

We need floating point division, not integer division.

5 years agoFix incorrect order of train() arguments
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.

5 years agoSpeedup gaussian correlation
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.

5 years agoFix bugs in some FFT classes
Michal Sojka [Sun, 23 Sep 2018 07:13:43 +0000 (09:13 +0200)]
Fix bugs in some FFT classes

5 years agoMove debug support to separate file
Michal Sojka [Sun, 23 Sep 2018 07:09:07 +0000 (09:09 +0200)]
Move debug support to separate file

Also update printed debug messages.

5 years agoRename MatScaleFeatures.features() to .scale()
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.

5 years agoUpdate clang-format config
Michal Sojka [Sat, 22 Sep 2018 21:14:32 +0000 (23:14 +0200)]
Update clang-format config

5 years agoPrint Mat data with smaller precision (3 digits)
Michal Sojka [Sat, 22 Sep 2018 17:22:36 +0000 (19:22 +0200)]
Print Mat data with smaller precision (3 digits)

5 years agoMake debug messages contain first 10 elements of matrix data
Michal Sojka [Sat, 22 Sep 2018 15:28:12 +0000 (17:28 +0200)]
Make debug messages contain first 10 elements of matrix data

5 years agoAvoid Mat allocation in track()
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.

5 years agoImprove debug prints
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)

5 years agoFix out of bound error
Michal Sojka [Sat, 22 Sep 2018 09:44:55 +0000 (11:44 +0200)]
Fix out of bound error

5 years agoMat3d: Add const plane() method
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.

5 years agoAdd simple tracing facility
Michal Sojka [Sat, 22 Sep 2018 07:22:26 +0000 (09:22 +0200)]
Add simple tracing facility

5 years agoTravis: Temporarily ignore test failures
Michal Sojka [Fri, 21 Sep 2018 18:50:45 +0000 (20:50 +0200)]
Travis: Temporarily ignore test failures

5 years agoGet rid of warnings from the last commit
Michal Sojka [Fri, 21 Sep 2018 18:45:07 +0000 (20:45 +0200)]
Get rid of warnings from the last commit

5 years agoFix FFT functions to use the correct new Mat* types
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...

5 years agoCorrected plans in FFTW and CUFFT for big batch mode.
Shanigen [Fri, 21 Sep 2018 12:05:28 +0000 (14:05 +0200)]
Corrected plans in FFTW and CUFFT for big batch mode.

5 years agoIntroduce new Mat types and use them in the code
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.

5 years agoSimplify code
Michal Sojka [Fri, 21 Sep 2018 08:29:44 +0000 (10:29 +0200)]
Simplify code

5 years agoEnsure that MatDynMem.plane() returns standard 2D matrix
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.

5 years agoUpdate ninja generator
Michal Sojka [Fri, 21 Sep 2018 07:32:03 +0000 (09:32 +0200)]
Update ninja generator

5 years agoDo not leave KCF_Tracker::gaussian_correlation unset
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.

5 years agoCorrected memory copying
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.

5 years agoRemove mutable qualifier ComplexMat.p_data
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.

5 years agoFix feature matrix dimensions
Michal Sojka [Thu, 20 Sep 2018 15:21:00 +0000 (17:21 +0200)]
Fix feature matrix dimensions

5 years agoQuick fix to compile fftw even without m_num_of_scales
Michal Sojka [Thu, 20 Sep 2018 15:05:24 +0000 (17:05 +0200)]
Quick fix to compile fftw even without m_num_of_scales

5 years agoFftw: Do not hide member variables inherited from Fft
Michal Sojka [Thu, 20 Sep 2018 14:54:10 +0000 (16:54 +0200)]
Fftw: Do not hide member variables inherited from Fft

Fixes #22.

5 years agoUnify CUDA error handling
Michal Sojka [Thu, 20 Sep 2018 14:51:06 +0000 (16:51 +0200)]
Unify CUDA error handling

5 years agoSimplify access to 3D Mat planes
Michal Sojka [Thu, 20 Sep 2018 05:36:51 +0000 (07:36 +0200)]
Simplify access to 3D Mat planes

5 years agoRework maxresponse-related data structure
Michal Sojka [Thu, 20 Sep 2018 05:34:28 +0000 (07:34 +0200)]
Rework maxresponse-related data structure

5 years agoMove scale_track method from KCF to ThreadCtx
Michal Sojka [Thu, 20 Sep 2018 04:55:18 +0000 (06:55 +0200)]
Move scale_track method from KCF to ThreadCtx

5 years agoFixes
Michal Sojka [Thu, 20 Sep 2018 04:32:09 +0000 (06:32 +0200)]
Fixes

5 years agocufft: Remove unused/unneeded stuff
Michal Sojka [Wed, 19 Sep 2018 22:53:02 +0000 (00:53 +0200)]
cufft: Remove unused/unneeded stuff

5 years agoRemove unused bool switches that correspond to CMake switches
Michal Sojka [Wed, 19 Sep 2018 22:47:33 +0000 (00:47 +0200)]
Remove unused bool switches that correspond to CMake switches

5 years agoWork around clang < 6 bug
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

5 years agoFix clang 3.8 errors/warnings
Michal Sojka [Wed, 19 Sep 2018 22:19:47 +0000 (00:19 +0200)]
Fix clang 3.8 errors/warnings

5 years agoTry to fix compilation error with OpenCV 2.4
Michal Sojka [Wed, 19 Sep 2018 22:14:13 +0000 (00:14 +0200)]
Try to fix compilation error with OpenCV 2.4

5 years agoFix compilation errors in gaussian correlation
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.

5 years agoFix FFT classes compilation errors
Michal Sojka [Wed, 19 Sep 2018 21:27:19 +0000 (23:27 +0200)]
Fix FFT classes compilation errors

5 years agoMake debug prints work outside of KCF_Tracker class
Michal Sojka [Wed, 19 Sep 2018 21:09:22 +0000 (23:09 +0200)]
Make debug prints work outside of KCF_Tracker class

5 years agoFix warnings
Michal Sojka [Wed, 19 Sep 2018 21:08:48 +0000 (23:08 +0200)]
Fix warnings

5 years agoFactor finding of maximum response to a function
Michal Sojka [Wed, 19 Sep 2018 21:01:36 +0000 (23:01 +0200)]
Factor finding of maximum response to a function

5 years agoUnify GaussianCorrelation constructor
Michal Sojka [Wed, 19 Sep 2018 21:00:41 +0000 (23:00 +0200)]
Unify GaussianCorrelation constructor

5 years agocufft big batch compiles
Michal Sojka [Wed, 19 Sep 2018 20:21:46 +0000 (22:21 +0200)]
cufft big batch compiles

5 years agoFix and simplify CUDA linking
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)

5 years agoCorrecting CUFFT compilation errors.
Shanigen [Wed, 19 Sep 2018 15:25:47 +0000 (17:25 +0200)]
Correcting CUFFT compilation errors.