]>
rtime.felk.cvut.cz Git - hercules2020/kcf.git/log
Shanigen [Thu, 27 Sep 2018 10:47:18 +0000 (12:47 +0200)]
Integration of the visual debug, with zero changes to the tracker's API.
Michal Sojka [Wed, 26 Sep 2018 19:38:52 +0000 (21:38 +0200)]
Do not exit when pressing just shift, control, etc.
Michal Sojka [Wed, 26 Sep 2018 18:33:18 +0000 (20:33 +0200)]
Rename p_roi to feature_size
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.
Michal Sojka [Wed, 26 Sep 2018 14:23:55 +0000 (16:23 +0200)]
test: Increase report width to not wrap result to multiple lines
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.
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