Sayed Adel [Tue, 2 Oct 2018 18:44:03 +0000 (20:44 +0200)]
imgproc:simd Enable VSX and wide universal intrinsics for accumulate operations
- improve cpu dispatching calls to allow more SIMD extentions
(SSE4.1, AVX2, VSX)
- wide universal intrinsics
- replace dummy v_expand with v_expand_low
- replace v_expand + v_mul_wrap with v_mul_expand for product accumulate operations
- use FMA for accumulate operations
- add mask and more types to accumulate's performance tests
Sayed Adel [Wed, 12 Sep 2018 19:32:34 +0000 (21:32 +0200)]
Change behaviour of 16-bit multiply operator
- redefine 16-bit multiply operator to perform saturating multiply
instead of non-saturating multiply
- implement 8-bit multiply operator to perform saturating multiply
- implement v_mul_wrap() for 8-bit, 16-bit non-saturating multiply
- improve performance of v_mul_hi() for VSX
- update intrin tests with new changes
- replace unv 16-bit multiplication operator with v_mul_wrap due behavior changes
- Several improvements depend on vpisarev review
* initial forward declarations for universal intrinsics
* move emulating SSE intrinsics into separate file
* implement v_mul_expand for 8-bit
* reimplement saturating multiply using v_mul_expand + v_pack
* map v_expand, v_load_expand, v_load_expand_q to sse4.1
* fix overflow avx2::v_pack(uint32)
* implement two universal intrinsics v_expand_low and v_expand_high
Vitaly Tuzov [Mon, 10 Sep 2018 17:05:45 +0000 (20:05 +0300)]
Fixed meanStdDev() implementation for the case input matrix has more than 4 channels
Lubov Batanina [Mon, 10 Sep 2018 18:07:51 +0000 (21:07 +0300)]
Merge pull request #12071 from l-bat/l-bat:onnx_parser
* Add Squeezenet support in ONNX
* Add AlexNet support in ONNX
* Add Googlenet support in ONNX
* Add CaffeNet and RCNN support in ONNX
* Add VGG16 and VGG16 with batch normalization support in ONNX
* Add RCNN, ZFNet, ResNet18v1 and ResNet50v1 support in ONNX
* Add ResNet101_DUC_HDC
* Add Tiny Yolov2
* Add CNN_MNIST, MobileNetv2 and LResNet100 support in ONNX
* Add ONNX models for emotion recognition
* Add DenseNet121 support in ONNX
* Add Inception v1 support in ONNX
* Refactoring
* Fix tests
* Fix tests
* Skip unstable test
* Modify Reshape operation
Alexander Alekhin [Mon, 10 Sep 2018 10:44:32 +0000 (10:44 +0000)]
Merge pull request #12054 from alalek:debug_bindings
Alexander Alekhin [Sun, 9 Sep 2018 20:16:47 +0000 (20:16 +0000)]
Merge pull request #12475 from sturkmen72:patch-1
Alexander Alekhin [Sun, 9 Sep 2018 20:16:28 +0000 (20:16 +0000)]
Merge pull request #12473 from cv3d:cmake/python_detection
Hamdi Sahloul [Sun, 9 Sep 2018 04:47:03 +0000 (13:47 +0900)]
CMAKE: Improve python detection
Suleyman TURKMEN [Sun, 9 Sep 2018 14:49:09 +0000 (17:49 +0300)]
Update window.cpp
Alexander Alekhin [Tue, 24 Jul 2018 18:31:40 +0000 (18:31 +0000)]
bindings: add debug helpers for args conversions
Alexander Alekhin [Sat, 8 Sep 2018 11:44:04 +0000 (11:44 +0000)]
Merge pull request #12465 from hmaarrfk:fix_bayer2rgba
Mark Harfouche [Fri, 7 Sep 2018 19:57:55 +0000 (15:57 -0400)]
Output RGBA images when bayer_xx2YYYA is called
cyy [Fri, 7 Sep 2018 15:43:47 +0000 (23:43 +0800)]
Merge pull request #12458 from DEEPIR:3.4
* may be an typo fix
* remove identical branch,may be paste error
* add parentheses around macro parameter
* simplify if condition
* check malloc fail
* change the condition of branch removed by commit
3041502861318c85d901e8c08226ff67898c77ed
Alexander Alekhin [Fri, 7 Sep 2018 13:03:44 +0000 (13:03 +0000)]
Merge pull request #12460 from cv3d:lint_unused
Hamdi Sahloul [Fri, 7 Sep 2018 11:33:52 +0000 (20:33 +0900)]
Utilize CV_UNUSED macro
Alexander Alekhin [Fri, 7 Sep 2018 09:27:31 +0000 (09:27 +0000)]
Merge pull request #12459 from alalek:fix_cuda_build
Alexander Alekhin [Fri, 7 Sep 2018 07:26:17 +0000 (07:26 +0000)]
cuda: fix build (legacy C-API usage)
Alexander Alekhin [Thu, 6 Sep 2018 20:18:45 +0000 (20:18 +0000)]
Merge pull request #12446 from alalek:imgproc_grabcut_numeric_issues
cyy [Thu, 6 Sep 2018 20:09:39 +0000 (04:09 +0800)]
Merge pull request #12443 from DEEPIR:master
* simplify condition
* dims must > 0 or latter sz[dims-1] will underflow
Alexander Alekhin [Thu, 6 Sep 2018 20:07:16 +0000 (20:07 +0000)]
Merge pull request #11630 from alalek:c_api_eliminate_constructors
Vadim Pisarevsky [Thu, 6 Sep 2018 16:36:59 +0000 (19:36 +0300)]
Merge pull request #12411 from vpisarev:wide_convert
* rewrote Mat::convertTo() and convertScaleAbs() to wide universal intrinsics; added always-available and SIMD-optimized FP16<=>FP32 conversion
* fixed compile warnings
* fix some more compile errors
* slightly relaxed accuracy threshold for int->float conversion (since we now do it using single-precision arithmetics, not double-precision)
* fixed compile errors on iOS, Android and in the baseline C++ version (intrin_cpp.hpp)
* trying to fix ARM-neon builds
* trying to fix ARM-neon builds
* trying to fix ARM-neon builds
* trying to fix ARM-neon builds
Vadim Pisarevsky [Thu, 6 Sep 2018 15:56:55 +0000 (18:56 +0300)]
Merge pull request #12437 from vpisarev:avx2_fixes
* trying to fix the custom AVX2 builder test failures (false alarms)
* fixed compile error with CPU_BASELINE=AVX2 on x86; raised tolerance thresholds in a couple of tests
* fixed compile error with CPU_BASELINE=AVX2 on x86; raised tolerance thresholds in a couple of tests
* fixed compile error with CPU_BASELINE=AVX2 on x86; raised tolerance thresholds in a couple of tests
* seemingly disabled false alarm warning in surf.cpp; increased tolerance thresholds in the tests for SolvePnP and in DNN/ENet
Alexander Alekhin [Thu, 6 Sep 2018 14:05:54 +0000 (17:05 +0300)]
imgproc: grabcut numeric stability
Alexander Alekhin [Thu, 6 Sep 2018 11:34:16 +0000 (14:34 +0300)]
don't use constructors for C API structures
Alexander Alekhin [Wed, 30 May 2018 13:59:52 +0000 (16:59 +0300)]
core: remove constructors from C API structures
POD structures can't have constructors.
Alexander Alekhin [Thu, 6 Sep 2018 10:33:33 +0000 (10:33 +0000)]
Merge pull request #12440 from woodychow:fix_normL2Sqr_speed_regression_3.4
Dmitry Kurtaev [Thu, 6 Sep 2018 10:26:47 +0000 (13:26 +0300)]
Merge pull request #12264 from dkurt:dnn_remove_forward_method
* Remove a forward method in dnn::Layer
* Add a test
* Fix tests
* Mark multiple dnn::Layer::finalize methods as deprecated
* Replace back dnn's inputBlobs to vector of pointers
* Remove Layer::forward_fallback from CV_OCL_RUN scopes
woody.chow [Thu, 6 Sep 2018 08:43:07 +0000 (17:43 +0900)]
Replace naive normL2Sqr with hal::normL2Sqr_ for better performance
Alexander Alekhin [Wed, 5 Sep 2018 16:46:36 +0000 (16:46 +0000)]
Merge pull request #12434 from alalek:pr12414_rebased
Alexander Alekhin [Wed, 5 Sep 2018 16:24:02 +0000 (16:24 +0000)]
Merge pull request #12355 from sturkmen72:update_samples
Zhenqing Hu [Tue, 4 Sep 2018 18:35:57 +0000 (14:35 -0400)]
To fix bug #12389, which is a validation for the potential null pointer.
Signed-off-by: Zhenqing Hu <huzq85@gmail.com>
Alexander Alekhin [Wed, 5 Sep 2018 16:09:27 +0000 (16:09 +0000)]
Merge pull request #12433 from alalek:fix_contrib_1746
Suleyman TURKMEN [Sat, 25 Aug 2018 02:37:54 +0000 (05:37 +0300)]
Update samples
Alexander Alekhin [Wed, 5 Sep 2018 13:16:53 +0000 (16:16 +0300)]
imgproc: fix Subdiv2D::getTriangleList()
Alexander Alekhin [Wed, 5 Sep 2018 10:04:04 +0000 (10:04 +0000)]
Merge pull request #12408 from dkurt:dnn_myriad_batch_tests
Alexander Alekhin [Wed, 5 Sep 2018 09:46:26 +0000 (09:46 +0000)]
Merge pull request #12424 from alalek:fix_build_avoid_nullptr
Dmitry Kurtaev [Tue, 4 Sep 2018 14:33:34 +0000 (17:33 +0300)]
Enable Myriad tests with batch size > 1
Alexander Alekhin [Wed, 5 Sep 2018 06:19:02 +0000 (06:19 +0000)]
build: don't use nullptr without C++11 guard
Alexander Alekhin [Wed, 5 Sep 2018 06:12:09 +0000 (06:12 +0000)]
Merge pull request #12420 from cv3d:fix/gtest_vc12
Hamdi Sahloul [Wed, 5 Sep 2018 02:44:30 +0000 (11:44 +0900)]
Workaround for GTest v1.8.1 + Visual Studio 2013 (vc12)
Alexander Alekhin [Tue, 4 Sep 2018 16:34:30 +0000 (16:34 +0000)]
Merge pull request #12409 from dkurt:fix_12407
Alexander Alekhin [Tue, 4 Sep 2018 16:09:43 +0000 (16:09 +0000)]
Merge pull request #12406 from alalek:backport_12357_12391
Alexander Alekhin [Tue, 4 Sep 2018 15:16:08 +0000 (15:16 +0000)]
Merge pull request #12394 from alalek:imgproc_GaussianBlur_allow_HAL_8U
Alexander Alekhin [Tue, 4 Sep 2018 15:15:39 +0000 (15:15 +0000)]
Merge pull request #12383 from alalek:ts_qemu_support
Dmitry Kurtaev [Tue, 4 Sep 2018 14:48:52 +0000 (17:48 +0300)]
Fix #12407
Alexander Alekhin [Tue, 4 Sep 2018 13:44:47 +0000 (16:44 +0300)]
backport fixes for static analyzer warnings
Commits:
-
09837928d934d104b3f327ce42122b7b8f35fff3
-
10fb88d02791b33d83a3756c62e21aa1c5a1e68d
Excluded changes with std::atomic (C++98 requirement)
Alexander Alekhin [Tue, 4 Sep 2018 13:28:55 +0000 (13:28 +0000)]
Merge pull request #12382 from alalek:update_gtest_1.8.1
Alexander Alekhin [Tue, 4 Sep 2018 12:55:05 +0000 (12:55 +0000)]
Merge pull request #12405 from todortomov:3.4_cap_v4l_query_conrtols
Alexander Alekhin [Tue, 4 Sep 2018 11:38:34 +0000 (11:38 +0000)]
Merge pull request #12398 from alalek:samples_eliminate_cvconfig
Alexander Alekhin [Tue, 4 Sep 2018 11:29:23 +0000 (11:29 +0000)]
Merge pull request #12377 from alalek:inputarray_raw_wrapper_customtype
Todor Tomov [Tue, 4 Sep 2018 08:33:08 +0000 (11:33 +0300)]
cap_v4l: Fix private control enumeration end condition
Currently the private control enumeration will be stopped when QUERYCTRL
returns -EINVAL only. It is possible however that other errors occur.
One particular case is when the v4l2 device doesn't support any controls
and doesn't implement the QUERYCTRL ioctl. In that case the v4l2
framework returns -ENOTTY. In that case the current control enumeration
will go in an endless loop.
To fix this change the control enumeration stop condition. If any errors
occur, end the control enumeration.
Signed-off-by: Todor Tomov <todor.tomov@linaro.org>
Alexander Alekhin [Mon, 3 Sep 2018 18:56:04 +0000 (18:56 +0000)]
samples: eliminate cvconfig.h usage
- don't use TBB in samples
Alexander Alekhin [Tue, 4 Sep 2018 06:39:20 +0000 (06:39 +0000)]
Merge pull request #12402 from alalek:fix_build_dnn_tests
Alexander Alekhin [Mon, 3 Sep 2018 23:11:25 +0000 (23:11 +0000)]
dnn: fix tests build with disabled OpenCL
Alexander Alekhin [Mon, 3 Sep 2018 20:26:14 +0000 (20:26 +0000)]
Merge pull request #12396 from LaurentBerger:I12392
Alexander Alekhin [Mon, 3 Sep 2018 20:25:45 +0000 (20:25 +0000)]
Merge pull request #12397 from terfendail:resize_wintr_fix
Alexander Alekhin [Sun, 2 Sep 2018 03:31:05 +0000 (03:31 +0000)]
CUDA: drop OPENCV_TRAITS_ENABLE_DEPRECATED requirement
Alexander Alekhin [Sun, 2 Sep 2018 01:04:31 +0000 (01:04 +0000)]
core: wrap custom types via _RawArray (raw() call)
- support passing of `std::vector<KeyPoint>` via InputArray
Vitaly Tuzov [Mon, 3 Sep 2018 16:57:11 +0000 (19:57 +0300)]
Fixed bit-exact resize wide intrinsics implementation for 16U
LaurentBerger [Mon, 3 Sep 2018 17:30:49 +0000 (19:30 +0200)]
Solves issue 12392
Alexander Alekhin [Mon, 3 Sep 2018 16:16:48 +0000 (16:16 +0000)]
Merge pull request #12393 from peterjozsa:issue_12301
Alexander Alekhin [Mon, 3 Sep 2018 15:39:42 +0000 (18:39 +0300)]
imgproc(GaussianBlur): restore processing order
Vadim Pisarevsky [Mon, 3 Sep 2018 14:30:16 +0000 (14:30 +0000)]
Merge pull request #12371 from alalek:issue_12366
yuki takehara [Mon, 3 Sep 2018 14:18:10 +0000 (23:18 +0900)]
Fix bug in distanceTransform (#12278)
* fix 12218
* Update test_distancetransform.cpp
marked the test as "BIGDATA_TEST" in order to skip it on low-mem platforms
* modify test
* use a smaller image in the test
* fix test code
Dmitry Kurtaev [Mon, 3 Sep 2018 14:08:40 +0000 (17:08 +0300)]
Import SSDs from TensorFlow by training config (#12188)
* Remove TensorFlow and protobuf dependencies from object detection scripts
* Create text graphs for TensorFlow object detection networks from sample
Peter Jozsa [Mon, 3 Sep 2018 12:56:38 +0000 (14:56 +0200)]
Fix https://github.com/opencv/opencv/issues/12301
Alexander Alekhin [Mon, 3 Sep 2018 10:17:56 +0000 (10:17 +0000)]
Merge pull request #12376 from alalek:issue_12337
Alexander Alekhin [Mon, 3 Sep 2018 10:17:09 +0000 (10:17 +0000)]
Merge pull request #12374 from alalek:issue_12368
Alexander Alekhin [Mon, 3 Sep 2018 10:16:51 +0000 (10:16 +0000)]
Merge pull request #12373 from alalek:issue_12365
Alexander Alekhin [Mon, 3 Sep 2018 09:33:00 +0000 (09:33 +0000)]
Merge pull request #12386 from wzw-intel:redundant_code
Wu Zhiwen [Mon, 3 Sep 2018 00:51:26 +0000 (08:51 +0800)]
dnn: Remove a duplicated code snippet for flatten layer
Signed-off-by: Wu Zhiwen <zhiwen.wu@intel.com>
Alexander Alekhin [Sun, 2 Sep 2018 21:48:10 +0000 (21:48 +0000)]
cmake: drop unconditional forcing of CMAKE_SKIP_RPATH=TRUE
CMake "cache" entry for CMAKE_SKIP_RPATH is in the end of this file
Alexander Alekhin [Fri, 31 Aug 2018 14:28:27 +0000 (17:28 +0300)]
ts: support QEMU launcher
Alexander Alekhin [Sun, 2 Sep 2018 12:40:49 +0000 (12:40 +0000)]
ts: re-apply OpenCV-specific patch on googletest 1.8.1
Alexander Alekhin [Sun, 2 Sep 2018 12:21:29 +0000 (12:21 +0000)]
ts: update Google Test 1.8.1
Helper script from googletest: ./scripts/fuse_gtest_files.py
Alexander Alekhin [Sun, 2 Sep 2018 12:07:15 +0000 (12:07 +0000)]
ts: restore Google Test 1.8.0 (capture OpenCV specific patch)
Alexander Alekhin [Sun, 2 Sep 2018 11:50:32 +0000 (11:50 +0000)]
Merge pull request #12379 from alalek:fix_warning_win32
Alexander Alekhin [Sun, 2 Sep 2018 09:53:41 +0000 (09:53 +0000)]
imgcodecs(webp): use safe cast to size_t on Win32
Alexander Alekhin [Sun, 2 Sep 2018 04:15:16 +0000 (04:15 +0000)]
Merge pull request #12362 from alalek:fix_js_headers
Alexander Alekhin [Sat, 1 Sep 2018 14:31:15 +0000 (14:31 +0000)]
core: add solveLP type checks for output
to forbid Mat1f
Checks are not reliable: empty uninitialized `cv::Mat` has `CV_8UC1` type
Alexander Alekhin [Sat, 1 Sep 2018 13:18:08 +0000 (13:18 +0000)]
calib3d: use `Mat::reserveBuffer()` instead of `.create()`
to allocate memory >2Gb
Alexander Alekhin [Sat, 1 Sep 2018 12:25:10 +0000 (12:25 +0000)]
imgproc: small code refactoring (findContours -> l_cinfo)
Alexander Alekhin [Sat, 1 Sep 2018 12:38:57 +0000 (12:38 +0000)]
imgproc(segmentation): don't increase mask NULL pointer
Avoid manual address arithmetic
Vadim Pisarevsky [Fri, 31 Aug 2018 14:57:14 +0000 (14:57 +0000)]
Merge pull request #12350 from dkurt:dnn_ie_caffe_faster_rcnn
Vlad Karpushin [Fri, 31 Aug 2018 14:41:22 +0000 (21:41 +0700)]
doc: add new tutorial motion deblur filter (#12215)
* doc: add new tutorial motion deblur filter
* Update motion_deblur_filter.markdown
a few minor changes
Vlad Karpushin [Fri, 31 Aug 2018 14:24:37 +0000 (21:24 +0700)]
doc: fix English gramma in tutorial out-of-focus-deblur filter (#12214)
* doc: fix English gramma in tutorial out-of-focus-deblur filter
* Update out_of_focus_deblur_filter.markdown
slightly modified one sentence
Vitaly Tuzov [Fri, 31 Aug 2018 14:05:00 +0000 (17:05 +0300)]
Bit-exact GaussianBlur reworked to use wide intrinsics (#12073)
* Bit-exact GaussianBlur reworked to use wide intrinsics
* Added v_mul_hi universal intrinsic
* Removed custom SSE2 branch from bit-exact GaussianBlur
* Removed loop unrolling for gaussianBlur horizontal smoothing
Vitaly Tuzov [Fri, 31 Aug 2018 13:54:05 +0000 (16:54 +0300)]
Bit-exact resize reworked to use wide intrinsics (#12038)
* Bit-exact resize reworked to use wide intrinsics
* Reworked bit-exact resize row data loading
* Added bit-exact resize row data loaders for SIMD256 and SIMD512
* Fixed type punned pointer dereferencing warning
* Reworked loading of source data for SIMD256 and SIMD512 bit-exact resize
Alexander Alekhin [Fri, 31 Aug 2018 13:27:14 +0000 (13:27 +0000)]
Merge pull request #12142 from alalek:dnn_ocl_fix_convolution_perf_tests
berak [Fri, 31 Aug 2018 13:07:53 +0000 (15:07 +0200)]
ml: fix adjusting K in KNearest (#12358)
Vadim Pisarevsky [Fri, 31 Aug 2018 13:03:10 +0000 (13:03 +0000)]
Merge pull request #12353 from alalek:imgcodecs_fix_webp
Vadim Pisarevsky [Fri, 31 Aug 2018 13:01:15 +0000 (13:01 +0000)]
Merge pull request #12348 from take1014:subdiv_getTriangleList_5788
Vadim Pisarevsky [Fri, 31 Aug 2018 12:58:25 +0000 (12:58 +0000)]
Merge pull request #12341 from terfendail:countnonzero_wintr
Dmitry Kurtaev [Fri, 31 Aug 2018 12:41:56 +0000 (15:41 +0300)]
Include preprocessing nodes to object detection TensorFlow networks (#12211)
* Include preprocessing nodes to object detection TensorFlow networks
* Enable more fusion
* faster_rcnn_resnet50_coco_2018_01_28 test
Alexander Alekhin [Fri, 31 Aug 2018 12:16:50 +0000 (12:16 +0000)]
Merge pull request #12360 from alalek:issue_12356
Alexander Alekhin [Thu, 30 Aug 2018 14:53:41 +0000 (17:53 +0300)]
dnn(test): use dnnBackendsAndTargets() param generator
Alexander Alekhin [Thu, 2 Aug 2018 14:59:45 +0000 (17:59 +0300)]
dnn(perf): fix and merge Convolution tests
- OpenCL tests didn't run any OpenCL kernels
- use real configuration from existed models (the first 100 cases)
- batch size = 1
Alexander Alekhin [Fri, 31 Aug 2018 11:48:44 +0000 (14:48 +0300)]
js: use generated list of OpenCV headers
- replaces hand-written list
Alexander Alekhin [Fri, 31 Aug 2018 09:56:02 +0000 (12:56 +0300)]
imgcodecs: add null pointer check
Alexander Alekhin [Thu, 30 Aug 2018 19:12:01 +0000 (19:12 +0000)]
imgcodecs(webp): multiple fixes
- don't reallocate passed 'img' (test fixed - must use IMREAD_UNCHANGED / IMREAD_ANYCOLOR)
- avoid memory DDOS
- avoid reading of whole file during header processing
- avoid data access after allocated buffer during header processing (missing checks)
- use WebPFree() to free allocated buffers (libwebp >= 0.5.0)
- drop unused & undefined `.close()` method
- added checks for channels >= 5 in encoder