Merge pull request #18716 from dmatveev:dm/upstream_onnx
authorDmitry Matveev <dmitry.matveev@intel.com>
Tue, 3 Nov 2020 18:39:16 +0000 (21:39 +0300)
committerGitHub <noreply@github.com>
Tue, 3 Nov 2020 18:39:16 +0000 (18:39 +0000)
commita110ede0a253a88c3b925a40b42d8c1013fbdfe4
tree986c37e3a10184f3954a0f7b793ddf11caa46df4
parent2a3cdba724aaf9871b988f8d7887c1899afb0f6d
Merge pull request #18716 from dmatveev:dm/upstream_onnx

* G-API: Introduce ONNX backend for Inference

- Basic operations are implemented (Infer, -ROI, -List, -List2);
- Implemented automatic preprocessing for ONNX models;
- Test suite is extended with `OPENCV_GAPI_ONNX_MODEL_PATH` env for test data
  (test data is an ONNX Model Zoo repo snapshot);
- Fixed kernel lookup logic in core G-API:
  - Lookup NN kernels not in the default package, but in the associated
    backend's aux package. Now two NN backends can work in the same graph.
- Added Infer SSD demo and a combined ONNX/IE demo;

* G-API/ONNX: Fix some of CMake issues

Co-authored-by: Pashchenkov, Maxim <maxim.pashchenkov@intel.com>
CMakeLists.txt
cmake/FindONNX.cmake [new file with mode: 0644]
modules/gapi/CMakeLists.txt
modules/gapi/include/opencv2/gapi/infer/onnx.hpp [new file with mode: 0644]
modules/gapi/samples/infer_ie_onnx_hybrid.cpp [new file with mode: 0644]
modules/gapi/samples/infer_ssd_onnx.cpp [new file with mode: 0644]
modules/gapi/src/backends/onnx/gonnxbackend.cpp [new file with mode: 0644]
modules/gapi/src/backends/onnx/gonnxbackend.hpp [new file with mode: 0644]
modules/gapi/src/compiler/passes/kernels.cpp
modules/gapi/test/infer/gapi_infer_onnx_test.cpp [new file with mode: 0644]