Commit Graph

28702 Commits

Author SHA1 Message Date
Maksim Shabunin
792b7e0629 (3.4) Fixed several issues found by static analysis
original commit: a079c2eb7c
2021-12-16 17:02:58 +00:00
Alexander Alekhin
6a889ed3e5 Merge pull request #21261 from alalek:dnn_onnx_test_filter_update 2021-12-15 16:24:04 +00:00
Alexander Alekhin
f3ba88c87c dnn(test): update ONNX conformance filters 2021-12-15 12:53:53 +00:00
Alexander Alekhin
e7c5120682 Merge pull request #21259 from rogday:random_fixes 2021-12-15 10:26:49 +00:00
Alexander Alekhin
19cfaa2be7 Merge pull request #21254 from alalek:build_opencv_winpack_dldt_2021.4.2 2021-12-15 08:17:09 +00:00
Smirnov Egor
e97c7e042b fix max_unpool missing attributes, add default value of keepdims in reducemean/max/sum, add support for keepdims=true in full reduction branch, add new padding type to Pad 2021-12-14 22:09:27 +03:00
Alexander Alekhin
35f27d0d3e Merge pull request #21257 from alalek:imgproc_cvtcolor_lab_fix_nan 2021-12-14 16:59:07 +00:00
Alexander Alekhin
330a11861e Merge pull request #21256 from zchrissirhcz:fix-3.4-pyramid-tutorial 2021-12-14 16:58:53 +00:00
rogday
4827fe86bb
Merge pull request #21088 from rogday:onnx_tests
Onnx conformance tests

* Add ONNX conformance tests

* dnn(test): add filters for ONNX conformance tests

* add filter lists for OCV backend

* address review comments

* move test_clip_inbounds to all_denylist

* address clip issue

* avoid empty lists

Co-authored-by: Alexander Alekhin <alexander.a.alekhin@gmail.com>
2021-12-14 16:58:06 +00:00
Alexander Alekhin
72c55b56f2 imgproc: catch NaNs in clip(), use table index debug check
- no NaN propagation guarantee
2021-12-14 15:31:51 +00:00
Alexander Alekhin
4eab85d364 Merge pull request #21251 from vrabaud:3.4_bayer 2021-12-14 15:15:07 +00:00
Zhuo Zhang
3cc83ce024
docs: correct normalize factor in gaussian pyramid tutorial 2021-12-14 21:06:02 +08:00
Alexander Alekhin
52c423a423 build: winpack_dldt with dldt 2021.4.2 2021-12-14 09:00:43 +00:00
Vincent Rabaud
542b3e8a64 Fix harmless signed integer overflow.
When computing:
t1 = (bayer[1] + bayer[bayer_step] + bayer[bayer_step+2] + bayer[bayer_step*2+1])*G2Y;
there is a T (unsigned short or char) multiplied by an int which can overflow.
Then again, it is stored to t1 which is unsigned so the overflow disappears.
Keeping all unsigned is safer.
2021-12-13 23:43:49 +01:00
Alexander Alekhin
4f79eb256d Merge pull request #21250 from alalek:videoio_msmf_update_camera_3.4 2021-12-13 22:24:33 +00:00
Alexander Alekhin
7620456486 videoio(MSMF): add queue for async ReadSample() 2021-12-13 21:02:24 +00:00
Alexander Alekhin
5462710103 Merge pull request #21235 from jonay2000:fix-docs 2021-12-11 15:14:43 +00:00
Jonathan Dönszelmann
d1b923bee9
Update name from Gunner to Gunnar as that's the name he published his
paper under.
2021-12-11 13:10:52 +01:00
Alexander Alekhin
04020f391a Merge pull request #21193 from alalek:imgproc_test_bitexact_cvtcolor_yuv 2021-12-10 16:11:06 +00:00
Alexander Alekhin
c4ab0c09ea Merge pull request #21228 from alalek:issue_21198 2021-12-10 16:07:57 +00:00
Alexander Alekhin
9b7f40ce4d Merge pull request #21074 from vrabaud:3.4_rect 2021-12-10 11:32:03 +00:00
Alexander Alekhin
659cf7249e imgproc(ocl): fix resizeLN, avoid integer overflow 2021-12-09 20:30:26 +00:00
UncleLLD
62a010a25d
Merge pull request #21224 from UncleLLD:fix-cvtColor-error
fix cvtColor-error

* fix gray image channel error

* fix gray image channel error

* fix cvtColor error after the video end

* fix cvtColor error after the video end and change next variable

* fix cvtColor error after the video end

* reset next variable

* fix cvtColor error after the video end

* fix cvtColor error after the video end
2021-12-09 19:11:05 +00:00
Vincent Rabaud
6b4ea68bc7 Solve Rect overflow issues.
Fow now, it is possible to define valid rectangle for which some
functions overflow (e.g. br(), ares() ...).
This patch fixes the intersection operator so that it works with
any rectangle.
2021-12-09 12:04:26 +01:00
Andrey Senyaev
d6891c705e
Merge pull request #21219 from asenyaev:asen/remove_distutils
* Replaced distutils module to sysconfig

