Alexander Alekhin [Thu, 3 Aug 2017 23:04:38 +0000 (23:04 +0000)]
Merge tag '3.3.0-cvsdk'
OpenCV 3.3.0 for Intel Computer Vision SDK
Alexander Alekhin [Thu, 3 Aug 2017 22:59:22 +0000 (22:59 +0000)]
Merge pull request #9308 from alalek:akaze_fixes
Alexander Alekhin [Thu, 3 Aug 2017 22:02:47 +0000 (22:02 +0000)]
features2d(test): more AKAZE tests
Alexander Alekhin [Thu, 3 Aug 2017 21:40:25 +0000 (21:40 +0000)]
akaze: more fixes
- boundary checks
- div by zero guard
- fixed bilinear interpolation (another case)
- reduce memory allocation
Alexander Alekhin [Thu, 3 Aug 2017 20:30:13 +0000 (20:30 +0000)]
akaze: fix T-API interfaces, disable OpenCL code
- OpenCL kernels don't handle matrices properly. Assumptions are not checked.
- OpenCL/T-API integration is not correct.
Alexander Alekhin [Thu, 3 Aug 2017 17:17:03 +0000 (17:17 +0000)]
Merge pull request #9303 from alalek:akaze_update
Alexander Alekhin [Thu, 3 Aug 2017 17:04:28 +0000 (17:04 +0000)]
Merge pull request #9235 from sturkmen72:patch-3
Alexander Alekhin [Thu, 3 Aug 2017 17:04:21 +0000 (20:04 +0300)]
akaze: uninitialized field
Alexander Alekhin [Thu, 3 Aug 2017 16:23:03 +0000 (19:23 +0300)]
stitching(perf): increase test check tolerance
Alexander Alekhin [Thu, 3 Aug 2017 14:39:05 +0000 (17:39 +0300)]
akaze: fRound -> cvRound, fix bilinear interpolation
Alexander Alekhin [Thu, 3 Aug 2017 14:24:01 +0000 (17:24 +0300)]
akaze: getAngle() -> fastAtan2()
Alexander Alekhin [Thu, 3 Aug 2017 13:54:23 +0000 (16:54 +0300)]
akaze: remove usage of int8_t / uint8_t
Alexander Alekhin [Thu, 3 Aug 2017 10:19:51 +0000 (13:19 +0300)]
features2d(test): update descriptor regression test
Alexander Alekhin [Thu, 3 Aug 2017 12:22:43 +0000 (15:22 +0300)]
features2d(test): enable debug messages
Alexander Alekhin [Thu, 3 Aug 2017 11:54:38 +0000 (14:54 +0300)]
akaze: resolve issue with using of uninitialized memory
Alexander Alekhin [Thu, 3 Aug 2017 10:03:08 +0000 (13:03 +0300)]
akaze: optimize allocations
Alexander Alekhin [Thu, 3 Aug 2017 09:04:02 +0000 (12:04 +0300)]
akaze: replace ceil()
- integer division => divUp()
- cast to 'int' => cvCeil()
Alexander Alekhin [Thu, 3 Aug 2017 08:57:45 +0000 (11:57 +0300)]
core: divUp function
Alexander Alekhin [Thu, 3 Aug 2017 16:32:13 +0000 (16:32 +0000)]
Merge pull request #9306 from alalek:cmake_fix_macro
cmake: fix __STDC macros for opencv_world build
Alexander Alekhin [Thu, 3 Aug 2017 16:25:29 +0000 (16:25 +0000)]
Merge pull request #9248 from alalek:alloc_refactoring
Alexander Alekhin [Thu, 3 Aug 2017 15:40:05 +0000 (18:40 +0300)]
cmake: fix __STDC macros for opencv_world build
Alexander Alekhin [Thu, 3 Aug 2017 12:21:23 +0000 (12:21 +0000)]
Merge pull request #9287 from dkurt:tensorflow_unit_tests
Alexander Alekhin [Thu, 3 Aug 2017 09:21:22 +0000 (09:21 +0000)]
Merge pull request #9297 from alalek:akaze_remove_rand
Jiri Horner [Thu, 3 Aug 2017 08:35:07 +0000 (10:35 +0200)]
Merge pull request #9249 from hrnr:akaze_part3
[GSOC] Speeding-up AKAZE, part #3 (#9249)
* use finding of scale extremas from fast_akaze
* incorporade finding of extremas and subpixel refinement from Hideaki Suzuki's fast_akaze (https://github.com/h2suzuki/fast_akaze)
* use opencv parallel framework
* do not search for keypoints near the border, where we can't compute sensible descriptors (bugs fixed in
ffd9ad99f4946e31508677dab09bddbecb82ae9f,
2c5389594bb560b62097de3602755ef97e60135f), but the descriptors were not 100% correct. this is a better solution
this version produces less keypoints with the same treshold. It is more effective in pruning similar keypoints (which do not bring any new information), so we have less keypoints, but with high quality. Accuracy is about the same.
* incorporate bugfix from upstream
* fix bug in subpixel refinement
* see commit
db3dc22981e856ca8111f2f7fe57d9c2e0286efc in Pablo's repo
* rework finding of scale space extremas
* store just keypoints positions
* store positions in uchar mask for effective spatial search for neighbours
* construct keypoints structs at the very end
* lower inlier threshold in test
* win32 has lower accuracy
dkurt [Tue, 1 Aug 2017 15:21:47 +0000 (18:21 +0300)]
Unit tests for TensorFlow importer
Alexander Alekhin [Wed, 2 Aug 2017 20:48:54 +0000 (23:48 +0300)]
features2d: don't use rand(), because it is not thread-safe
Results are not stable with srand()
Alexander Alekhin [Wed, 2 Aug 2017 20:26:30 +0000 (20:26 +0000)]
Merge pull request #9296 from dkurt:halide_device_interface
Alexander Alekhin [Wed, 2 Aug 2017 20:22:11 +0000 (20:22 +0000)]
Merge pull request #9246 from bragboy:patch-1
Alexander Alekhin [Wed, 2 Aug 2017 20:20:16 +0000 (20:20 +0000)]
Merge pull request #9286 from alalek:rect_size_empty
Alexander Alekhin [Wed, 2 Aug 2017 20:19:51 +0000 (20:19 +0000)]
Merge pull request #9280 from alalek:fix_repo_url
Alexander Alekhin [Wed, 2 Aug 2017 17:51:46 +0000 (17:51 +0000)]
Merge pull request #9285 from arrybn:issue_9223
dkurt [Wed, 2 Aug 2017 17:38:30 +0000 (20:38 +0300)]
Replace halide_opencl_device_interface
Alexander Alekhin [Wed, 2 Aug 2017 10:05:18 +0000 (10:05 +0000)]
Merge pull request #9288 from sensics:honor-fix-principal-point-fisheye
Aleksandr Rybnikov [Tue, 1 Aug 2017 13:58:34 +0000 (16:58 +0300)]
Added ELU and test for it
Ryan Pavlik [Mon, 3 Jul 2017 21:12:37 +0000 (16:12 -0500)]
Honor fixing principal point in camera calib tutorial.
Alexander Alekhin [Tue, 1 Aug 2017 14:19:18 +0000 (17:19 +0300)]
core: empty() for Rect/Size templates
Check for empty objects via .area() is not a good practice due overflows
Alexander Alekhin [Tue, 1 Aug 2017 13:47:15 +0000 (13:47 +0000)]
Merge pull request #9253 from jbms:fix/image-decoding-tempfile
Alexander Alekhin [Tue, 1 Aug 2017 13:06:37 +0000 (13:06 +0000)]
Merge pull request #9097 from piotr-semenov:fix/cv_rect_monoid_identity
Alexander Alekhin [Tue, 1 Aug 2017 13:06:00 +0000 (13:06 +0000)]
Merge pull request #9284 from ipuustin:dnn-opencl-fixes
Alexander Alekhin [Tue, 1 Aug 2017 13:05:43 +0000 (13:05 +0000)]
Merge pull request #9279 from alalek:ocl_fix_program_cache
Jiri Horner [Tue, 1 Aug 2017 12:46:01 +0000 (14:46 +0200)]
Merge pull request #8951 from hrnr:akaze_part2
[GSOC] Speeding-up AKAZE, part #2 (#8951)
* feature2d: instrument more functions used in AKAZE
* rework Compute_Determinant_Hessian_Response
* this takes 84% of time of Feature_Detection
* run everything in parallel
* compute Scharr kernels just once
* compute sigma more efficiently
* allocate all matrices in evolution without zeroing
* features2d: add one bigger image to tests
* now test have images: 600x768, 900x600 and 1385x700 to cover different resolutions
* explicitly zero Lx and Ly
* add Lflow and Lstep to evolution as in original AKAZE code
* reworked computing keypoints orientation
integrated faster function from https://github.com/h2suzuki/fast_akaze
* use standard fastAtan2 instead of getAngle
* compute keypoints orientation in parallel
* fix visual studio warnings
* replace some wrapped functions with direct calls to OpenCV functions
* improved readability for people familiar with opencv
* do not same image twice in base level
* rework diffusity stencil
* use one pass stencil for diffusity from https://github.com/h2suzuki/fast_akaze
* improve locality in Create_Scale_Space
* always compute determinat od hessian and spacial derivatives
* this needs to be computed always as we need derivatives while computing descriptors
* fixed tests of AKAZE with KAZE descriptors which have been affected by this
Currently it computes all first and second order derivatives together and the determiant of the hessian. For descriptors it would be enough to compute just first order derivates, but it is not probably worth it optimize for scenario where descriptors and keypoints are computed separately, since it is already very inefficient. When computing keypoint and descriptors together it is faster to do it the current way (preserves locality).
* parallelize non linear diffusion computation
* do multiplication right in the nlp diffusity kernel
* rework kfactor computation
* get rid of sharing buffers when creating scale space pyramid, the performace impact is neglegible
* features2d: initialize TBB scheduler in perf tests
* ensures more stable output
* more reasonable profiles, since the first call of parallel_for_ is not getting big performace hit
* compute_kfactor: interleave finding of maximum and computing distance
* no need to go twice through the data
* start to use UMats in AKAZE to leverage OpenCl in the future
* fixed bug that prevented computing determinant for scale pyramid of size 1 (just the base image)
* all descriptors now support writing to uninitialized memory
* use InputArray and OutputArray for input image and descriptors, allows to make use UMAt that user passes to us
* enable use of all existing ocl paths in AKAZE
* all parts that uses ocl-enabled functions should use ocl by now
* imgproc: fix dispatching of IPP version when OCL is disabled
* when OCL is disabled IPP version should be always prefered (even when the dst is UMat)
* get rid of copy in DeterminantHessian response
* this slows CPU version considerably
* do no run in parallel when running with OCL
* store derivations as UMat in pyramid
* enables OCL path computing of determint hessian
* will allow to compute descriptors on GPU in the future
* port diffusivity to OCL
* diffusivity itself is not a blocker, but this saves us downloading and uploading derivations
* implement kernel for nonlinear scalar diffusion step
* download the pyramid from GPU just once
we don't want to downlaod matrices ad hoc from gpu when the function in AKAZE needs it. There is a HUGE mapping overhead and without shared memory support a LOT of unnecessary transfers.
This maps/downloads matrices just once.
* fix bug with uninitialized values in non linear diffusion
* this was causing spurious segfaults in stitching tests due to propagation of NaNs
* added new test, which checks for NaNs (added new debug asserts for NaNs)
* valgrind now says everything is ok
* add nonlinear diffusion step OCL implementation
* Lt in pyramid changed to UMat, it will be downlaoded from GPU along with Lx, Ly
* fix bug in pm_g2 kernel. OpenCV mangles dimensions passed to OpenCL, so we need to check for boundaries in each OCL kernel.
* port computing of determinant to OCL
* computing of determinant is not a blocker, but with this change we don't need to download all spatial derivatives to CPU, we only download determinant
* make Ldet in the pyramid UMat, download it from CPU together with the other parts of the pyramid
* add profiling macros
* fix visual studio warning
* instrument non_linear_diffusion
* remove changes I have made to TEvolution
* TEvolution is used only in KAZE now
* Revert "features2d: initialize TBB scheduler in perf tests"
This reverts commit
ba81e2a711ae009ce3c5459775627b6423112669.
Ismo Puustinen [Tue, 1 Aug 2017 11:09:11 +0000 (14:09 +0300)]
dnn: force floating point literals to be float.
In OpenCL code in activations.cl, make the type of floating point
literals to be float. Otherwise the values will be interpreted as
doubles, causing Beignet to have type conversion issues.
Alexander Alekhin [Tue, 1 Aug 2017 11:12:54 +0000 (11:12 +0000)]
Merge pull request #9188 from arrybn:mobilenet_ssd_sample
Aleksandr Rybnikov [Fri, 14 Jul 2017 17:47:56 +0000 (20:47 +0300)]
MobileNet SSD sample
Alexander Alekhin [Mon, 31 Jul 2017 16:21:51 +0000 (16:21 +0000)]
Merge pull request #9278 from alalek:ts_perf_threads
Jeremy Maitin-Shepard [Thu, 27 Jul 2017 20:44:36 +0000 (13:44 -0700)]
loadsave: check for errors when using temp file
Previously, the return value of fwrite and fclose were not properly
checked, leading to possible silent truncation of the data if writing
failed, e.g. due to lack of disk space.
Fixes issue #9251.
Alexander Alekhin [Mon, 31 Jul 2017 14:48:57 +0000 (17:48 +0300)]
fix OpenCV GitHub repository URL
Alexander Alekhin [Mon, 31 Jul 2017 14:24:08 +0000 (17:24 +0300)]
ocl: fix program cache key
Alexander Alekhin [Mon, 31 Jul 2017 14:11:36 +0000 (14:11 +0000)]
Merge pull request #9225 from paroj:reproject_cpp
Alexander Alekhin [Mon, 31 Jul 2017 13:56:03 +0000 (13:56 +0000)]
Merge pull request #9276 from mshabunin:bump-dnn-docs
Alexander Alekhin [Mon, 31 Jul 2017 13:22:06 +0000 (16:22 +0300)]
ts(perf): initialize ThreadPool
Alexander Alekhin [Mon, 31 Jul 2017 13:10:41 +0000 (13:10 +0000)]
Merge pull request #9271 from berak:patch-2
Alexander Alekhin [Mon, 31 Jul 2017 12:03:54 +0000 (12:03 +0000)]
Merge pull request #9275 from alalek:cmake_protobuf_optional
Alexander Alekhin [Mon, 31 Jul 2017 12:02:59 +0000 (12:02 +0000)]
Merge pull request #9274 from alalek:ipp_meanstddev
Alexander Alekhin [Mon, 31 Jul 2017 12:02:40 +0000 (12:02 +0000)]
Merge pull request #9272 from tomoaki0705:fixCudaBuild
Alexander Alekhin [Mon, 31 Jul 2017 12:02:18 +0000 (12:02 +0000)]
Merge pull request #9265 from alalek:python_stitching
Maksim Shabunin [Mon, 31 Jul 2017 11:54:28 +0000 (14:54 +0300)]
Moved dnn module documentation and tutorials links higher in the lists
Alexander Alekhin [Mon, 31 Jul 2017 11:18:59 +0000 (14:18 +0300)]
cmake: don't include protobuf on disabled DNN module
Alexander Alekhin [Mon, 31 Jul 2017 11:04:56 +0000 (14:04 +0300)]
core(stat): disable IPP optimization in meanStdDev (cn > 1)
Tomoaki Teshima [Mon, 31 Jul 2017 09:42:36 +0000 (18:42 +0900)]
guad for CUDA correctly
berak [Mon, 31 Jul 2017 06:28:34 +0000 (08:28 +0200)]
Update README.android
Alexander Alekhin [Sun, 30 Jul 2017 10:54:54 +0000 (13:54 +0300)]
python: disable assertion in NumpyAllocator
Alexander Alekhin [Sun, 30 Jul 2017 10:52:27 +0000 (13:52 +0300)]
python: stitching simple test
Alexander Alekhin [Sun, 30 Jul 2017 10:08:23 +0000 (10:08 +0000)]
Merge pull request #9259 from eyolfson:patch-1
Alexander Alekhin [Sun, 30 Jul 2017 10:07:09 +0000 (10:07 +0000)]
Merge pull request #9261 from puqeko:patch-2
Alexander Alekhin [Sun, 30 Jul 2017 09:54:53 +0000 (09:54 +0000)]
Merge pull request #9255 from marting87:marting87/gpu_samples_usage_msg
Alexander Alekhin [Sun, 30 Jul 2017 09:54:01 +0000 (09:54 +0000)]
Merge pull request #9254 from jtkb:feature/maven_package_update
Alexander Alekhin [Sun, 30 Jul 2017 09:53:39 +0000 (09:53 +0000)]
Merge pull request #9241 from alalek:tlsSlotsSize
Suleyman TURKMEN [Wed, 26 Jul 2017 05:39:53 +0000 (08:39 +0300)]
some improvements on tutorials
puqeko [Fri, 28 Jul 2017 23:56:02 +0000 (11:56 +1200)]
Add tested codecs for OSX
Jon Eyolfson [Fri, 28 Jul 2017 14:19:35 +0000 (10:19 -0400)]
Remove unused method declarations in hog.cpp
The class `App` appears to have two unused methods: `message` and `checkRectSimilarity`. The is no definition or use of either of these methods. This appears to be dead code.
Kerry Billingham [Wed, 26 Jul 2017 08:28:42 +0000 (09:28 +0100)]
Updated package dependency list & package check script.
Martin Ganeff [Fri, 28 Jul 2017 08:20:59 +0000 (10:20 +0200)]
Removed _gpu-suffix from usage messages to align with executable name
Alexander Alekhin [Thu, 27 Jul 2017 15:01:34 +0000 (18:01 +0300)]
core(alloc): drop unused code, use memalign() functions instead of hacks
valgrind provides better detection without memory buffer hacks
Alexander Alekhin [Thu, 27 Jul 2017 14:33:00 +0000 (14:33 +0000)]
Merge pull request #9238 from alalek:valgrind_fixes
Alexander Alekhin [Thu, 27 Jul 2017 14:31:51 +0000 (17:31 +0300)]
core(tls): hide assertions from Thread Sanitizer
Bragadeesh [Thu, 27 Jul 2017 11:38:45 +0000 (17:08 +0530)]
A simple spelling change.
Alexander Alekhin [Wed, 26 Jul 2017 19:45:55 +0000 (22:45 +0300)]
core(tls): don't use tlsSlots without synchronization
Alexander Alekhin [Wed, 26 Jul 2017 16:25:28 +0000 (16:25 +0000)]
Merge pull request #9233 from LaurentBerger:dnndoc
Alexander Alekhin [Wed, 26 Jul 2017 15:16:39 +0000 (18:16 +0300)]
flann: fix out of buffer access
Alexander Alekhin [Wed, 26 Jul 2017 10:11:31 +0000 (13:11 +0300)]
imgproc: fix vectorized code of accumulate
Alexander Alekhin [Tue, 25 Jul 2017 16:58:00 +0000 (19:58 +0300)]
calib3d: fix invalid memory access
Alexander Alekhin [Tue, 25 Jul 2017 13:13:56 +0000 (16:13 +0300)]
dnn: protobuf shutdown
Alexander Alekhin [Tue, 25 Jul 2017 17:16:32 +0000 (20:16 +0300)]
ts: don't run large videoio test (valgrind)
Alexander Alekhin [Mon, 24 Jul 2017 20:27:14 +0000 (23:27 +0300)]
ts: don't run imgcodecs tests on large images (valgrind)
Alexander Alekhin [Mon, 24 Jul 2017 16:24:46 +0000 (19:24 +0300)]
ts: don't run DNN tests with large models (valgrind)
Alexander Alekhin [Mon, 24 Jul 2017 08:36:21 +0000 (11:36 +0300)]
cmake: fix compiler flags
Alexander Alekhin [Fri, 21 Jul 2017 13:42:28 +0000 (16:42 +0300)]
ts: update valgrind suppressions
Alexander Alekhin [Wed, 26 Jul 2017 13:08:13 +0000 (13:08 +0000)]
Merge pull request #9236 from dkurt:fix_json_bool
Alexander Alekhin [Wed, 26 Jul 2017 10:42:49 +0000 (10:42 +0000)]
Merge pull request #9237 from alalek:fix_winrt_build
Alexander Alekhin [Wed, 26 Jul 2017 10:38:28 +0000 (10:38 +0000)]
Merge pull request #9217 from alalek:cleanup_3rdparty
Alexander Alekhin [Wed, 26 Jul 2017 10:38:11 +0000 (10:38 +0000)]
Merge pull request #9215 from alalek:cmake_min_version
dkurt [Wed, 26 Jul 2017 08:08:09 +0000 (11:08 +0300)]
Fix JSON booleans without quotes
Alexander Alekhin [Wed, 26 Jul 2017 09:02:43 +0000 (12:02 +0300)]
winrt: update script for MSVS2017 / SDK 10.0
LaurentBerger [Tue, 25 Jul 2017 11:22:31 +0000 (13:22 +0200)]
update tutorial link for dnn
Alexander Alekhin [Tue, 25 Jul 2017 15:56:57 +0000 (15:56 +0000)]
Merge pull request #9227 from alalek:cmake_fix_ocv_add_testdata
Alexander Alekhin [Tue, 25 Jul 2017 15:56:03 +0000 (15:56 +0000)]
Merge pull request #9232 from dkurt:json_named_nodes
Alexander Alekhin [Tue, 25 Jul 2017 13:23:18 +0000 (13:23 +0000)]
Merge pull request #9229 from alalek:dnn_torch_memory_leaks
Alexander Alekhin [Tue, 25 Jul 2017 13:17:09 +0000 (13:17 +0000)]
Merge pull request #9230 from alalek:mat_cleanup_on_exception
dkurt [Tue, 25 Jul 2017 10:39:32 +0000 (13:39 +0300)]
Missed NAMED bit of JSON nodes tag