I'm new to OpenVino and NCS2 and trying some examples, however cannot get MobileNetV3-SSD to work on NCS2. It works with CPU (I'm running tests on a raspberry pi4), but doesn't work in NCS2.
I'm using opencv 4.3.0 with openvino 2020.1.023 (which is not the latest version, because it has a bug and doesn't work on raspberry as mentioned here )
I'm using the following code:
net = cv.dnn_DetectionModel('frozen_inference_graph.pb', 'cvgraph.pbtxt') net.setPreferableBackend(cv.dnn.DNN_BACKEND_OPENCV)
which works, while:
Throws the following error:
cv2.error: OpenCV(4.3.0) /opencv/modules/dnn/src/op_inf_engine.cpp:881: error: (-2:Unspecified error) Failed to initialize Inference Engine backend (device = MYRIAD): Can not init Myriad device: NC_ERROR in function 'initPlugin'
As far as I understood from the documentation the MobileNetV3-SSD is supported by the latest release of OpenVino, but only running inference on CPU, because the network is not supported by the myriad plugin (which is for the NCS2).
Is that true? Is there any plan for the future to support this network ?
Hi (name withheld),
Thanks for reaching out.
To use the target cv.dnn.DNN_TARGET_MYRIAD, you must choose the backend cv.dnn.DNN_BACKEND_INFERENCE_ENGINE, which is what uses Intel's inference engine.
Intel's inference engine reads models optimized by OpenVINO's Model Optimizer, which results in an Intermediate Representation of the models with extensions .xml and .bin. The code should look like this:
# Load the model. net = cv.dnn_DetectionModel('face-detection-adas-0001.xml', 'face-detection-adas-0001.bin') # Specify target device. net.setPreferableTarget(cv.dnn.DNN_TARGET_MYRIAD)
Please refer to the code under section "Run Inference of Face Detection Model Using OpenCV* API" in the OpenVINO™ toolkit for Raspbian* OS installation guide.
The MYRIAD plugin does not support MobileNetV3 as stated here and we cannot comment on if it will be supported.