Commit Graph

606 Commits

Author SHA1 Message Date
Dmitry Kurtaev
32bab45f81 Fix Inference Engine graphs with fused output layers 2018-05-31 16:21:08 +03:00
Vadim Pisarevsky
c58cc4c2ff Merge pull request #11255 from dkurt:dnn_tf_faster_rcnn 2018-05-31 11:07:39 +00:00
Dmitry Kurtaev
f96f934426 Update Intel's Inference Engine deep learning backend (#11587)
* Update Intel's Inference Engine deep learning backend

* Remove cpu_extension dependency

* Update Darknet accuracy tests
2018-05-31 14:05:21 +03:00
Dmitry Kurtaev
bf87a43185 Faster-RCNN object detection models from TensorFlow 2018-05-30 17:12:36 +03:00
Alexander Alekhin
44572fac44 Merge pull request #11557 from tomoaki0705:relaxIntelOnlyOCL4DNN 2018-05-29 15:25:22 +00:00
Tomoaki Teshima
2e9e71ab9e make ocl4dnn available to run on other platform than Intel GPU 2018-05-29 19:18:10 +09:00
Dmitry Kurtaev
085be6a445 Fix dilated convolution from Keras 2018-05-29 12:15:47 +03:00
Dmitry Kurtaev
2c3c59d018 Remove Shift deep learning layer 2018-05-28 18:18:56 +03:00
Alexander Alekhin
3654fb10d7 Merge pull request #11567 from alalek:code_quality 2018-05-23 15:47:11 +00:00
Maksim Shabunin
895e10c317 dnn: fixed IE support on Windows 2018-05-23 12:46:14 +03:00
Alexander Alekhin
2fc713bb94 Merge pull request #11566 from mshabunin:allow-ie-force 2018-05-22 14:12:32 +00:00
Alexander Alekhin
471c17321f improve code quality
- eliminate rand() calls
- non initialized members/ variables
- unused return values
- missing/useless NULL checks
2018-05-22 17:08:31 +03:00
Maksim Shabunin
53a68783a5 dnn: support later IE versions 2018-05-22 15:18:18 +03:00
Maksim Shabunin
020ad1ac76 dnn: allow setting IE paths via command line 2018-05-22 14:40:03 +03:00
Alexander Alekhin
58c8aefe03 dnn(text): update check threshols
- make green Linux debug/Linux32/Win32 builders
2018-05-22 13:29:31 +03:00
Alexander Alekhin
085b27fc3d Merge pull request #11390 from dkurt:east_text_detection 2018-05-21 13:02:29 +00:00
Dmitry Kurtaev
07dc6d2b45 Return a convex hull from rotatedRectangleIntersection 2018-05-18 14:20:17 +03:00
Alexander Alekhin
d6279bfff8 fix build warnings 2018-05-17 18:29:21 +03:00
Li Peng
1b517a45ae add fp16 accuracy and perf test
Signed-off-by: Li Peng <peng.li@intel.com>
2018-05-16 22:45:07 +08:00
Li Peng
ba5e8befa9 fp16 ocl support for more layers
Signed-off-by: Li Peng <peng.li@intel.com>
2018-05-16 22:45:04 +08:00
Li Peng
3dd916882a fp16 ocl support for googlenet
Signed-off-by: Li Peng <peng.li@intel.com>
2018-05-16 22:45:02 +08:00
Li Peng
329abb5b64 dnn fp16 support
Signed-off-by: Li Peng <peng.li@intel.com>
2018-05-16 22:44:39 +08:00
Alexander Alekhin
bb8ff2c463 Merge pull request #11494 from tomoaki0705:fixOpenCLDnn 2018-05-16 14:11:36 +00:00
Tomoaki Teshima
3f5347dd7a work around of the test failure of opencv_test_dnn
* let OpenCL kernel run only on Intel GPU
  * brush up the workaround based on 9a2b028 from alalek
