]>
rtime.felk.cvut.cz Git - hercules2020/kcf.git/log
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
Michal Sojka [Wed, 19 Sep 2018 07:21:30 +0000 (09:21 +0200)]
Allow copying DynMem
Michal Sojka [Tue, 18 Sep 2018 12:54:44 +0000 (14:54 +0200)]
Start cleaning up cufft implementation
- This simplifies the API by using MatDynMem, which unifies
cv::Mat and GPU zero-copy memory.
Michal Sojka [Mon, 17 Sep 2018 22:07:18 +0000 (00:07 +0200)]
(Mat)DynMem updates and related changes
DynMem has device pointer only when compiling for CUDA.
Michal Sojka [Mon, 17 Sep 2018 07:44:58 +0000 (09:44 +0200)]
Introduce GaussianCorrelation class
This encapsulates all variables that should be kept allocated between
frames.
Michal Sojka [Mon, 17 Sep 2018 00:15:26 +0000 (02:15 +0200)]
Use new type MatDynMem combining cv::Mat and DynMem
This simplifies ThreadCtx.
Michal Sojka [Sun, 16 Sep 2018 21:31:07 +0000 (23:31 +0200)]
Add a method for calculation of FFT result size
Also remove CUFFT ifdef, because both branches are the same since removal
of explicit streams a few commits ago.
Michal Sojka [Sun, 16 Sep 2018 09:55:08 +0000 (11:55 +0200)]
Start fixing big batch mode
Michal Sojka [Sun, 16 Sep 2018 13:19:10 +0000 (15:19 +0200)]
Rename num_of_feats to num_channels
This is more accurate.
Michal Sojka [Sun, 16 Sep 2018 09:07:35 +0000 (11:07 +0200)]
Restrict access to ThreadCtx variables
Make variables that should be only accessed from gaussian_correlation
not accessible from anywhere else.
Michal Sojka [Sun, 16 Sep 2018 09:04:57 +0000 (11:04 +0200)]
Use delete[] operator
Address sanitizer complains that memory is allocated with new[] and deleted
with delete. Fix that.
Michal Sojka [Sun, 16 Sep 2018 08:25:01 +0000 (10:25 +0200)]
Move thread context to class-private data structure
This will allow accessing KCF_Tracker members from ThreadCtx. We will need
this in the next commit to restrict access to some ThreadCtx members to
only selected KCF_Tracker methods.
Michal Sojka [Sat, 15 Sep 2018 23:54:58 +0000 (01:54 +0200)]
CUDA: Use per-thread default streams rather than explicit streams
Previous implementation with explicit CUDA stream had race condition in
the cuFFT class. Additionally, the previous implementation was not so nice
because it required to use dummy streams in non-CUDA versions. This is now
all gone.
Michal Sojka [Thu, 20 Sep 2018 12:22:20 +0000 (14:22 +0200)]
graph: Fix FPS display when some logs are not complete
Log files are taken into account only if an average values can be found in it.
Michal Sojka [Thu, 20 Sep 2018 08:01:50 +0000 (10:01 +0200)]
Make wget not print too much output
Travis then doesn't show the full log.
Michal Sojka [Thu, 20 Sep 2018 07:52:56 +0000 (09:52 +0200)]
Use custom ninja status on travis
Show the number of finished tasks rather than started tasks.
This value is the default in new versions and is more useful.
Michal Sojka [Thu, 20 Sep 2018 07:52:07 +0000 (09:52 +0200)]
Make build log more readable
Shanigen [Wed, 19 Sep 2018 09:04:56 +0000 (11:04 +0200)]
Added addtional sorting option to the graph generating.
Shanigen [Tue, 18 Sep 2018 16:07:08 +0000 (18:07 +0200)]
Changed the script according to the comments in pull request.
Shanigen [Tue, 18 Sep 2018 10:04:14 +0000 (12:04 +0200)]
Added option to generate boxplots showing FPS.
Shanigen [Tue, 18 Sep 2018 01:15:38 +0000 (03:15 +0200)]
Added script to generate BoxPlots
Michal Sojka [Mon, 17 Sep 2018 11:19:17 +0000 (13:19 +0200)]
Make build.ninja generator more compatible with various systems
i.e. Use $(file) function when available, fallback to echo shell command.
Michal Sojka [Sun, 16 Sep 2018 12:55:48 +0000 (14:55 +0200)]
Add automated testing of tracking accuracy
Also improve printing of test results.
Michal Sojka [Sat, 15 Sep 2018 23:39:50 +0000 (01:39 +0200)]
Cosmetic Makefile changes
Michal Sojka [Sat, 15 Sep 2018 07:10:34 +0000 (09:10 +0200)]
Report test failures with wvtool
Michal Sojka [Fri, 14 Sep 2018 15:49:45 +0000 (17:49 +0200)]
travis: Delete dumped cores
Michal Sojka [Fri, 14 Sep 2018 15:03:28 +0000 (17:03 +0200)]
Ninja test fixes
Michal Sojka [Fri, 14 Sep 2018 14:08:47 +0000 (16:08 +0200)]
Do not require realpath command
It is not available on Travis
Michal Sojka [Fri, 14 Sep 2018 13:54:31 +0000 (15:54 +0200)]
Do not duplicate Makefile and ninja - all is now done by ninja
Michal Sojka [Fri, 14 Sep 2018 13:01:54 +0000 (15:01 +0200)]
Pass CUDA_ARCH_LIST to CMake only for CUDA build
This avoids a cmake warning in other builds.
Michal Sojka [Fri, 14 Sep 2018 12:53:51 +0000 (14:53 +0200)]
Always run tests with ninja and fix few problems
Michal Sojka [Fri, 14 Sep 2018 10:32:57 +0000 (12:32 +0200)]
Do not run cmake during `ninja test` when not necessary
Michal Sojka [Fri, 14 Sep 2018 09:59:47 +0000 (11:59 +0200)]
Allow generating build.ninja also with GNU make 3.81
This version is on Travis and does not support file function.
Michal Sojka [Fri, 14 Sep 2018 09:01:00 +0000 (11:01 +0200)]
Run tests with ninja
To run them faster and to have nice progress report.
Michal Sojka [Fri, 14 Sep 2018 04:46:14 +0000 (06:46 +0200)]
Fix indentation
Michal Sojka [Thu, 13 Sep 2018 23:22:03 +0000 (01:22 +0200)]
Define big_batch variables only in BIG_BATCH mode
Michal Sojka [Thu, 13 Sep 2018 23:08:44 +0000 (01:08 +0200)]
Replace Kcf::m_use_big_batch with a preprocessor symbol
Michal Sojka [Thu, 13 Sep 2018 22:56:40 +0000 (00:56 +0200)]
Remove patch_feats from ThreadCtx
It does not belong there. Also revert get_features to the original
implementation.
Michal Sojka [Thu, 13 Sep 2018 22:53:17 +0000 (00:53 +0200)]
Remove void statement
Michal Sojka [Thu, 13 Sep 2018 22:44:03 +0000 (00:44 +0200)]
fft: Do not pass big_batch_mode as a parameter
One can determine the mode from the BIG_BATCH preprocessor symbol even
without the parameter.
Michal Sojka [Thu, 13 Sep 2018 22:44:36 +0000 (00:44 +0200)]
Remove unnecessary typecasting
Michal Sojka [Thu, 13 Sep 2018 21:30:41 +0000 (23:30 +0200)]
Shorten code by using ctx instead of p_htreadctxs.front()
Michal Sojka [Thu, 13 Sep 2018 21:20:35 +0000 (23:20 +0200)]
travis: Build only for one GPU architecture
This makes travis builds faster.
Michal Sojka [Thu, 13 Sep 2018 20:40:32 +0000 (22:40 +0200)]
Use clamp function to clamp variables to a range
Michal Sojka [Thu, 13 Sep 2018 17:18:17 +0000 (19:18 +0200)]
Unify init messages and add FFT size message
Michal Sojka [Thu, 13 Sep 2018 17:11:04 +0000 (19:11 +0200)]
Use fixed format for output numbers
Michal Sojka [Thu, 13 Sep 2018 16:47:58 +0000 (18:47 +0200)]
test: Show logs when not running on Travis CI
Michal Sojka [Thu, 13 Sep 2018 16:27:28 +0000 (18:27 +0200)]
Add book sequence to tests
Michal Sojka [Thu, 13 Sep 2018 16:24:05 +0000 (18:24 +0200)]
Add useful settings into Makefile (as comments)
Michal Sojka [Thu, 13 Sep 2018 15:36:52 +0000 (17:36 +0200)]
Allow CUDA autodetection with cmake < 3.7
Michal Sojka [Thu, 13 Sep 2018 15:01:23 +0000 (17:01 +0200)]
Autodetect CUDA architecture
Michal Sojka [Thu, 13 Sep 2018 04:40:35 +0000 (06:40 +0200)]
Do not require ifdefs when using sqr_norm()
Michal Sojka [Wed, 12 Sep 2018 21:57:06 +0000 (23:57 +0200)]
Revert FHoG::extract changes
It's not necessary for this function to know about our threads etc.
Michal Sojka [Wed, 12 Sep 2018 21:15:37 +0000 (23:15 +0200)]
Simpify init