Commit Graph

534 Commits

Author SHA1 Message Date
Dmitry Kurtaev
7d75526373 Use TorchType enum 2018-09-17 18:55:05 +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
dbfeb8892d Merge pull request #12403 from dkurt:dnn_replace_darknet_reorg 2018-09-13 20:58:11 +00:00
George Mironov
cb5da8983f Rename tensorflow namespace 2018-09-12 21:33:11 +03:00
Dmitry Kurtaev
09fa758725 Replace Darknet's Reorg to permute layer 2018-09-12 18:13:39 +03: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
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
Hamdi Sahloul
a39e0daacf Utilize CV_UNUSED macro 2018-09-07 20:33:52 +09: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
Dmitry Kurtaev
27a6be8763 Fix #12407 2018-09-04 17:48:52 +03: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
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
Dmitry Kurtaev
ea43e28a37 Replace Slice layer to Crop in Faster-RCNN networks from Caffe 2018-08-30 17:57:08 +03:00
Alexander Alekhin
596a0125ed Merge pull request #12336 from dkurt:dnn_ie_fix_net_lifetime 2018-08-30 11:09:18 +00: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
Dmitry Kurtaev
4062ef5fcb Fix lifetime of networks which are loaded from Model Optimizer IRs 2018-08-29 13:34:26 +03:00
Dmitry Kurtaev
3e027df583 Enable more deep learning tests using Intel's Inference Engine backend 2018-08-27 18:37:35 +03: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
096366738b dnn(build): fix CV_Assert() usage 2018-08-22 16:04:40 +03:00
Alexander Alekhin
c9faa09d55 Merge pull request #12266 from mshabunin:fix-windows-ie-build 2018-08-21 13:07:44 +00:00
Maksim Shabunin
808c89adc1 Fixed windows build with InferenceEngine 2018-08-21 14:59:13 +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
b9b66ca437 Merge pull request #12205 from dkurt:dnn_update_tf_face_detection 2018-08-14 10:53:12 +00: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
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
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
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
Alexander Alekhin
45b5b3c13a dnn: check layer output for NaN/Inf 2018-07-25 16:25:18 +03:00
Maksim Shabunin
cbb1e867e5 More issues found by static analysis 2018-07-24 16:04:42 +03:00
Alexander Alekhin
8de08e0463 Merge pull request #12021 from dkurt:dnn_ie_tf_ssd 2018-07-24 13:03:41 +00:00
Alexander Alekhin
236f383969 Merge pull request #12037 from dkurt:test_openvino_models 2018-07-24 12:34:04 +00:00
Dmitry Kurtaev
28e08ae0bd Add a sample which tests OpenVINO models 2018-07-23 19:08:51 +03:00
Maksim Shabunin
e0603bb45f Fixed several issues found by static analysis tools 2018-07-23 17:22:47 +03:00
Alexander Alekhin
ee743afebe dnn(ocl): don't use getUMat() for long live objects 2018-07-20 17:53:55 +03:00
Maksim Shabunin
a4060e15a4 dnn, IE backend: updated to match new interface 2018-07-19 19:22:23 +03:00
Dmitry Kurtaev
c213a3823e Run entire SSDs from TensorFlow using Intel's Inference Engine 2018-07-19 17:05:56 +03:00
Dmitry Kurtaev
070393dfda uint8 inputs for deep learning networks 2018-07-19 14:37:33 +03:00
Alexander Alekhin
6c4f618db5 Merge pull request #11104 from asciian:reading_from_stream 2018-07-17 16:24:06 +00:00
Maksim Shabunin
1da46fe6fb Fixed issues found by static analysis (mostly DBZ) 2018-07-17 16:14:54 +03:00
Alexander Alekhin
78d07e841d Merge pull request #11959 from pengli:3.4 2018-07-17 11:20:02 +00:00
Li Peng
f0cadaa6e3 enable concat layer fuse for OCL target
Signed-off-by: Li Peng <peng.li@intel.com>
2018-07-17 12:46:16 +08:00
Alexander Alekhin
c9439476da Merge pull request #11970 from dkurt:dnn_enable_tf_tests 2018-07-16 15:51:27 +00:00
Alexander Alekhin
d6c669f5cf Merge pull request #11963 from dkurt:dnn_cl_fix_matmul 2018-07-16 11:10:32 +00:00
Dmitry Kurtaev
6eb8faea85 Enable TensorFlow networks tests for different backends and targets 2018-07-13 19:58:56 +03:00
Dmitry Kurtaev
de6f0a537d Fix fully-connected layer in case of number of rows less than 4 2018-07-13 16:35:37 +03:00
Dmitry Kurtaev
dcc1beb1f8 Clip kernel for OpenCL PriorBox layer 2018-07-13 14:49:13 +03:00
Alexander Alekhin
2508f7f971 dnn(ocl): fix wrong usage of stalled .getMat() pointers
Temporary object lifetime must be greater than pointer usage.
2018-07-11 19:11:36 +03:00
Dmitry Kurtaev
8b5f061dae Replace std::vector<char> to std::vector<uchar> for Java bindings of dnn importers 2018-07-11 18:58:56 +03:00
Alexander Alekhin
999aba3807 Merge pull request #11936 from berak:dnn_shufflelayer_name 2018-07-11 12:01:31 +00:00
Li Peng
4c5a86828a Fix gemmlike convolution input reading
use vload3 for half3 or float3 input vector reading,
also check read position to see if it exceed input width

