Intel® Distribution of OpenVINO™ Toolkit
Community assistance about the Intel® Distribution of OpenVINO™ toolkit, OpenCV, and all aspects of computer vision-related on Intel® platforms.

YOLOv3 on MYRIAD 2

Lange__Benjamin
1,585 Views

Hello everyone,

this is my software environment:
Windows 10
CMake 3.1
Python 3.5
Visual Studio 2017
OpenCV 4.0
Intel C++ Compiler 2017 Redistributable package for Windows
Neural Compute Stick (Myriad 2)

It says in the documentation (https://software.intel.com/en-us/articles/OpenVINO-InferEngine#vpu-stick-plugin)
that the Myriad Plugin is currently not supporting YOLOv3. Since I was testing some of the Inference Engine samples
I gave it a try anyway. I converted the YOLOv3 to the IR using the following tutorial:

software.intel.com/en-us/articles/OpenVINO-Using-TensorFlow#inpage-nav-8

Then I build a MYRIAD compatible FP16 version:

python C:/Intel/computer_vision_sdk_2018.4.420/deployment_tools/model_optimizer/mo_tf.py
--input_model F:/git/tensorflow-yolo-v3/yolo_v3.pb
--tensorflow_use_custom_operations_config C:/Intel/computer_vision_sdk_2018.4.420/deployment_tools/model_optimizer/extensions/front/tf/yolo_v3.json
--input_shape=[1,416,416,3]
--data_type=FP16

Finally I tried to run YOLOv3 on MYRIAD 2: 

object_detection_demo_yolov3_async.exe
-i yolov3_demo_test_video_2.mp4
-m F:\yolov3_ir_fp16\yolo_v3.xml
-d MYRIAD

Output:

InferenceEngine:
        API version ............ 1.4
        Build .................. 17328
[ INFO ] Parsing input parameters
[ INFO ] Reading input
[ INFO ] Loading plugin

        API version ............ 1.4
        Build .................. 17328
        Description ....... myriadPlugin
[ INFO ] Loading network files
[ INFO ] Batch size is forced to  1.
[ INFO ] Checking that the inputs are as the demo expects
[ INFO ] Checking that the outputs are as the demo expects
[ INFO ] Loading model to the plugin
[ ERROR ] Cannot convert layer "detector/yolo-v3/ResizeNearestNeighbor"
 due to unsupported layer type "Resample"

It does not surprise that it did not work, but the error is a contradiction to what is stated in the documentation.
This source states that the "Resample" layer should be supported:
https://software.intel.com/en-us/articles/OpenVINO-InferEngine#inpage-nav-10-2-1
(Look for "Supported Layers", under column "Layers" row "Resample" and then column "MYRIAD")

Is there something I misunderstood?

Best regards,
B. Lange

0 Kudos
1 Solution
nikos1
Valued Contributor I
1,585 Views

Seems that this is solved now in the new SDK R5.

View solution in original post

0 Kudos
9 Replies
Mike_R_2
Beginner
1,585 Views

I'm also having the exact same issue, did you manage to solve it?

My software: 

  • Ubuntu 16.04 
  • Kernel: 4.15.0-39-generic
  • Python 3.6
  • cmake 3.5.1
  • gcc version 5.4.0 20160609 
  • Neural Compute Stick 2 (MYRIAD)
  • OpenCV 3.4.2
  • openvino_toolkit v 2018.4.420  

 

0 Kudos
zhi__cai
Beginner
1,585 Views

I have the same problem like what Mike R. described when i use NCS2.

0 Kudos
Qing__Albert
Beginner
1,585 Views

I also have this error, is there any solutions? 

InferenceEngine: 
    API version ............ 1.4
    Build .................. 17328
[ INFO ] Parsing input parameters
[ INFO ] Reading input
[ INFO ] Loading plugin

    API version ............ 1.4
    Build .................. 17328
    Description ....... myriadPlugin
[ INFO ] Loading network files
[ INFO ] Batch size is forced to  1.
[ INFO ] Checking that the inputs are as the demo expects
[ INFO ] Checking that the outputs are as the demo expects
[ INFO ] Loading model to the plugin
[ ERROR ] Cannot convert layer "detector/yolo-v3/ResizeNearestNeighbor" due to unsupported layer type "Resample"

I also find that NCS2 is not faster than NCS1 when running ssd. Can we accelerate the ssd fps or not? 
 

0 Kudos
li__yang1
Beginner
1,585 Views

I have the same problem on ubuntu 16.04

InferenceEngine: 
    API version ............ 1.4
    Build .................. 17328
[ INFO ] Parsing input parameters
[ INFO ] Reading input
[ INFO ] Loading plugin

    API version ............ 1.4
    Build .................. 17328
    Description ....... myriadPlugin
[ INFO ] Loading network files
[ INFO ] Batch size is forced to  1.
[ INFO ] Checking that the inputs are as the demo expects
[ INFO ] Checking that the outputs are as the demo expects
[ INFO ] Loading model to the plugin
[ ERROR ] Cannot convert layer "detector/yolo-v3/ResizeNearestNeighbor" due to unsupported layer type "Resample"
 

0 Kudos
mengnan__lmn
Beginner
1,585 Views

I have the same problem on ubuntu 16.04

0 Kudos
Lee__Terry
Beginner
1,585 Views

I have the same issue on windows 10. Is there solution for it yet?

C:\Users\trafficcountuser\Documents\Intel\OpenVINO\inference_engine_samples_2017\intel64\Release>object_detection_demo_yolov3_async.exe -i c:\\t\\s1\\v2.mp4 -m  C:\\t\\yolo_V3\\yolo_v3.xml -d MYRIAD
InferenceEngine:
        API version ............ 1.4
        Build .................. 17328
[ INFO ] Parsing input parameters
[ INFO ] Reading input
[ INFO ] Loading plugin

        API version ............ 1.4
        Build .................. 17328
        Description ....... myriadPlugin
[ INFO ] Loading network files
[ INFO ] Batch size is forced to  1.
[ INFO ] Checking that the inputs are as the demo expects
[ INFO ] Checking that the outputs are as the demo expects
[ INFO ] Loading model to the plugin
[ ERROR ] Cannot convert layer "detector/yolo-v3/ResizeNearestNeighbor" due to unsupported layer type "Resample"

0 Kudos
Hyodo__Katsuya
Innovator
1,585 Views

There is an idea of ​​detaching the processing before and after the unsupported layer into Tensorflow, Caffe, etc.

My sample is DeeplabV3+ instead of YoloV3, but I separated preprocessing and post processing to Tensorflow side.

https://github.com/PINTO0309/OpenVINO-DeeplabV3.git

 

I referred to the following repository.

https://github.com/FionaZZ92/OpenVINO.git

0 Kudos
nikos1
Valued Contributor I
1,586 Views

Seems that this is solved now in the new SDK R5.

0 Kudos
Meller__Daniel
Beginner
1,585 Views

working on R5

0 Kudos
Reply