Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Velasco__Sergio
Beginner
360 Views

CustomVision.ai Object Detection ONNX Model - Can't find a DetectionOutput layer in the topology

Hi, i'm trying to run the C++ object_detection_sample_ssd project with my custom onnx model from Microsoft Azure Custom Vision portal.
Is an Object Detection model with 27 labels that uses an image as input.

When I run the Object Detection C++ Sample SSD project using the optimized model with this command:

object_detection_sample_ssd -i C:\...\x.jpg -m C:\...\model.xml -d CPU

I get this error:

[ INFO ] InferenceEngine:
API version ............ 2.1
Build .................. 42025
Description ....... API
Parsing input parameters
[ INFO ] Files were added: 1
[ INFO ] C:\...\x.jpg
[ INFO ] Loading Inference Engine
[ INFO ] Device info:
CPU MKLDNN
Plugin version ......... 2.1
Build ........... 42025
[ INFO ] Loading network files:
C:\...\model.xml
C:\...\model.bin
[ INFO ] Preparing input blobs
[ INFO ] Batch size is 1
[ INFO ] Preparing output blobs
[ ERROR ] Can't find a DetectionOutput layer in the topology

In Netron, an open source viewer for neural networks, I can see this:

MODEL PROPERTIES
format ONNX v3
domain onnxml
imports ai.onnx v7
INPUTS
data
name: data
type: float32[None,3,416,416]
denotation: Image(Bgr8)
Image(s) in BGR format. It is a [N, C, H, W]-tensor.  
The 1st/2nd/3rd slices along the C-axis are blue, green, and red channels, respectively.
OUTPUTS
model_outputs0
name: model_outputs0
type: float32[None,None2,13,13]

Is there something I am doing wrong?
Is it the right sample to test my model?

All clues are welcome.

Thanks in advance.

0 Kudos
3 Replies
360 Views

Hi Sergio,

If you trained the model using CustomVision.ai, you can test the model using the sample scripts that are bundled with the model when you download it. 

Once you have converted it to IR Model, refer to sample code (python) for preprocessing the results (id, label, bounding box, etc).

Regards,

Jhon Ramawi Putra

360 Views

Hi Sergio,

If you trained the model using CustomVision.ai, you can test the model using the sample scripts that are bundled with the model when you download it. 

Once you have converted it to IR Model, refer to sample code (python) for preprocessing the results (id, label, bounding box, etc).

Regards,

Jhon Ramawi Putra

Munesh_Intel
Moderator
360 Views

Hi Sergio,

Greetings to you.

I would suggest you run Object Detection C++ Sample SSD demo with a validated pre-trained object detection model (person-detection-retail-0013, person-detection-retail-0002, etc.).

The list of pre-trained object detection models that you can use for learning and demo purposes or for developing deep learning software is available at the following page:

https://docs.openvinotoolkit.org/2020.3/_models_intel_index.html#object_detection_models

Also, please take a closer look at the model you are using to confirm whether it is an object detection model, contains DetectionOutput layer, and fulfills the requirements of an object detection SSD model.

Detailed information of model conversion process for SSD topologies is available at the following page:

https://docs.openvinotoolkit.org/2020.3/_docs_MO_DG_prepare_model_convert_model_tf_specific_Convert_...

 

Regards,

Munesh

Reply