Commit Graph

711 Commits

Author SHA1 Message Date
Dmitry Kurtaev
f8398d80bc add Net::getUnconnectedOutLayersNames method 2018-09-25 18:10:45 +03:00
Maksim Shabunin
e0f524d3b7 Fixed several incorrect printf format specifiers 2018-09-24 11:31:40 +03:00
Hamdi Sahloul
ef5579dc86 Merge pull request #12310 from cv3d:chunks/enum_interface
* Cleanup macros and enable expansion of `__VA_ARGS__` for Visual Studio

* Macros for enum-arguments backwards compatibility

* Convert struct Param to enum struct

* Enabled ParamType.type for enum types

* Enabled `cv.read` and `cv.write` for enum types

* Rename unnamed enum to AAKAZE.DescriptorType

* Rename unnamed enum to AccessFlag

* Rename unnamed enum to AgastFeatureDetector.DetectorType

* Convert struct DrawMatchesFlags to enum struct

* Rename unnamed enum to FastFeatureDetector.DetectorType

* Rename unnamed enum to Formatter.FormatType

* Rename unnamed enum to HOGDescriptor.HistogramNormType

* Rename unnamed enum to DescriptorMatcher.MatcherType

* Rename unnamed enum to KAZE.DiffusivityType

* Rename unnamed enum to ORB.ScoreType

* Rename unnamed enum to UMatData.MemoryFlag

* Rename unnamed enum to _InputArray.KindFlag

* Rename unnamed enum to _OutputArray.DepthMask

* Convert normType enums to static const NormTypes

* Avoid conflicts with ElemType

