DeepStream Output Inference Class Mismatch - "Vehicle Class"

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU)
Jetson Nano 4GB, Ubuntu 18.4

• DeepStream Version

• JetPack Version (valid for Jetson only)
4.3

• Issue Type( questions, new requirements, bugs)
Question

• How to reproduce the issue ? (This is for bugs. Including which sample app is using, the configuration files content, the command line used and other details for reproducing)
On DeepStream, deploy a object detection ONNX model. My model is ONNX model exported from Azure Custom Vision. My label file has 2 classes - ‘Mask’, ‘No_Mask’. Deployment works fine and I am able to execute my model using DeepStream. However, output inference class I am getting as ‘Vehicle’ and ‘No_Mask’. Can you please help me understand why I am getting output inference label as “Vehicle” when it is not there in my Model.

•Sample output inference log
{“log”:" “1|324|23|380|61|Vehicle|#|||||||0”\n",“stream”:“stdout”,“time”:“2021-01-05T16:15:15.614591738Z”}

{“log”:" “1|324|23|380|61|Vehicle|#|||||||0”\n",“stream”:“stdout”,“time”:“2021-01-05T16:15:15.614790179Z”}

{“log”:" “2|141|15|365|161|No Mask”\n",“stream”:“stdout”,“time”:“2021-01-05T16:15:15.614221209Z”}

Hi,

The label comes from an extra .txt file linked in the model configure.

For example, config_infer_primary_nano.txt

[property]
..
labelfile-path=../../models/Primary_Detector_Nano/labels.txt
...

The #class=0 will be replaced with first name in the labels.txt
Ex. “Car” for #class=0 in Primary_Detector_Nano/labels.txt.

Primary_Detector_Nano/labels.txt

Car
Bicycle
Person
Roadsign

Thanks.

Hello,
Thank you for input. My model configure file is named as “config_infer_custom_vision” and below is my property details. labelfile-path is my file which I am using and it has 2 class “Mask” and “No-Mask”.

Is there somewhere else I need to look ? Please help

[property]
gpu-id=0
net-scale-factor=1
#0=RGB, 1=BGR
model-color-format=1
onnx-file=…/custom_models/cans-model.onnx
labelfile-path=…/custom_models/cans-labels.txt

0=FP32, 1=INT8, 2=FP16 mode

network-mode=0
num-detected-classes=2
gie-unique-id=1
is-classifier=0
maintain-aspect-ratio=1
#output-blob-names=output-blob-names=coverage;bbox
parse-bbox-func-name=NvDsInferParseCustomYoloV2Tiny
custom-lib-path=…/custom_models/libnvdsinfer_custom_impl_Yolo_Custom_Vision.so

Hi,

Could you also share the pipeline configure with us?
Do you only have one primary GIE for the mask detector?

Thanks.

Hello,

I am attaching config files. There are 3 files zipped. I am using only 1 primary GIE. I have 2 class in my ML Model and only the first class gets replaced with “Vehicle” text. Other class shows fine.

One more fact I would like to highlight. For testing purpose, I even used a model which has 3-4 classes. And what I can see is that only first class gets replaced with text “Vehicle”. Other class sees t show up fine.

Please help.

Amit

[custom_configs.zip|attachment]
(upload://9Rc6enov7xKLu7cSCiSVx8g7DL3.zip) (3.6 KB)

Hi,

The attachment seems broken.
Could you update it again?

Thanks.

Hi,

Attaching config files again.config_infer_custom_vision.txt (2.2 KB) msgconv_config_soda_cans.txt (992 Bytes) test5_config_file_src_infer_azure_iotedge_edited.txt (4.1 KB)

Thanks for the feedback.

We are going to reproduce this internally.
Will share more information with you later.

Hi,

Do you use JetPack4.3 with Deepstream 4.0?
If yes, could you check if this issue can also be reproduced in our latest Deepstream 5.1 with JetPack 4.5.1?

Thanks.