opencv/modules/dnn
Dmitry Kurtaev c7ec0d599a
Merge pull request #23987 from dkurt:openvino_int8_backend
OpenVINO backend for INT8 models #23987

### Pull Request Readiness Checklist

TODO:
- [x] DetectionOutput layer (https://github.com/opencv/opencv/pull/24069)
- [x] Less FP32 fallbacks (i.e. Sigmoid, eltwise sum)
- [x] Accuracy, performance tests (https://github.com/opencv/opencv/pull/24039)
- [x] Single layer tests (convolution)
- [x] ~~Fixes for OpenVINO 2022.1 (https://pullrequest.opencv.org/buildbot/builders/precommit_custom_linux/builds/100334)~~


Performace results for object detection model `coco_efficientdet_lite0_v1_1.0_quant_2021_09_06.tflite`:
| backend | performance (median time) |
|---|---|
| OpenCV | 77.42ms |
| OpenVINO 2023.0 | 10.90ms |

CPU: `11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz`

Serialized model per-layer stats (note that Convolution should use `*_I8` primitives if they are quantized correctly): https://gist.github.com/dkurt/7772bbf1907035441bb5454f19f0feef

---

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [x] There is a reference to the original bug report and related work
- [x] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [x] The feature is well documented and sample code can be built with the project CMake
2023-09-28 16:24:43 +03:00
..
cmake dnn: plugin support for OpenVINO 2022-10-07 16:57:31 +00:00
include/opencv2 dnn: expand refactor with cv::broadcast for onnx models (#24295) 2023-09-27 09:28:52 +03:00
misc Merge pull request #24120 from dkurt:actualize_dnn_links 2023-08-16 15:46:11 +03:00
perf Merge pull request #23987 from dkurt:openvino_int8_backend 2023-09-28 16:24:43 +03:00
src Merge pull request #23987 from dkurt:openvino_int8_backend 2023-09-28 16:24:43 +03:00
test Merge pull request #23987 from dkurt:openvino_int8_backend 2023-09-28 16:24:43 +03:00
CMakeLists.txt dnn: add gemm_layer in place of fully_connected_layer for onnx models (#23897) 2023-09-20 00:53:34 +03:00