* Fixed getting a path to python lib
2021-12-08 18:51:34 +00:00
Alexander Alekhin
16b674b984 Merge pull request #21213 from alalek:issue_20850_case1 2021-12-07 16:34:54 +00:00
Alexander Alekhin
65392d5e6b cmake: fix OPENGL_LIBRARIES handling 2021-12-07 12:12:42 +00:00
UncleLLD
5aef565fb6
Merge pull request #21188 from UncleLLD:fix-markdown-error
fix issue 21187: markdown file: gray image does not have three dimensions
2021-12-06 16:14:17 +00:00
Alexander Alekhin
a3287b85c5 carotene: disable YUV color conversions (bit-exact issue) 2021-12-04 07:32:57 +00:00
Alexander Alekhin
0c0b1ec9ae imgproc(test): add bit-exact tests for YUV cvtColor conversions 2021-12-04 04:36:57 +00:00
Alexander Alekhin
35ff9af6ce Merge pull request #21162 from rogday:softmax_simplification 2021-12-02 17:14:48 +00:00
Alexander Alekhin
dad2b9aac8 Merge pull request #21160 from rogday:elu_alpha 2021-12-02 17:13:57 +00:00
rogday
1613d30544
Merge pull request #21159 from rogday:ceil_mode
fix ceil_mode for Average/MaxPooling

* fix ceil_mode

* add a comment
2021-12-02 20:11:11 +03:00
Alexander Alekhin
b6df9debaf Merge pull request #21174 from APrigarina:fix_qr_encoder 2021-12-02 16:41:03 +00:00
Alexander Alekhin
b9d0dc60b0 Merge pull request #21173 from alalek:3.4_dnn_test_reenable_ov_2021_4 2021-12-02 16:33:15 +00:00
APrigarina
37b1876807 qr encoder: fix memory and unused variables issues 2021-12-02 18:35:33 +03:00
Alexander Alekhin
bd396e1fd5 dnn(test): re-enable tests which works with OpenVINO 2021.4.x (3.4) 2021-12-02 11:30:45 +00:00
Alexander Alekhin
5da69c0b9a Merge pull request #21164 from rogday:sum_identity 2021-12-01 22:49:02 +00:00
Alexander Alekhin
a806e8cc58 Merge pull request #21163 from rogday:transpose_default 2021-12-01 22:47:57 +00:00
Vincent Rabaud
1a1a7bbbfd
Merge pull request #21112 from vrabaud:3.4_luv_overflow
* Fix integer overflow in cv::Luv2RGBinteger::process.

For LL=49, uu=205, vv=23, we end up with x=7373056 and y=458
which overflows y*x.

* imgproc(test): adjust test parameters to cover SIMD code
2021-12-01 15:46:03 +03:00
Smirnov Egor
33e97e994d add sum of 1 input 2021-11-30 15:42:20 +03:00
Smirnov Egor
11e6848bb9 add default order to transpose 2021-11-30 15:34:34 +03:00
Smirnov Egor
829410729c add new (Log)SoftMax simplification passes 2021-11-30 15:20:52 +03:00
Smirnov Egor
0e2a3686c0 add alpha parameter to ELU layer 2021-11-30 12:20:35 +03:00
Alexander Alekhin
0d2857a242 Merge pull request #21152 from rogday:fix_defaults 2021-11-29 22:39:27 +00:00
Alexander Alekhin
17d99e6266 Merge pull request #21142 from alalek:dnn_two_inputs_ocl_fp16_3.4 2021-11-29 21:44:59 +00:00
Andrew Ryrie
ea7d4be3f8
Merge pull request #20658 from smbz:lstm_optimisation
* dnn: LSTM optimisation

This uses the AVX-optimised fastGEMM1T for matrix multiplications where available, instead of the standard cv::gemm.

fastGEMM1T is already used by the fully-connected layer.  This commit involves two minor modifications:
 - Use unaligned access.  I don't believe this involves any performance hit in on modern CPUs (Nehalem and Bulldozer onwards) in the case where the address is actually aligned.
 - Allow for weight matrices where the number of columns is not a multiple of 8.

I have not enabled AVX-512 as I don't have an AVX-512 CPU to test on.

* Fix warning about initialisation order

* Remove C++11 syntax

* Fix build when AVX(2) is not available

In this case the CV_TRY_X macros are defined to 0, rather than being undefined.

* Minor changes as requested:

 - Don't check hardware support for AVX(2) when dispatch is disabled for these
 - Add braces

* Fix out-of-bounds access in fully connected layer

The old tail handling in fastGEMM1T implicitly rounded vecsize up to the next multiple of 8, and the fully connected layer implements padding up to the next multiple of 8 to cope with this.  The new tail handling does not round the vecsize upwards like this but it does require that the vecsize is at least 8.  To adapt to the new tail handling, the fully connected layer now rounds vecsize itself at the same time as adding the padding(which makes more sense anyway).

This also means that the fully connected layer always passes a vecsize of at least 8 to fastGEMM1T, which fixes the out-of-bounds access problems.

* Improve tail mask handling

 - Use static array for generating tail masks (as requested)
 - Apply tail mask to the weights as well as the input vectors to prevent spurious propagation of NaNs/Infs

* Revert whitespace change

* Improve readability of conditions for using AVX

* dnn(lstm): minor coding style changes, replaced left aligned load
2021-11-29 21:43:00 +00:00
Smirnov Egor
05db8784ae fix Clip, LeakyReLU, LRN, Split defaults 2021-11-29 20:20:34 +03:00
Alexander Alekhin
58b06222ff dnn(DataLayer): fix CPU/OpenCL code paths for FP16 handling 2021-11-28 07:44:05 +00:00
Alexander Alekhin
58dc397930 dnn(test): add two_inputs test with FP32/U8 data types
- remove similar test from IE scope under HAVE_INF_ENGINE
2021-11-28 07:44:04 +00:00