Alexander Alekhin [Sat, 11 Sep 2021 16:32:13 +0000 (16:32 +0000)]
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
Alexander Alekhin [Sat, 11 Sep 2021 16:26:51 +0000 (16:26 +0000)]
Merge pull request #20690 from alalek:build_opencv_winpack_dldt_2021.4.1
Alexander Alekhin [Sat, 11 Sep 2021 16:26:25 +0000 (16:26 +0000)]
Merge pull request #20687 from alalek:core_ocl_fix_intel_gemm
Alexander Alekhin [Sat, 11 Sep 2021 16:25:04 +0000 (19:25 +0300)]
Merge pull request #20686 from zihaomu:tf_biasadd_bug
DNN: BiasAdd tf_importer.cpp could load Const from First Place
Zihao Mu [Fri, 10 Sep 2021 10:15:22 +0000 (18:15 +0800)]
BiasAdd could load Const from second place.
Alexander Alekhin [Fri, 10 Sep 2021 20:58:37 +0000 (20:58 +0000)]
build: winpack_dldt with dldt 2021.4.1
Alexander Alekhin [Fri, 10 Sep 2021 22:26:36 +0000 (22:26 +0000)]
Merge pull request #20689 from diablodale:fix20613-selectocldevice
Dale Phurrough [Fri, 10 Sep 2021 15:59:56 +0000 (17:59 +0200)]
fix opencv/opencv#20613
* copy 4.x selectOpenCLDevice() -- it is compatible
* filter platforms rather than trying only first matching
* this works on 3.4 and 4.x master
Alexander Alekhin [Tue, 7 Sep 2021 04:39:28 +0000 (04:39 +0000)]
core(ocl): buffer bounds in intelblas_gemm_buffer_NT
Alexander Alekhin [Fri, 10 Sep 2021 12:00:11 +0000 (15:00 +0300)]
Merge pull request #20670 from alalek:core_ocl_fix_intel_gpu_gemm_requirements
core(OpenCL): fix intel_gpu_gemm kernel requirements
* core(ocl): fix intel_gpu_gemm integration
- allow bailout to generic OpenCL kernel
* core(ocl): avoid failures of generic OpenCL gemm kernel
* core(ocl): define alignment requirements of intel_gpu_gemm kernels
Alexander Alekhin [Fri, 10 Sep 2021 11:58:52 +0000 (11:58 +0000)]
Merge pull request #20661 from alalek:dnn_ocl_fix_gemm_like_kernel
rogday [Fri, 10 Sep 2021 11:07:16 +0000 (14:07 +0300)]
Merge pull request #20674 from rogday:prelu_slope
Fix PReLU negative slope access pattern
* fix prelu negative slope access pattern
* change begin() to ptr()
Alexander Alekhin [Thu, 9 Sep 2021 21:35:02 +0000 (21:35 +0000)]
Merge pull request #20675 from diablodale:fix2-20544
fortemSteve [Thu, 9 Sep 2021 21:23:49 +0000 (15:23 -0600)]
Merge pull request #20591 from fortemSteve:ffmpeg_get_stream_open_time
Add CAP_PROP_STREAM_OPEN_TIME
* Added CAP_PROP_STREAM_OPEN_TIME to videoio module - can be used to query the time at which the stream was opened, in seconds since Jan 1 1970 (midnight, UTC). Useful for RTSP and other live video where absolute timestamps are needed. Only applicable to ffmpeg backends
* use nanoseconds instead of seconds to mark the stream open time, and change the cap prop name to CAP_PROP_STREAM_OPEN_TIME_NSEC
* use microseconds for CAP_PROP_STREAM_OPEN_TIME (nanoseconds rolls over too soon, and milliseconds/seconds requires a division)
* fix whitespace issue
Dale Phurrough [Thu, 9 Sep 2021 13:20:45 +0000 (15:20 +0200)]
add nodiscard to features2d clone funcs
rogday [Thu, 9 Sep 2021 11:41:40 +0000 (14:41 +0300)]
Merge pull request #20605 from rogday:split_slice_shenanigans
Add Normalize subgraph, fix Slice, Mul and Expand
* Add Normalize subgraph, support for starts<0 and axis<0 in Slice, Mul broadcasting in the middle and fix Expand's unsqueeze
* remove todos
* remove range-based for loop
* address review comments
* change >> to > > in template
* fix indexation
* fix expand that does nothing
Ilya Lavrenov [Thu, 9 Sep 2021 07:56:34 +0000 (10:56 +0300)]
Merge pull request #20673 from ilya-lavrenov:print-openvino-information
* Support of OpenVINO interface libraries
* cmake: rename and move ocv_get_imported_target to OpenCVUtils.cmake
Alexander Alekhin [Wed, 8 Sep 2021 07:26:21 +0000 (07:26 +0000)]
Merge pull request #20667 from rgonzalezfluendo:rgonzalezfluendo-patch-1
Ruben Gonzalez [Tue, 7 Sep 2021 10:02:25 +0000 (12:02 +0200)]
imgcodecs(doc): Sync imread_ docuemtation with the implemetation.
Documentation was desynchronized in commit
11eafca3e2a4cbc62f1309d25db0ea3ed9a6ea8e
Alexander Alekhin [Mon, 6 Sep 2021 02:51:37 +0000 (05:51 +0300)]
dnn(ocl): fix out of bound access in GEMM-like kernels
- dropped usage of CreateSubBuffer() - buffers lifetime management issue
- fixed elementwise offset
- avoid out of bounds read access
Alexander Alekhin [Mon, 6 Sep 2021 17:20:18 +0000 (17:20 +0000)]
Merge pull request #20655 from alalek:dnn_ocl_fix_globalsize
Alexander Alekhin [Mon, 6 Sep 2021 11:31:35 +0000 (11:31 +0000)]
Merge pull request #20657 from zchrissirhcz:upd-doc-for-py_fast
Zhuo Zhang [Mon, 6 Sep 2021 04:03:59 +0000 (12:03 +0800)]
docs: fix image path for py_fast doc
Alexander Alekhin [Sat, 4 Sep 2021 16:27:51 +0000 (16:27 +0000)]
dnn(ocl): fix automatic globalsize adjusting
- if kernel code doesn't support that
Alexander Alekhin [Sat, 4 Sep 2021 18:23:09 +0000 (18:23 +0000)]
Merge pull request #20652 from alalek:ocl_debug
Alexander Alekhin [Sat, 4 Sep 2021 18:22:12 +0000 (18:22 +0000)]
Merge pull request #20651 from alalek:issue_18361
Alexander Alekhin [Sat, 4 Sep 2021 18:21:58 +0000 (18:21 +0000)]
Merge pull request #20648 from alalek:issue_20615
Alexander Alekhin [Fri, 3 Sep 2021 02:38:53 +0000 (02:38 +0000)]
dnn(ocl): avoid out of buffer access in copyWeightsSwizzled
Alexander Alekhin [Sat, 4 Sep 2021 01:34:02 +0000 (01:34 +0000)]
core(ocl): debug capabilities
Alexander Alekhin [Sat, 4 Sep 2021 04:35:00 +0000 (04:35 +0000)]
dnn(ocl): fix buffer offsets in IDLF kernel
- drop CreateSubBuffer
- fix FUSED_CONV_ELTWISE mode
rogday [Fri, 3 Sep 2021 12:32:29 +0000 (15:32 +0300)]
Merge pull request #20647 from rogday:resize_concat_optimization
Fix resize+concat optimization
* fix resize+concat optimization
* add comment and fix indentation
Alexander Alekhin [Thu, 2 Sep 2021 15:24:04 +0000 (15:24 +0000)]
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
Alexander Alekhin [Thu, 2 Sep 2021 09:30:56 +0000 (09:30 +0000)]
Merge pull request #20646 from VadimLevin:dev/vlevin/fix-vector-conversion
Vadim Levin [Thu, 2 Sep 2021 07:32:17 +0000 (10:32 +0300)]
fix: NumPy array allocation error message in vector conversion
Alexander Alekhin [Wed, 1 Sep 2021 14:09:17 +0000 (14:09 +0000)]
Merge pull request #20573 from rogday:onnx_scale_fix
Alexander Alekhin [Wed, 1 Sep 2021 10:52:37 +0000 (10:52 +0000)]
Merge pull request #20618 from VadimLevin:dev/vlevin/fix-vector-conversion
WJJ1995 [Wed, 1 Sep 2021 10:10:05 +0000 (18:10 +0800)]
Merge pull request #20511 from wjj19950828:add_humanseg_support_0806
* support PPSeg model for dnn module
* fixed README for CI
* add test case
* fixed bug
* deal with comments
* rm dnn_model_runner
* update test case
* fixed bug for testcase
* update testcase
Vadim Levin [Fri, 27 Aug 2021 12:01:09 +0000 (15:01 +0300)]
feat: update conversion logic for `std::vector<T>` in Python bindings
`PyObject*` to `std::vector<T>` conversion logic:
- If user passed Numpy Array
- If array is planar and T is a primitive type (doesn't require
constructor call) that matches with the element type of array, then
copy element one by one with the respect of the step between array
elements. If compiler is lucky (or brave enough) copy loop can be
vectorized.
For classes that require constructor calls this path is not
possible, because we can't begin an object lifetime without hacks.
- Otherwise fall-back to general case
- Otherwise - execute the general case:
If PyObject* corresponds to Sequence protocol - iterate over the
sequence elements and invoke the appropriate `pyopencv_to` function.
`std::vector<T>` to `PyObject*` conversion logic:
- If `std::vector<T>` is empty - return empty tuple.
- If `T` has a corresponding `Mat` `DataType` than return
Numpy array instance of the matching `dtype` e.g.
`std::vector<cv::Rect>` is returned as `np.ndarray` of shape `Nx4` and
`dtype=int`.
This branch helps to optimize further evaluations in user code.
- Otherwise - execute the general case:
Construct a tuple of length N = `std::vector::size` and insert
elements one by one.
Unnecessary functions were removed and code was rearranged to allow
compiler select the appropriate conversion function specialization.
Alexander Alekhin [Tue, 31 Aug 2021 14:42:20 +0000 (14:42 +0000)]
Merge pull request #20635 from alalek:issue_20559
Alexander Alekhin [Mon, 30 Aug 2021 20:40:14 +0000 (20:40 +0000)]
dnn(ocl): drop CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE check
- it is a hint and it should not block kernel execution
Alexander Alekhin [Mon, 30 Aug 2021 18:09:51 +0000 (18:09 +0000)]
Merge pull request #20622 from diablodale:fix20544-nodiscard
Alexander Alekhin [Mon, 30 Aug 2021 13:39:44 +0000 (13:39 +0000)]
Merge pull request #20633 from alalek:ocl_dumpValue_handle_null
Alexander Alekhin [Mon, 30 Aug 2021 11:46:14 +0000 (11:46 +0000)]
core(ocl): handle NULL in dumpValue() debug call
- NULL is used for allocation of workgroup local variables
Alexander Alekhin [Mon, 30 Aug 2021 08:26:51 +0000 (08:26 +0000)]
Merge pull request #20628 from alalek:fix_build_warnings_4.x
Alexander Alekhin [Sun, 29 Aug 2021 09:17:44 +0000 (09:17 +0000)]
build: eliminate build warnings
Alexander Alekhin [Sat, 28 Aug 2021 21:30:28 +0000 (21:30 +0000)]
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
Alexander Alekhin [Sat, 28 Aug 2021 21:24:02 +0000 (21:24 +0000)]
Merge pull request #20625 from alalek:fix_msvc_warnings
Dale Phurrough [Fri, 27 Aug 2021 23:12:44 +0000 (01:12 +0200)]
fix opencv/opencv#20544 nodiscard for msvc/gcc
- includes workaround for preprocessor non-compliance
- enable attribute syntax checking in msvc
Alexander Alekhin [Sat, 28 Aug 2021 17:11:26 +0000 (17:11 +0000)]
build: eliminate build warnings
Alexander Alekhin [Sat, 28 Aug 2021 13:23:33 +0000 (13:23 +0000)]
Merge pull request #20623 from alalek:fix_java_byte
Alexander Alekhin [Sat, 28 Aug 2021 01:28:34 +0000 (01:28 +0000)]
java(test): avoid deprecation warning
- 'new Byte' => 'Byte.valueOf'
Alexander Alekhin [Fri, 27 Aug 2021 23:42:24 +0000 (23:42 +0000)]
Merge pull request #20609 from vrabaud:3.4
Vincent Rabaud [Thu, 26 Aug 2021 07:46:25 +0000 (09:46 +0200)]
Do not use deprecated ReleaseCleared in protobuf library.
This is to make code work with protobuf arenas for memory
management (ReleaseCleared is incompatible).
The cleaning of the memory is also simpler.
Alexander Alekhin [Thu, 26 Aug 2021 07:28:55 +0000 (07:28 +0000)]
Merge pull request #20598 from hanliutong:rvv-fix
Alexander Alekhin [Wed, 25 Aug 2021 22:13:43 +0000 (22:13 +0000)]
Merge pull request #20602 from diablodale:fix20594-refcounts-wiith-exceptions
Dale Phurrough [Tue, 24 Aug 2021 16:56:25 +0000 (18:56 +0200)]
fix opencv/opencv#20594 - exception handling with refcounts
Dale Phurrough [Tue, 24 Aug 2021 18:06:36 +0000 (20:06 +0200)]
add test case
Alexander Alekhin [Tue, 24 Aug 2021 19:30:38 +0000 (19:30 +0000)]
Merge pull request #20597 from alalek:issue_20592
Alexander Panov [Tue, 24 Aug 2021 19:29:40 +0000 (22:29 +0300)]
Merge pull request #20584 from AleksandrPanov:fix_HoughCircles_ALT_dimensions
Fix hough circles alt dimensions
* fix OutputArray _circles dimensions
* add houghcircles_alt test
* fix warnings
* add shape assert
* change asserts
Sergey Ivanov [Tue, 24 Aug 2021 12:41:57 +0000 (15:41 +0300)]
Merge pull request #20570 from sivanov-work:vpl_source_data_adapter
G-API: oneVPL (simplification) Add data adapter & Cfg params
* Add cfg_param & data_provider
* Fix compilation after rebase
* Apply some comments
* Apply default ctor outside class definition comment
* Apply cfg param in source
* Fix compilation: add virtual dtor
* Move cfg_params in regular gapi src list
* Fix compilation: add export.hpp
* Add errno.h
* Add errno.h
* Apply namespace comment
* Add several Doxygen & rename cfg_param
* Fix build
* Update Doxygen docs for onevpl
* Fix typo
Alexander Alekhin [Tue, 24 Aug 2021 09:41:21 +0000 (09:41 +0000)]
Merge pull request #20593 from TolyaTalamanov:at/fix-gexecutor-writeback
Anatoliy Talamanov [Tue, 24 Aug 2021 09:37:50 +0000 (12:37 +0300)]
Merge pull request #20555 from TolyaTalamanov:at/fix-compileStreaming-bug
[G-API] Extend compileStreaming to support different overloads
* Make different overloads
* Order python compileStreaming overloads
* Fix compileStreaming bug
* Replace
gin -> descr_of
* Set error message
* Fix review comments
* Use macros for pyopencv_to GMetaArgs
* Use GAPI_PROP_RW
* Not split Prims python stuff
Nicolai Behmann [Tue, 24 Aug 2021 09:31:54 +0000 (11:31 +0200)]
Merge pull request #20475 from nibeh:patch-1
* Added exposure and gain props, maximized pixel clk
* removed pixel clock maximization
pixel clock maximization is not suitable for all use cases, so I removed it from PR.
HAN Liutong [Tue, 24 Aug 2021 03:42:19 +0000 (11:42 +0800)]
fix v_reduce_sum
Alexander Alekhin [Mon, 23 Aug 2021 18:10:46 +0000 (18:10 +0000)]
highgui(win32): avoid using of stalled iterator
Anatoliy Talamanov [Mon, 23 Aug 2021 13:52:49 +0000 (16:52 +0300)]
Fix GExecutor WriteBackExec
Alexander Alekhin [Sat, 21 Aug 2021 17:25:18 +0000 (17:25 +0000)]
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
Alexander Alekhin [Sat, 21 Aug 2021 17:22:58 +0000 (17:22 +0000)]
Merge pull request #20586 from alalek:issue_20585
Alexander Alekhin [Sat, 21 Aug 2021 16:04:13 +0000 (16:04 +0000)]
dnn(ocl): fix top initialization in verifyResult
rogday [Fri, 20 Aug 2021 14:43:47 +0000 (17:43 +0300)]
Merge pull request #20494 from rogday:onnx_diagnostic_fix
fix ONNXImporter diagnostic mode layer registration issue
* fix layer registration, thread unsafe access and align the behavior of DNN_DIAGNOSTICS_RUN between onnx and tf importers
* move skipModelInput
* print all missing layers
* address TF issue
Alexander Alekhin [Fri, 20 Aug 2021 11:36:38 +0000 (11:36 +0000)]
Merge pull request #20581 from alalek:issue_20571
Alexander Panov [Fri, 20 Aug 2021 10:57:05 +0000 (13:57 +0300)]
Merge pull request #20564 from AleksandrPanov:update_kalman_sample
Update kalman sample
* updated view and comments, fixed dims
* updated view and comments, added statePost
Alexander Alekhin [Fri, 20 Aug 2021 08:10:18 +0000 (08:10 +0000)]
Merge pull request #20556 from rogday:onnx_split_sum_fix
Alexander Alekhin [Fri, 20 Aug 2021 07:41:21 +0000 (07:41 +0000)]
Merge pull request #20572 from TolyaTalamanov:at/check-adapter-in-executor
Alexander Alekhin [Thu, 19 Aug 2021 20:06:41 +0000 (20:06 +0000)]
cmake: handle empty CVPY_SUFFIX
Alexander Alekhin [Thu, 19 Aug 2021 14:54:02 +0000 (14:54 +0000)]
Merge pull request #20386 from vrabaud:3.4
Vincent Rabaud [Fri, 9 Jul 2021 22:21:52 +0000 (00:21 +0200)]
Use the one argument version of SetTotalBytesLimit.
The two argument versions has been deprecated, cf
https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.io.coded_stream
Vadim Pisarevsky [Thu, 19 Aug 2021 08:09:01 +0000 (08:09 +0000)]
Merge pull request #20228 from SamFC10:int8
SamFC10 [Thu, 19 Aug 2021 04:26:47 +0000 (09:56 +0530)]
int8 layers and 8-bit quantization support
Smirnov Egor [Wed, 18 Aug 2021 15:37:35 +0000 (18:37 +0300)]
fix hasDynamicShapes for batch_size and fix axis selection in Scale layer
Anatoliy Talamanov [Wed, 18 Aug 2021 15:12:27 +0000 (18:12 +0300)]
Check adapter in executor
Anatoliy Talamanov [Wed, 18 Aug 2021 07:42:32 +0000 (10:42 +0300)]
Merge pull request #20528 from TolyaTalamanov:at/fix-overwrite-blob-precision-bug
[G-API] Prohibit setPrecision & preprocessing for importedNetworks
* Prohibit preprocessing for imported networks
* Fix typo
input_names -> output_names
* Move setBlob logic to separate function
* Change comment
Sergey Ivanov [Tue, 17 Aug 2021 17:11:22 +0000 (20:11 +0300)]
Merge pull request #20546 from sivanov-work:initial_vpl_source
G-API: oneVPL (simplification) source base commit
* oneVPL source initial
* Fix compilation
* Fix compilation path
* Fix NO VPL compile
* Fix unused vars
* Fix unused vars in example
* Simplify oneVPL search: no custom path & download
* Fix standalone GAPI
* Apply comments
thezane [Tue, 17 Aug 2021 17:09:25 +0000 (13:09 -0400)]
Merge pull request #20483 from thezane:support-cumsum-layer-for-onnx
* Support cumsum layer for onnx
* Add unit tests
* Address review comments
rogday [Tue, 17 Aug 2021 15:23:27 +0000 (18:23 +0300)]
Merge pull request #20547 from rogday:gdb_pretty_printer
* add gdb rpetty printer for cv::Mat
* address review comments
zyp [Mon, 16 Aug 2021 16:20:10 +0000 (18:20 +0200)]
Merge pull request #18694 from zyp:gstreamer_gray16
* videoio/gstreamer: Add support for GRAY16_LE.
* videoio/gstreamer: added BGRA/BGRx support
Co-authored-by: Maksim Shabunin <maksim.shabunin@gmail.com>
Smirnov Egor [Mon, 16 Aug 2021 12:44:54 +0000 (15:44 +0300)]
fix Split partial sum
Alexander Alekhin [Sun, 15 Aug 2021 12:30:25 +0000 (12:30 +0000)]
Merge pull request #20524 from yichenj:dnn_text_recognition_enhance
Alexander Alekhin [Sun, 15 Aug 2021 10:40:00 +0000 (10:40 +0000)]
Merge pull request #20460 from cv3d:flannHeapPool
Alexander Alekhin [Sat, 14 Aug 2021 18:24:00 +0000 (18:24 +0000)]
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
Iyad Ahmed [Fri, 13 Aug 2021 20:12:05 +0000 (20:12 +0000)]
Merge pull request #20549 from iyadahmed:video_capture_timeout_set_get
* VideoCapture add open/read timeout params to FFMPEG backend
* Fix wrong enum name
* Fix wrong enum name
Julia Bareeva [Fri, 13 Aug 2021 12:41:00 +0000 (15:41 +0300)]
Merge pull request #20506 from JulieBar:lstm_activations
* Support activations(Sigmoid, Tanh) for LSTM
* fix warning
Alexander Alekhin [Fri, 13 Aug 2021 10:06:55 +0000 (10:06 +0000)]
Merge pull request #20525 from SamFC10:fix-prior-variances
Iyad Ahmed [Thu, 12 Aug 2021 16:51:02 +0000 (16:51 +0000)]
Merge pull request #20541 from iyadahmed:video_capture_timeout_prop
* VideoCapture timeout set/get
* Common formatting for enum values
* Fix enum values wrongly in videoio.hpp
* Define timeout enum values in public api and align with master
Alexander Alekhin [Thu, 12 Aug 2021 15:13:21 +0000 (15:13 +0000)]
Merge pull request #20545 from AleksandrPanov:resize_docummentation
JIANG Yichen [Mon, 9 Aug 2021 05:46:11 +0000 (13:46 +0800)]
Implement ctc prefix beam search decode for TextRecognitionModel.
The algorithm is based on Hannun's paper: First-Pass Large Vocabulary
Continuous Speech Recognition using Bi-Directional Recurrent DNNs
AleksandrPanov [Thu, 12 Aug 2021 11:40:40 +0000 (14:40 +0300)]
add note about Python's dsize to doc
Alexander Alekhin [Thu, 12 Aug 2021 08:14:42 +0000 (08:14 +0000)]
Merge pull request #20529 from saikatnanda:master
Alexander Alekhin [Thu, 12 Aug 2021 08:12:48 +0000 (08:12 +0000)]
Merge pull request #20515 from utibenkei:fix_java_ml_testSaveLoad
Daniel Playfair Cal [Wed, 11 Aug 2021 17:58:08 +0000 (03:58 +1000)]
Merge pull request #20536 from hedgepigdaniel:fix/ocl-context-create-ownership
docs(core/ocl): clarify ownership of arguments passed into OpenCL related functions
* docs(core/ocl): clarify ownership in OpenCLExecutionContext::create
Although it is technically true that OpenCLExecutionContext::create
calls `clRetainContext` on its context argument, it is misleading
because it does not increase the reference count overall. Clarify that
the ownership of one reference of the passed context and device is
taken.
* docs(core/ocl): document ownership transfer in ocl::Device::fromHandle