2018-05-16 19:23:19 +09:00
Alexander Alekhin
78f205ffa5 python: better Python 3 support 2018-05-11 17:32:04 +03:00
Alexander Alekhin
df02fe0615 Merge pull request #11445 from cclauss:file-long-raw_input-xrange 2018-05-11 13:28:53 +00:00
Alexander Alekhin
8356a6b6ab Merge pull request #11442 from cclauss:print-function 2018-05-11 13:26:04 +00:00
Dmitry Kurtaev
8488f2e265 EAST: An Efficient and Accurate Scene Text Detector (https://arxiv.org/abs/1704.03155v2) 2018-05-11 14:55:42 +03:00
Dmitry Kurtaev
c99c3e761e Fuse multipliers but not convolution layers weights 2018-05-10 19:24:38 +03:00
Dmitry Kurtaev
777d77848c Free Convolution and MatMul weights after TensorFlow layers import 2018-05-04 11:20:14 +03:00
Dmitry Kurtaev
9ffe4694db Reduce memory consumption at Caffe importer 2018-05-04 09:24:13 +03:00
zuoshaobo
4ff6a1bc7b Merge pull request #11425 from zuoshaobo:relu_negative_slope
* FIX INF_ENGINE RELU ERROR

* set slope to variable

* tab in indentwq
2018-05-03 13:36:49 +03:00
cclauss
8a79b167b8 Define execfile, file, long, raw_input, xrange for Python 3 2018-05-03 09:19:05 +02:00
cclauss
05c1a3d160 print() is a function in Python 3 2018-05-03 07:12:12 +02:00
Alexander Alekhin
083b08742d Merge pull request #11406 from alalek:core_matsize_dims 2018-04-28 14:38:42 +00:00
Alexander Alekhin
65b0b319eb eliminate MSVS2017 build warning
modules\dnn\src\layers\prior_box_layer.cpp(208): warning C4834: discarding return value of function with 'nodiscard' attribute
2018-04-28 15:14:41 +03:00
Alexander Alekhin
8c349ff8ff core: added MatSize::dims() method
to avoid accessing of 'p[-1]' (static code analysers dislike this)
2018-04-27 16:57:29 +03:00
Dmitry Kurtaev
d5b9563263 Custom deep learning layers in Python 2018-04-26 09:25:18 +03:00
Alexander Alekhin
6b581c4e51 build: unreachable code after CV_Error() (part 2) 2018-04-24 16:03:40 +03:00
Alexander Alekhin
576d2dbac0 refactor: don't use CV_ErrorNoReturn() internally 2018-04-24 15:38:42 +03:00
Dmitry Kurtaev
4ec456f0a0 Custom layers for deep learning networks (#11129)
* Custom deep learning layers support

* Stack custom deep learning layers
2018-04-24 14:59:59 +03:00
Alexander Alekhin
29b4fd2774 Merge pull request #11351 from dkurt:dnn_enable_inf_engine_tests 2018-04-23 09:16:39 +00:00
Dmitry Kurtaev
d959d7b9f0 Fuse deconvolution layer subgraphs from Keras 2018-04-20 16:51:38 +03:00
Dmitry Kurtaev
bd77d100e1 Enable some tests for clDNN plugin from Intel's Inference Engine 2018-04-20 10:47:46 +03:00
Dmitry Kurtaev
3b4a292ca9 Let switch CPU/OpenCL targets for models from Intel's Model Optimizer 2018-04-19 10:23:57 +03:00
Vadim Pisarevsky
b290bdafb9 Merge pull request #11322 from dkurt:dnn_yolov3 2018-04-18 12:11:13 +00:00
Dmitry Kurtaev
66ce8cd7ea Fix bugs found by valgrind 2018-04-17 17:53:51 +03:00
Dmitry Kurtaev
97fec07d96 Support YOLOv3 model from Darknet 2018-04-16 18:44:12 +03:00
Alexander Alekhin
ee90a6cbde dnn(test): update error tolerance for RCNN/RFCN tests 2018-04-16 14:24:41 +03:00
Alexander Alekhin
a2d6ee2d31 Merge pull request #11305 from tomoaki0705:typoNVIDIA 2018-04-13 12:56:42 +00:00
Tomoaki Teshima
a40354d16f use correct name for NVIDIA
* remove NVidia and Nvidia
  * replace Cuda with CUDA
  * keep the letters for API
2018-04-13 20:33:19 +09:00
Dmitry Kurtaev
b92c3182ab Blank and L2-normalization layers from Intel's Inference Engine 2018-04-12 15:21:08 +03:00
Vadim Pisarevsky
0b9d075958 Merge pull request #11295 from dkurt:dnn_repeated_conv_params 2018-04-11 15:25:24 +00:00
Vadim Pisarevsky
533bb89800 Merge pull request #11236 from dkurt:dnn_fuse_l2_norm 2018-04-11 15:09:55 +00:00
Vadim Pisarevsky
30175594e9 Merge pull request #11062 from dkurt:dnn_inf_engine_cldnn 2018-04-11 15:06:18 +00:00
Dmitry Kurtaev
512632e574 Parse repeated values of ConvolutionParameter 2018-04-11 14:38:05 +03:00
Dmitry Kurtaev
4ef6c91583 Fix multiple inputs for models from Intel's Model Optimizer 2018-04-11 13:28:07 +03:00
Dmitry Kurtaev
1ba72ca0d3 Fuse tf.nn.l2_normalize layer 2018-04-10 10:12:44 +03:00
Dmitry Kurtaev
709cf5d038 OpenCL GPU target for Inference Engine deep learning backend
Enable FP16 GPU target for DL Inference Engine backend.
2018-04-09 17:21:35 +03:00
Vladislav Sovrasov
0d9c63744e Add CPU default extensions loading in IE dnn backend (#11252)
* Add CPU default extensions loading in IE dnn backend

* Load cpu_extensions for the future Intel's Inference Engine
2018-04-09 16:22:19 +03:00
Dmitry Kurtaev
ef1aaf12c9 Fix Proposal deep learning layer 2018-04-04 14:48:29 +03:00
Alexander Alekhin
7bc980edaf Merge pull request #10983 from dkurt:dnn_face_detection_uint8 2018-04-03 18:19:43 +00:00
Alexander Alekhin
f95e91e2bc Merge pull request #11199 from dkurt:update_torch_testdata 2018-04-03 18:02:58 +00:00
Dmitry Kurtaev
8d8f3bca6f Update links to OpenCV's face detection network 2018-04-02 13:02:56 +03:00
Dmitry Kurtaev
818a91f4f7 Update Torch testdata 2018-03-31 12:04:44 +03:00
Dmitry Kurtaev
598039c0ed Fix embedded Torch's nn.ConcatTable 2018-03-31 11:11:10 +03:00
Alexander Alekhin
e8a67de0d2 Merge pull request #11182 from dkurt:fix_11102_part_2 2018-03-30 13:11:01 +00:00
Alexander Alekhin
6c8014e7d1 cmake: disable checks for protobuf generated files 2018-03-28 18:43:28 +03:00
Alexander Alekhin
1060c0f439 dnn: apply CV_OVERRIDE/CV_FINAL 2018-03-28 18:43:27 +03:00
Alexander Alekhin
167034fb04 Merge pull request #11098 from dkurt:dnn_native_inf_engine 2018-03-28 14:52:08 +00:00
Dmitry Kurtaev
e039fc3a63 Replace protobuf's ReleaseLast to RemoveLast to deallocate memory.
Change an order of PriorBox layer operations.
2018-03-28 17:27:36 +03:00
Dmitry Kurtaev
2f3a9ba1d4 Update OpenCVDetectInferenceEngine.cmake 2018-03-28 16:34:37 +03:00
Alexander Alekhin
9e0dee1259 Merge pull request #11112 from alalek:cmake_src_include_fix 2018-03-27 13:06:48 +00:00
Dmitry Kurtaev
7972f47ed4 Load networks from intermediate representation of Intel's Deep learning deployment toolkit. 2018-03-26 07:24:21 +03:00
Dmitry Kurtaev
e8fe6ee4e3 Fix prior box generation in case of squared proposals.
Fix batch norm in training phase.
2018-03-23 09:44:59 +03:00
Alexander Alekhin
6c051a55e5 cmake: don't add include <module>/src directory to avoid conflicts
during opencv_world builds
2018-03-19 11:14:15 +03:00
Dmitry Kurtaev
069f9add80 Fix an issue https://github.com/opencv/opencv/issues/11102 2018-03-18 10:49:12 +03:00
Alexander Alekhin
d68466bb6a Merge pull request #10940 from dkurt:dnn_tf_graph_optim 2018-03-14 14:36:25 +00:00
Alexander Alekhin
ab110c0ad1 Merge pull request #10979 from dkurt:unite_dnn_samples 2018-03-14 14:33:49 +00:00
Dmitry Kurtaev
538fd42363 Add test for Scalar arguments at CommandLineParser 2018-03-13 11:01:07 +03:00
Dmitry Kurtaev
ab20d2a3fc Update assertions in batch norm layer 2018-03-12 10:53:06 +03:00
Dmitry Kurtaev
69a8f110b6 Fuse subgraphs from Keras 2018-03-12 10:53:06 +03:00
Dmitry Kurtaev
9457bf10ab Fuse batch normalization and flatten TensorFlow subgraphs in runtime 2018-03-12 10:51:35 +03:00
Alexander Alekhin
5b868ccd82 Merge pull request #10992 from dkurt:dnn_opencl_tests 2018-03-09 10:06:40 +00:00
Dmitry Kurtaev
0f01b40dd5 Reset OpenCL kernels if batch size changes 2018-03-07 17:06:59 +03:00
Alexander Alekhin
514f4193db Merge pull request #10959 from alalek:cmake_ocl4dnn 2018-03-07 10:26:14 +00:00
Dmitry Kurtaev
0a61ebdd66 Replace DNNTarget and DNNBackend in tests 2018-03-07 12:59:38 +03:00
Dmitry Kurtaev
e1c3237532 Parametric OpenCL deep learning tests 2018-03-05 20:53:18 +03:00
Dmitry Kurtaev
f2440ceae6 Update tutorials. A new cv::dnn::readNet function 2018-03-04 20:30:22 +03:00
Dmitry Kurtaev
e8d94ea87c Unite deep learning object detection samples 2018-03-03 14:47:13 +03:00
Alexander Alekhin
fe97dc67dc Merge pull request #10962 from alalek:dnn_precomp_hpp 2018-03-02 11:38:16 +00:00
Alexander Alekhin
97c1f09961 Merge pull request #10955 from pengli:dnn 2018-03-02 11:35:59 +00:00
Alexander Alekhin
a9ebc61f2a dnn(workaround): switch to CPU target if compiled without OpenCL 2018-03-01 12:12:40 +03:00
Alexander Alekhin
1b83bc48a1 dnn: make OpenCL DNN code optional 2018-03-01 12:12:40 +03:00
Alexander Alekhin
a838a97092 dnn: fix precomp.hpp usage 2018-02-28 17:06:26 +03:00
Wu Zhiwen
ef937dd676 ocl4dnn: Fix SAME padding mode for convolve
Signed-off-by: Wu, Zhiwen <zhiwen.wu@intel.com>
Signed-off-by: Li Peng <peng.li@intel.com>
2018-02-28 21:02:41 +08:00
Maksim Shabunin
7c855aa3e1 Fixed two issues found by static analysis 2018-02-26 00:16:02 +03:00
Alexander Alekhin
4a74408eee experimental version++ 2018-02-23 11:38:33 +03:00
Li Peng
608968aa83 Deconvolution ocl fix
Signed-off-by: Li Peng <peng.li@intel.com>
2018-02-23 18:31:30 +08:00
Li, Peng
5caf6244a3 Merge pull request #10922 from pengli:dnn
* ave pooling ocl fix

support the padded area control in ave pooling

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

* warning fix: ununitialized field
2018-02-22 21:01:12 +03:00
Maksim Shabunin
92e9d4ec3a Fixed several issues detected by static analysis 2018-02-22 17:11:33 +03:00
Vadim Pisarevsky
5e0f95b948 Merge pull request #9708 from dkurt:tf_face_detector 2018-02-22 12:04:26 +00:00
Li Peng
e7d35d51fa Fix for opencv face detector ocl test
Signed-off-by: Li Peng <peng.li@intel.com>
2018-02-22 23:37:54 +08:00
Li Peng
c524f669c7 Fallback for "SAME" padMode in ocl convolution and pooling
It fixes tensorflow ocl testcase of MobileNetSSD and Inception_v2_SSD

Signed-off-by: Li Peng <peng.li@intel.com>
2018-02-22 21:17:59 +08:00
Dmitry Kurtaev
eab556e1e0 OpenCV face detection network in TensorFlow 2018-02-21 19:58:24 +03:00
Alexander Alekhin
53305d4a7e Merge pull request #10891 from pengli:dnn 2018-02-20 08:59:07 +00:00
Li Peng
2863f950d6 ReLU6 layer ocl support
include relu6 ocl kernel and layer fusion support

Signed-off-by: Li Peng <peng.li@intel.com>
2018-02-20 15:11:09 +08:00
Dmitry Kurtaev
8b4871a28d Use only absolute prior boxes explicit sizes. Remove scales attributes. (#10874)
* Use only absolute prior boxes explicit sizes. Remove scales attributes.

* Simplified PriorBox layer forward pass
2018-02-19 17:25:18 +03:00
Dmitry Kurtaev
34ba32ff27 Fix DNN flatten test 2018-02-18 12:45:43 +03:00
Alexander Alekhin
0e4eed0ba1 Merge pull request #10867 from dkurt:dnn_fix_ave_pooling_area 2018-02-16 11:17:32 +00:00
Alexander Alekhin
c020a7bb67 build: portable integer types 2018-02-15 23:43:02 +03:00
Dmitry Kurtaev
f8d0d6365e Add a flag to manage average pooling with padding 2018-02-14 16:56:31 +03:00
Alexander Alekhin
cff79609c8 Merge pull request #10854 from pengli:dnn 2018-02-14 12:49:53 +00:00
Vadim Pisarevsky
ef70b0baa4 Merge pull request #10865 from dkurt:dnn_inf_engine_getInputsInfo 2018-02-14 12:25:18 +00:00
Dmitry Kurtaev
a66b5e2c13 Add const getInputsInfo 2018-02-14 14:17:44 +03:00
Vadim Pisarevsky
6dfd7e3da2 Merge pull request #10850 from dkurt:dnn_tf_deconv_tests 2018-02-14 10:35:14 +00:00
Li Peng
80d1f2ddfa re-enable tensor flow mobilenet ssd ocl test
Signed-off-by: Li Peng <peng.li@intel.com>
2018-02-14 01:04:58 +08:00
Li Peng
5992c46606 add fallback case for ocl convolution
The ocl convolution doesn't support tensorflow padMode well.
Add fallback check if we meet this situation, it could fix the
tensorflow MobileNet SSD failure.

Signed-off-by: Li Peng <peng.li@intel.com>
2018-02-14 00:04:38 +08:00
Li Peng
00d2f34888 ocl fix for detection_output and prior_box layer
Signed-off-by: Li Peng <peng.li@intel.com>
2018-02-13 23:09:14 +08:00
Dmitry Kurtaev
514e6df460 Refactored deep learning layers fusion 2018-02-13 14:35:58 +03:00
Dmitry Kurtaev
a6baedd02c Fix deconvolution layer. Add batch norm layer with mean-variance normalization from TensorFlow. 2018-02-13 11:00:27 +03:00
Alexander Alekhin
66f3c1ae79 Merge pull request #10843 from luzpaz:misc-modules-typos 2018-02-12 13:47:12 +00:00
Sui Libin
1ad814a191 fix faster_rcnn sample crashed at PoolingInvoker on Windows7(x64). (#10724)
* fix faster_rcnn sample crashed at PoolingInvoker operator() of pooling_layer.

* find_odj onmouse bug about find matched point status.

* reverted AutoBuffer back to std::vector
2018-02-12 16:07:56 +03:00
luz.paz
5718d09e39 Misc. modules/ typos
Found via `codespell`
2018-02-12 07:09:43 -05:00
Rémi Ratajczak
b67523550f dnn : Added an imagesFromBlob method to the dnn module (#10607)
* Added the imagesFromBlob method to the dnn module.

* Rewritten imagesFromBlob based on first dkurt comments

* Updated code with getPlane()

* Modify comment of imagesFromBlob() in dnn module

* modified comments, removed useless assertions & added OutputArrayOfArray

* replaced tabs with whitespaces & put vectorOfChannels instantiation outside the loop

* Changed pre-commit.sample to pre-commit in .git/hooks/

* Added a test for imagesFromBlob in test_misc.cpp (dnn)

* Changed nbOfImages, robustified test with cv::randu, modified assertion
2018-02-12 14:51:07 +03:00
Alexander Alekhin
5a791e6e06 cmake: update reporting of excluded dispatching files (#10711)
* cmake: add ocv_get_smart_file_name() macro

* cmake: avoid adding files for unavailable dispatch modes
2018-02-12 14:48:20 +03:00
Dmitry Kurtaev
7fe97376c2 MobileNet-SSD from TensorFlow 1.3 and Inception-V2-SSD using Inference Engine backend 2018-02-09 13:45:45 +03:00
Vadim Pisarevsky
835acd3f31 Merge pull request #10799 from dkurt:dnn_inference_engine_face_detection 2018-02-07 13:42:08 +00:00
Dmitry Kurtaev
ed94136548 OpenCV face detection network using Inference Engine backend 2018-02-06 17:53:24 +03:00
Alexander Alekhin
c973aaabc5 Merge pull request #10787 from dkurt:dnn_tutorial_face_detection 2018-02-06 14:37:09 +00:00
Dmitry Kurtaev
8817907647 Test for FP16 version of OpenCV face detection network 2018-02-06 13:16:07 +03:00
Alexander Alekhin
398ebbac98 Merge pull request #10795 from pengli:dnn 2018-02-06 10:04:29 +00:00
Li Peng
c43498c6ad check vector emptiness before access it
Signed-off-by: Li Peng <peng.li@intel.com>
2018-02-06 22:59:51 +08:00
Li Peng
389fa5d38e slice layer ocl update
Signed-off-by: Li Peng <peng.li@intel.com>
2018-02-06 22:59:47 +08:00
Alexander Alekhin
2a1f46c42d Merge pull request #9770 from alalek:refactor_test_files 2018-02-06 09:33:58 +00:00
Dmitry Kurtaev
10e1de74d2 Intel Inference Engine deep learning backend (#10608)
* Intel Inference Engine deep learning backend.

* OpenFace network using Inference Engine backend
2018-02-06 11:57:35 +03:00
Alexander Alekhin
4a297a2443 ts: refactor OpenCV tests
- removed tr1 usage (dropped in C++17)
- moved includes of vector/map/iostream/limits into ts.hpp
- require opencv_test + anonymous namespace (added compile check)
- fixed norm() usage (must be from cvtest::norm for checks) and other conflict functions
- added missing license headers
2018-02-03 19:39:47 +00:00
Alexander Alekhin
3d6659112f cmake: fix includes processing 2018-02-02 21:52:54 +03:00
Maksim Shabunin
e56d6054aa Do not build protobuf without dnn (#10689)
* Do not build protobuf if dnn is disabled

* Added BUILD_LIST cmake option to the cache

* Moved protobuf to the top level

* Fixed static build

* Fixed world build

* fixup! Fixed world build
2018-02-01 16:30:23 +03:00
Vadim Pisarevsky
36222c9eed Merge pull request #10730 from dkurt:dnn_faster_rcnn_rfcn_tests 2018-02-01 13:28:10 +00:00
Vadim Pisarevsky
713ec7be45 Merge pull request #10746 from dkurt:dnn_batch_norm_from_nvidia_caffe 2018-02-01 13:22:09 +00:00
Alexander Alekhin
42569cfd61 Merge pull request #10748 from dkurt:fix_dnn_slice_layer 2018-02-01 13:21:17 +00:00
Alexander Alekhin
9d25bd583f Merge pull request #10754 from dkurt:dnn_ocl_gemv_min_globalsize 2018-02-01 12:39:27 +00:00
Dmitry Kurtaev
65a6674c6e ocl4dnnGEMV in case of row_size < 4 2018-02-01 14:06:47 +03:00
Alexander Alekhin
9698b93d10 Merge pull request #10717 from pengli:dnn 2018-02-01 10:49:54 +00:00
Li Peng
6aec71d7ee mvn layer ocl update
it fuse ocl kernels to reduce kernel enqueue

Signed-off-by: Li Peng <peng.li@intel.com>
2018-02-01 17:48:12 +08:00
Li Peng
83b16ab7b7 fix extra spaces in build option
Signed-off-by: Li Peng <peng.li@intel.com>
2018-02-01 17:46:11 +08:00
Li Peng
54c81cbde4 eltwise layer SUM op update
Signed-off-by: Li Peng <peng.li@intel.com>
2018-02-01 17:46:06 +08:00
Dmitry Kurtaev
184862582c Fix slice layer from TensorFlow 2018-01-31 19:12:37 +03:00
Arjan van de Ven
a75840d19c Merge pull request #10468 from fenrus75:avx512-2
* Add a 512 bit codepath to the AVX512 fastConv function

this patch adds a 512 wide codepath to the fastConv() function for
AVX512 use.
The basic idea is to process the first N * 16 elements of the vector
with avx512, and then run the rest of the vector using the traditional
AVX2 codepath.

* dnn: use unaligned AVX512 load (OpenCV aligns data on 32-byte boundary)

* dnn: change "vecsize" condition for AVX512

* dnn: fix indentation
2018-01-31 16:34:12 +03:00
Alexander Alekhin
f06c44f1f1 Merge pull request #10701 from dkurt:tf_ave_pooling 2018-01-31 13:28:09 +00:00
Dmitry Kurtaev
844f1d0281 Fix Batch Normalization layer imported from NVIDIA Caffe. 2018-01-31 16:25:45 +03:00
Dmitry Kurtaev
a2e9bfbaf4 Fix padding for average pooling from TensorFlow 2018-01-31 15:54:30 +03:00
Dmitry Kurtaev
ae2e4af4a1 Faster-RCNN and RFCN tests
https://github.com/rbgirshick/py-faster-rcnn
https://github.com/YuwenXiong/py-R-FCN
2018-01-30 13:17:35 +03:00
Li Peng
7a4c5e9421 slice layer ocl support
Signed-off-by: Li Peng <peng.li@intel.com>
2018-01-29 22:34:32 +08:00
Alexander Alekhin
2876670de3 dnn(ocl): fix build options for Apple OpenCL 2018-01-28 01:54:25 +00:00
Alexander Alekhin
104502c5be Merge pull request #10676 from dkurt:dnn_for_newer_mobilenet_ssd 2018-01-26 04:02:21 +00:00
Li Peng
2493083935 mvn, batch_norm and relu layer fusion
Signed-off-by: Li Peng <peng.li@intel.com>
2018-01-25 18:57:05 +08:00
Li Peng
e15928b49e convolution and tanh layer fusion
Signed-off-by: Li Peng <peng.li@intel.com>
2018-01-25 17:45:33 +08:00
Dmitry Kurtaev
9e9926a2f0 PriorBox layer with explicit normalized sizes 2018-01-24 14:01:42 +03:00
Dmitry Kurtaev
a3d74704e5 OpenCV face detection network test 2018-01-23 09:27:58 +03:00
Alexander Alekhin
26e0f408f0 Merge pull request #10639 from pengli:dnn 2018-01-19 10:01:41 +00:00
Li Peng
fe494297e4 more update on MVN layer ocl implementation
cut one ocl kernel if normVariance is disabled,
also use native_powr for performance reason.

Signed-off-by: Li Peng <peng.li@intel.com>
2018-01-19 22:54:04 +08:00
Alexander Alekhin
c3569211d5 Merge pull request #10591 from drkoller:master 2018-01-19 09:44:21 +00:00
Li Peng
2124361ff7 ocl support for Deconvolution layer
Signed-off-by: Li Peng <peng.li@intel.com>
2018-01-18 23:40:22 +08:00
David Koller
d1a3b530be Make DNN Crop layer match Caffe default offset behavior
and add parametric unit test for crop layer.
2018-01-17 10:52:36 -05:00
Alexander Alekhin
6728b40ad3 Merge pull request #10602 from pengli:dnn 2018-01-17 08:58:25 +00:00
Li Peng
e77af4ae33 MVN layer ocl implementation
Signed-off-by: Li Peng <peng.li@intel.com>
2018-01-17 17:11:32 +08:00
Li Peng
7bc017601f Power, Tanh and Channels ReLU layer ocl support
Signed-off-by: Li Peng <peng.li@intel.com>
2018-01-17 17:11:27 +08:00
Li Peng
4189214d04 batch_norm layer ocl update
use a batch_norm ocl kernel to do the work

Signed-off-by: Li Peng <peng.li@intel.com>
2018-01-16 19:01:58 +08:00
Alexander Alekhin
4d84999452 dnn: protobuf build warnings 2018-01-15 21:15:23 +00:00
oqtvs
6d4b778303 dnn: Updated protobuf files (3.5.1) 2018-01-15 15:51:38 +00:00
Alexander Alekhin
1255bd8d4b Merge pull request #10585 from dkurt:dnn_weightless_scale 2018-01-15 06:07:50 +00:00
Dmitry Kurtaev
6a395d88ff dnn::blobFromImage with OutputArray 2018-01-13 18:20:24 +03:00
Dmitry Kurtaev
1f4fdfd599 Untrainable version of Scale layer from Caffe 2018-01-13 10:35:29 +03:00
Alexander Alekhin
8533b45ce9 cmake: Java/Android SDK refactoring 2018-01-13 02:12:39 +00:00
Dmitry Kurtaev
64a9e92390 Merge pull request #10466 from dkurt:reduce_umat_try_2
* UMat blobs are wrapped

* Replace getUMat and getMat at OpenCLBackendWrapper
2018-01-10 21:50:54 +03:00
Alexander Alekhin
4d4f291553 Merge pull request #10513 from pengli:dnn 2018-01-09 19:24:28 +00:00
Li Peng
e3b42bf93b batch_norm and blank layer ocl implementation
Signed-off-by: Li Peng <peng.li@intel.com>
2018-01-09 21:58:46 +08:00
Alexander Alekhin
da0904df2d Merge pull request #10550 from dkurt:replace_psroi_pooling_tag 2018-01-08 19:19:00 +00:00
Dmitry Kurtaev
27b55ea761 Replace Caffe's psroi_pooling_param tag from 10001 to 10002 2018-01-08 13:29:20 +03:00
Alexander Alekhin
6674a024fc dnn: add OPENCV_DNN_DISABLE_MEMORY_OPTIMIZATIONS runtime option
replaces REUSE_DNN_MEMORY compile-time option
2018-01-07 18:38:14 +00:00
Arthur Williams
8a67858068 Fixed missing #include "../precomp.hpp" 2018-01-05 15:10:39 +00:00
Li Peng
67f9406cbe add normalize_bbox layer ocl implementation
Signed-off-by: Li Peng <peng.li@intel.com>
2018-01-05 19:38:36 +08:00
Li Peng
f99a135eda add eltwise layer ocl implementation
Signed-off-by: Li Peng <peng.li@intel.com>
2018-01-05 19:38:30 +08:00
Li Peng
34bfd7ef51 add ocl implementation of proposal layer
Signed-off-by: Li Peng <peng.li@intel.com>
2018-01-04 18:40:51 +08:00
Alexander Alekhin
7d67d60fb1 cmake(opt): AVX512_SKX 2017-12-29 07:18:11 +00:00
Alexander Alekhin
8e7af7f089 Merge pull request #10456 from dkurt:dnn_allocate_mem_for_optimized_concat 2017-12-28 16:04:51 +00:00
Alexander Alekhin
a65b5df5da Merge pull request #10416 from fenrus75:avx512 2017-12-28 15:56:56 +00:00
Alexander Alekhin
2b3c140f04
Merge pull request #10436 from alalek:test_threads 2017-12-28 18:29:30 +03:00
Alexander Alekhin
898ca38257 cmake: AVX512 -> AVX_512F 2017-12-28 15:20:27 +00:00
Dmitry Kurtaev
a9807d8f54 Allocate new memory for optimized concat to prevent collisions.
Add a flag to disable memory reusing in dnn module.
2017-12-28 16:45:53 +03:00
Li Peng
00f03c5739 Add ocl version FasterRCNN accuracy test
Signed-off-by: Li Peng <peng.li@intel.com>
2017-12-28 19:15:15 +08:00
Alexander Alekhin
99a9c10b57 Merge pull request #10424 from dkurt:fix_concat_optim 2017-12-28 01:26:14 +00:00
Alexander Alekhin
9b131b5f7e dnn(test): avoid calling of cv::setNumThreads() in tests directly
It is not necessary by default.
Also it breaks test system command-line parameters: --perf_threads / --test_threads
2017-12-27 15:16:41 +00:00
Alexander Alekhin
f3880c60a6 Merge pull request #10428 from pengli:dnn 2017-12-27 13:18:10 +00:00
Arjan van de Ven
2938860b3f Provide a few AVX512 optimized functions for the DNN module
This patch adds AVX512 optimized fastConv as well as the hookups
needed to get these called in the convolution_layer.

AVX512 fastConv is code-identical on a C level to the AVX2 one,
but is measurably faster due to AVX512 having more registers available
to cache results in.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
2017-12-26 16:00:17 +00:00
Dmitry Kurtaev
70c605a03d Limit Concat layer optimization 2017-12-26 16:49:33 +03:00
Li Peng
84e2fa79a0 dnn(ocl4dnn): update pre-tuned kernel config
Signed-off-by: Li Peng <peng.li@intel.com>
2017-12-26 20:14:41 +08:00
Alexander Alekhin
adf43e7d2a build: fix MSVS2010 build error 2017-12-23 00:06:34 +00:00