Signed-off-by: Li Peng <peng.li@intel.com>
2018-07-11 15:25:21 +08:00
berak
a7b502f04a dnn: preserve name, type strings for ShuffleLayer 2018-07-11 08:19:23 +02:00
Dmitry Kurtaev
d57e5406f0 Add readNet* functions which parse models from byte arrays 2018-07-10 11:12:01 +03:00
Alexander Alekhin
7fe0727930 Merge pull request #11924 from alalek:dnn_ocl_fix_max_pool_forward 2018-07-09 16:25:34 +00:00
Alexander Alekhin
b6255ab9e7 dnn(ocl4dnn): fix args for 'max_pool_forward' kernel 2018-07-09 18:02:20 +03:00
Alexander Alekhin
e2b5d11290 dnn: allow to use external protobuf
"custom layers" feature will not work properly in these builds.
2018-07-09 17:28:45 +03:00
Dmitry Kurtaev
362d4f5395 Replace convertFp16 from dnn::Net::setInput() 2018-07-09 14:35:54 +03:00
asciian
61d8719b8d Reading net from std::ifstream
Remove some assertions

Replace std::ifstream to std::istream

Add test for new importer

Remove constructor to load file

Rename cfgStream and darknetModelStream to ifile

Add error notification to inform pathname to user

Use FileStorage instead of std::istream

Use FileNode instead of FileStorage

Fix typo
2018-07-09 10:02:05 +03:00
Vadim Pisarevsky
523b6f32ba Merge pull request #11867 from dkurt:dnn_ie_layers 2018-07-06 13:13:20 +00:00
Dmitry Kurtaev
019c2f2115 Enable more deep learning tests 2018-07-05 14:23:15 +03:00
Alexander Alekhin
0bb2c115aa Merge pull request #11719 from alalek:update_autobuffer_api 2018-07-05 10:01:15 +00:00
Alexander Alekhin
ccd2370bb7 Merge pull request #11890 from dkurt:keras_resize_nearest 2018-07-05 09:57:24 +00:00
Alexander Alekhin
b09a4a98d4 opencv: Use cv::AutoBuffer<>::data() 2018-07-04 19:11:29 +03:00
Dmitry Kurtaev
f25a01bb5a Disable fusion to output layers 2018-07-04 15:53:47 +03:00
Dmitry Kurtaev
36288eebe7 Nearest neighbor resize from Keras 2018-07-04 11:53:24 +03:00
Dmitry Kurtaev
7ed5d85f25 Add Reshape layer tests 2018-07-03 08:26:43 +03:00
Alexander Alekhin
9be3f7d41a Merge pull request #11854 from dkurt:dnn_tf_data_layouts_v2 2018-06-29 15:02:22 +00:00
Alexander Alekhin
f40231af5d Merge pull request #11851 from pengli:3.4 2018-06-29 15:01:20 +00:00
Li Peng
145eae321e pooling ocl kernel optimization
set global size with real output size, also optimize

max pooling index computation if necessary.

Signed-off-by: Li Peng <peng.li@intel.com>
2018-06-29 15:22:49 +08:00
Dmitry Kurtaev
d971678add Add a planar data layout tracking for TensorFlow importer 2018-06-29 09:50:14 +03:00
Dmitry Kurtaev
346871e27f Set output layers names and types for models in DLDT's intermediate representation 2018-06-28 10:21:45 +03:00
Dmitry Kurtaev
dbeb4a11be Parse strides and convolution kernel shapes considering data layout 2018-06-26 16:18:21 +03:00
Vadim Pisarevsky
e87425f047 Merge pull request #11835 from dkurt:dnn_tf_two_inputs 2018-06-26 12:12:24 +00:00
Dmitry Kurtaev
9510551c63 Multiple inputs for TensorFlow models 2018-06-26 14:03:59 +03:00
Vadim Pisarevsky
b80c7bca0d Merge pull request #11826 from dkurt:dnn_tf_data_layouts 2018-06-26 06:36:27 +00:00
Dmitry Kurtaev
715f40a48d Use layers consumers to predict data layout 2018-06-25 18:25:40 +03:00
Li, Peng
ab8022f74e update convolution opencl kernels in dnn module (#11762)
* optimize ocl kernel enqueue in fc layer

Signed-off-by: Li Peng <peng.li@intel.com>

* use CV_LOG_INFO in convolution auto tuning

Signed-off-by: Li Peng <peng.li@intel.com>

* update convolution IDLF kernel

extend parameter tuning range, also cleanup
ocl kernel implementation

Signed-off-by: Li Peng <peng.li@intel.com>

* update in-memory convolution cache config

fp16 and fp32 cache config are stored separately

Signed-off-by: Li Peng <peng.li@intel.com>
2018-06-25 17:06:18 +03:00
Dmitry Kurtaev
e8e9d1d021 Implement Interp layer using Resize layer 2018-06-22 19:26:47 +03:00
Alexander Alekhin
1894f1a37f Merge pull request #11773 from alalek:dnn_ocl_update_force_tuning_flag 2018-06-22 05:23:55 +00:00
Alexander Alekhin
50c607d206 dnn(ocl): fix external / predefined builtin configuration behavior
OPENCV_OCL4DNN_FORCE_AUTO_TUNING should ignore existed configuration from:
- builtin predefined configurations (for Intel OpenCL iGPUs)
- external configuration (via OPENCV_OCL4DNN_CONFIG_PATH)

Prefer external configuration over builtin.
2018-06-21 20:59:03 +03:00
Dmitry Kurtaev
4626246087 Add ShuffleChannel layer 2018-06-21 19:10:42 +03:00