* Rename unnamed enum to DescriptorStorageFormat
2018-09-21 18:12:35 +03:00
Alexander Alekhin
e0a5824028 dnn(test): test at least CPU code path 2018-09-19 13:56:59 +03:00
Alexander Alekhin
861415133e Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-09-19 10:58:43 +03:00
Dmitry Kurtaev
8ac7b21716 Enable Myriad device for OpenVINO models test 2018-09-18 13:49:24 +03:00
Alexander Alekhin
e6171d17f8 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-09-18 12:49:52 +03:00
Alexander Alekhin
27a4e370f9 Merge pull request #12559 from dkurt:dnn_remove_usrtype1 2018-09-17 18:13:29 +00:00
Lubov Batanina
43f889ae1f Merge pull request #12519 from l-bat:l-bat/onnx_parser
Support asymmetric padding in pooling layer (#12519)

* Add Inception_V1 support in ONNX

* Add asymmetric padding in OpenCL and Inference engine

* Refactoring
2018-09-17 20:26:17 +03:00
Dmitry Kurtaev
7d75526373 Use TorchType enum 2018-09-17 18:55:05 +03:00
Vadim Pisarevsky
2113818f19 Merge pull request #12364 from dkurt:dnn_change_blob_from_image 2018-09-17 12:04:41 +00:00
Alexander Alekhin
29bee6f07e cmake: move Matlab scripts to opencv_contrib (#12541)
* matlab: move to opencv_contrib

* cmake: preserve variables scope for processing modules

- use macro instead of function to avoid scope resets
2018-09-17 14:55:42 +03:00
Dmitry Kurtaev
a7b3d2581f Replace CV_USRTYPE1 for int64 to CV_32SC2 in Torch importer 2018-09-17 12:31:09 +03:00
Alexander Alekhin
808ba552c5 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-09-14 23:44:35 +00:00
Alexander Alekhin
dbfeb8892d Merge pull request #12403 from dkurt:dnn_replace_darknet_reorg 2018-09-13 20:58:11 +00:00
Alexander Alekhin
fdaeb20253 dnn(test): run DL IE tests on Intel OpenCL devices only 2018-09-13 15:45:51 +00:00
Alexander Alekhin
e51d7cb3d8 Merge pull request #12502 from alalek:fix_dnn_tests_32bit 2018-09-13 14:20:42 +00:00
Alexander Alekhin
b7b82c1cef dnn(tensorflow): re-generate files using protoc 2018-09-12 21:33:45 +03:00
George Mironov
cb5da8983f Rename tensorflow namespace 2018-09-12 21:33:11 +03:00
Dmitry Kurtaev
58ac3e09da Change default value of crop argument of blobFromImage from true to false 2018-09-12 19:02:58 +03:00
Dmitry Kurtaev
09fa758725 Replace Darknet's Reorg to permute layer 2018-09-12 18:13:39 +03:00
Alexander Alekhin
6fc855865f dnn(test): fix failures of 32-bit builders 2018-09-12 13:06:16 +00:00
Vadim Pisarevsky
f4b9acb4db Merge pull request #12497 from tomoaki0705:removeRawSSE 2018-09-12 11:59:44 +00:00
Marat K
38f8fc6c82 Merge pull request #12249 from kopytjuk:feature/region-layer-batch-mode
Feature/region layer batch mode (#12249)

* Add batch mode for Darknet networks.

Swap variables in test_darknet.

Adapt reorg layer to batch mode.

Adapt region layer.

Add OpenCL implementation.

Remove trailing whitespace.

Bugifx reorg opencl implementation.

Fix bug in OpenCL reorg.

Fix modulo bug.

Fix bug.

Reorg openCL.

Restore reorg layer opencl code.

OpenCl fix.

Work on openCL reorg.

Remove whitespace.

Fix openCL region layer implementation.

Fix bug.

Fix softmax region opencl bug.

Fix opencl bug.

Fix openCL bug.

Update aff_trans.cpp

When the fullAffine parameter is set to false, the estimateRigidTransform function maybe return empty, then the _localAffineEstimate function will be called, but the bug in it will result in incorrect results.

core(libva): support YV12 too

Added to CPU path only.
OpenCL code path still expects NV12 only (according to Intel OpenCL extension)

cmake: allow to specify own libva paths

via CMake:
- `-DVA_LIBRARIES=/opt/intel/mediasdk/lib64/libva.so.2\;/opt/intel/mediasdk/lib64/libva-drm.so.2`

android: NDK17 support

tested with NDK 17b (17.1.4828580)

Enable more deep learning tests using Intel's Inference Engine backend

ts: don't pass NULL for std::string() constructor

openvino: use 2018R3 defines

experimental version++

OpenCV version++

OpenCV 3.4.3

OpenCV version '-openvino'

openvino: use 2018R3 defines

Fixed windows build with InferenceEngine

dnn: fix variance setting bug for PriorBoxLayer

- The size of second channel should be size[2] of output tensor,
- The Scalar should be {variance[0], variance[0], variance[0], variance[0]}
  for _variance.size() == 1 case.

Signed-off-by: Wu Zhiwen <zhiwen.wu@intel.com>

Fix lifetime of networks which are loaded from Model Optimizer IRs

Adds a small note describing BUILD_opencv_world (#12332)

* Added a mall note describing BUILD_opencv_world cmake option to the Installation in Windows tutorial.

* Made slight changes in BUILD_opencv_world documentation.

* Update windows_install.markdown

improved grammar

Update opengl_interop.cpp

resolves #12307

java: fix LIST_GET macro

fix typo

Added option to fail on missing testdata

Fixed that object_detection.py does not work in python3.

cleanup: IPP Async (IPP_A)

except header file with conversion routines (will be removed in OpenCV 4.0)

imgcodecs: add null pointer check

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

countNonZero function reworked to use wide universal intrinsics instead of SSE2 intrinsics

resolve #5788

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

ml: fix adjusting K in KNearest (#12358)

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

dnn(test): use dnnBackendsAndTargets() param generator

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

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

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

doc: add new tutorial motion deblur filter (#12215)

* doc: add new tutorial motion deblur filter

* Update motion_deblur_filter.markdown

a few minor changes

Replace Slice layer to Crop in Faster-RCNN networks from Caffe

js: use generated list of OpenCV headers

- replaces hand-written list

imgcodecs(webp): use safe cast to size_t on Win32

* Put Version status back to -dev.

follow the common codestyle

Exclude some target engines.

Refactor formulas.

Refactor code.

* Remove unused variable.

* Remove inference engine check for yolov2.

* Alter darknet batch tests to test with two different images.

* Add yolov3 second image GT.

* Fix bug.

* Fix bug.

* Add second test.

* Remove comment.

* Add NMS on network level.

* Add helper files to dev.

* syntax fix.

* Fix OD sample.

Fix sample dnn object detection.

Fix NMS boxes bug.

remove trailing whitespace.

Remove debug function.

Change thresholds for opencl tests.

* Adapt score diff and iou diff.

* Alter iouDiffs.

* Add debug messages.

* Adapt iouDiff.

* Fix tests
2018-09-12 13:29:43 +03:00
Hamdi Sahloul
10ae0c4364 Merge pull request #12486 from cv3d:fix_cpp11
Support MSVC 2013 (#12486)

* Added CV_CONSTEXPR macro

* Utilize CV_NOEXCEPT and CV_CONSTEXPR

* Provides some Ptr<> logical operators
2018-09-11 22:35:03 +03:00
Tomoaki Teshima
88b04c3cd4 remove raw SSE2 implementation 2018-09-11 21:28:18 +09:00
Lubov Batanina
0c8590027f 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
2018-09-10 21:07:51 +03:00
Vadim Pisarevsky
b01f63835e Merge pull request #12467 from alalek:core_use_shared_ptr 2018-09-10 13:59:14 +00:00
Alexander Alekhin
dca657a2fd Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-09-10 00:10:21 +03:00
Alexander Alekhin
df8b057b44 avoid Ptr<> == NULL checks 2018-09-09 19:30:46 +00:00
Hamdi Sahloul
a39e0daacf Utilize CV_UNUSED macro 2018-09-07 20:33:52 +09:00
Alexander Alekhin
73bfe68821 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-09-07 12:40:27 +03:00
Vadim Pisarevsky
54279523a3 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
2018-09-06 18:56:55 +03:00
Dmitry Kurtaev
d486204a0d 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
2018-09-06 13:26:47 +03:00
Alexander Alekhin
43b64140ae Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-09-05 19:54:09 +03:00
Alexander Alekhin
8a328e393d Merge pull request #12408 from dkurt:dnn_myriad_batch_tests 2018-09-05 10:04:04 +00:00
Dmitry Kurtaev
6ec230480d Enable Myriad tests with batch size > 1 2018-09-05 10:45:09 +03:00
Alexander Alekhin
d74b98c3d9 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-09-04 18:39:03 +00:00
Dmitry Kurtaev
27a6be8763 Fix #12407 2018-09-04 17:48:52 +03:00
Alexander Alekhin
2cf34c0fe5 dnn: fix tests build with disabled OpenCL 2018-09-03 23:11:25 +00:00
Alexander Alekhin
f10fd64630 dnn: update "guard" inline namespace
- differ from 3.4 branch
2018-09-03 20:46:57 +00:00
Dmitry Kurtaev
c7cf8fb35c 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
2018-09-03 17:08:40 +03:00
Wu Zhiwen
a11d944f51 dnn: Remove a duplicated code snippet for flatten layer
Signed-off-by: Wu Zhiwen <zhiwen.wu@intel.com>
2018-09-03 10:57:33 +08:00
Vadim Pisarevsky
f9c8bb40b1 Merge pull request #12350 from dkurt:dnn_ie_caffe_faster_rcnn 2018-08-31 14:57:14 +00:00
Alexander Alekhin
f33cbe94dd Merge pull request #12142 from alalek:dnn_ocl_fix_convolution_perf_tests 2018-08-31 13:27:14 +00:00
Jakub Golinowski
9f1218b00b Merge pull request #11897 from Jakub-Golinowski:hpx_backend
* Add HPX backend for OpenCV implementation
Adds hpx backend for cv::parallel_for_() calls respecting the nstripes chunking parameter. C++ code for the backend is added to modules/core/parallel.cpp. Also, the necessary changes to cmake files are introduced.
Backend can operate in 2 versions (selectable by cmake build option WITH_HPX_STARTSTOP): hpx (runtime always on) and hpx_startstop (start and stop the backend for each cv::parallel_for_() call)

* WIP: Conditionally include hpx_main.hpp to tests in core module
Header hpx_main.hpp is included to both core/perf/perf_main.cpp and core/test/test_main.cpp.
The changes to cmake files for linking hpx library to above mentioned test executalbles are proposed but have issues.

* Add coditional iclusion of hpx_main.hpp to cpp cpu modules

* Remove start/stop version of hpx backend
2018-08-31 16:23:26 +03:00
Dmitry Kurtaev
50bceea038 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
2018-08-31 15:41:56 +03:00
Alexander Alekhin
c557193b8c dnn(test): use dnnBackendsAndTargets() param generator 2018-08-31 15:11:58 +03:00
Alexander Alekhin
3e6b3a6856 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
2018-08-31 15:02:19 +03:00
Alexander Alekhin
15e57d28f5 Merge pull request #12293 from alalek:cleanup_stl_string_replacement 2018-08-30 15:43:57 +00:00
Dmitry Kurtaev
ea43e28a37 Replace Slice layer to Crop in Faster-RCNN networks from Caffe 2018-08-30 17:57:08 +03:00
Alexander Alekhin
7845f6d95c Merge pull request #12345 from berak:fix_java_list_string 2018-08-30 13:04:19 +00:00
Alexander Alekhin
596a0125ed Merge pull request #12336 from dkurt:dnn_ie_fix_net_lifetime 2018-08-30 11:09:18 +00:00
berak
72f422c7dc java: fix LIST_GET macro 2018-08-30 13:06:02 +02:00
Wu Zhiwen
ca51bbb7ff dnn: fix variance setting bug for PriorBoxLayer
- The size of second channel should be size[2] of output tensor,
- The Scalar should be {variance[0], variance[0], variance[0], variance[0]}
  for _variance.size() == 1 case.

Signed-off-by: Wu Zhiwen <zhiwen.wu@intel.com>
2018-08-30 11:05:38 +08:00
Alexander Alekhin
c1db75e0c7 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-08-29 16:24:56 +03:00
Dmitry Kurtaev
4062ef5fcb Fix lifetime of networks which are loaded from Model Optimizer IRs 2018-08-29 13:34:26 +03:00
Alexander Alekhin
b38c50b3d0 OpenCV 3.4.3 2018-08-28 15:58:21 +03:00
Dmitry Kurtaev
3e027df583 Enable more deep learning tests using Intel's Inference Engine backend 2018-08-27 18:37:35 +03:00
Alexander Alekhin
7f73b105ca core: std::string more changes 2018-08-27 15:41:01 +03:00
Alexander Alekhin
6477262e63 Merge pull request #12306 from berak:python_nmsboxes 2018-08-25 16:35:00 +00:00
berak
21f3987d53 python: add support for NMSBoxes 2018-08-25 08:44:45 +02:00
Dmitry Kurtaev
472b71ecef Merge pull request #12243 from dkurt:dnn_tf_mask_rcnn
* Support Mask-RCNN from TensorFlow

* Fix a sample
2018-08-24 14:47:32 +03:00
Alexander Alekhin
6356403964 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-08-22 17:38:51 +03:00
Alexander Alekhin
096366738b dnn(build): fix CV_Assert() usage 2018-08-22 16:04:40 +03:00
Alexander Alekhin
f25450791b dnn(test): mark unstable OpenCL tests 2018-08-21 16:31:41 +03:00
Alexander Alekhin
c9faa09d55 Merge pull request #12266 from mshabunin:fix-windows-ie-build 2018-08-21 13:07:44 +00:00
Alexander Alekhin
5ac9a2a7d0 Merge pull request #12219 from alalek:fix_assert_messages 2018-08-21 12:46:35 +00:00
Maksim Shabunin
808c89adc1 Fixed windows build with InferenceEngine 2018-08-21 14:59:13 +03:00
Alexander Alekhin
7d4bb9428b Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-08-20 19:30:18 +03:00
Alexander Alekhin
31fef14d76 Merge pull request #12136 from sturkmen72:update_documentation 2018-08-17 14:02:20 +00:00
Suleyman TURKMEN
c61bc3a0cb Update documentation and samples 2018-08-17 14:21:29 +03:00
Alexander Alekhin
d2e08a524e core: repair CV_Assert() messages
Multi-argument CV_Assert() is accessible via CV_Assert_N() (with malformed messages).
2018-08-15 17:43:10 +03:00
Alexander Alekhin
781721ca50 experimental version++ 2018-08-14 14:10:37 +03:00
Alexander Alekhin
b9b66ca437 Merge pull request #12205 from dkurt:dnn_update_tf_face_detection 2018-08-14 10:53:12 +00:00
Alexander Alekhin
e76b375a31 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-08-13 18:57:57 +03:00
Dmitry Kurtaev
f056c0f137 UINT8 face detection network using Intel's Inference Engine backend 2018-08-13 18:38:47 +03:00
Alexander Alekhin
615883977f Merge pull request #12128 from dkurt:dnn_fix_12066 2018-08-10 14:14:16 +00:00
Alexander Alekhin
4eb2966559 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-08-07 20:12:10 +03:00
Alexander Alekhin
a56b221559 core: cv::Range() ostream write operator
remove from DNN module headers
2018-08-07 20:03:21 +03:00
Vadim Pisarevsky
7c8ab271fc Merge pull request #12125 from dkurt:dnn_mobilenet_ppn 2018-08-06 14:40:50 +00:00
Vadim Pisarevsky
70b893333d Merge pull request #12130 from dkurt:dnn_ie_mvn 2018-08-06 14:37:46 +00:00
Dmitry Kurtaev
449696f1e5 Enable reshape-as-shape layer from TensorFlow 2018-08-06 17:35:06 +03:00
Vadim Pisarevsky
e0c93bcf6c Merge pull request #12082 from dkurt:dnn_ie_faster_rcnn 2018-08-06 14:28:58 +00:00
Alexander Alekhin
ac4a6aad15 Merge pull request #12050 from alalek:dnn_ocl_avoid_memory_access_violation 2018-08-05 14:47:01 +00:00
Dmitry Kurtaev
be08730cd6 MVN layer using Intel's Inference Engine backend 2018-08-02 17:49:03 +03:00
Dmitry Kurtaev
4fb086d6c3 MobileNet-SSD v1 from TensorFlow with shared convolution weights 2018-08-01 16:16:48 +03:00
Dmitry Kurtaev
8e034053af Faster-RCNN from TensorFlow on CPU with Intel's Inference Engine backend 2018-08-01 11:29:58 +03:00
Alexander Alekhin
82c477c9f7 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-07-31 21:35:00 +03:00
Alexander Alekhin
814ebe39ae Merge pull request #12113 from dkurt:dnn_fix_ssd_on_myriad 2018-07-31 14:55:18 +00:00
Maksim Shabunin
7cf52de47e dnn: modified IE search, R2 compatibility fixed 2018-07-31 14:48:06 +03:00
Dmitry Kurtaev
ed0e79cb61 Add missing parameter to DetectionOutput layer from Intel's Inference Engine 2018-07-31 11:37:45 +03:00
Maksim Shabunin
fb1f12021b Fixed build with latest IE version 2018-07-27 19:56:35 +03:00
Alexander Alekhin
b597c87bed dnn(ocl): avoid memory access violation 2018-07-27 15:35:11 +03:00
Alexander Alekhin
2f0fc920dd Merge pull request #12061 from alalek:dnn_test_skip_checks_only 2018-07-26 15:15:32 +00:00
Alexander Alekhin
9137e2d635 Merge pull request #12060 from alalek:dnn_debug_layers 2018-07-26 15:14:32 +00:00
Alexander Alekhin
c37d1a53b5 Merge pull request #12025 from Triplesalt:tfimport-relu 2018-07-26 15:08:05 +00:00
Triplesalt
9eb79926df Allow a different input order for Mul+Maximum.
Squashed : ReLU operand order tests.
2018-07-26 14:19:11 +02:00
Vadim Pisarevsky
fa466b022d Merge pull request #12052 from dkurt:dnn_ie_torch_tests 2018-07-26 09:09:35 +00:00
Dmitry Kurtaev
faa6c4e1e1 Faster-RCNN anf RFCN models on CPU using Intel's Inference Engine backend.
Enable Torch layers tests with Intel's Inference Engine backend.
2018-07-25 19:04:55 +03:00