Deepstream 6.2, SGIE always provides output 0

Hi!

I’m trying to run a deepstream application that receives an rtsp stream, performs detection - tracking - classification (on detected objects) and then outputs through rtsp with drawn bounding boxes.

All of this is working perfectly except the sgie classifier. I’ve tried several things but nothing seems to work, I think it is properly configured but every output (NvDsLabelInfo) has:

  • label_id=0,
  • num_classes=0,
  • result_class_id=0,
  • result_label = corresponding to label id 0,
  • result_prob= an actual value that ranges from 0 to 1 and changes with each object
  • automatic osd also shows always label 0 on classified objects

pgie is a yolox detector model and sgie is a imagenet classifier.
Having a value that makes sense in result_prob makes me think that the classifier is receiving images and performing inference, but there must be something wrong I’m doing with the output. I also think format and sizes are all correct because changing them makes the pipeline produce errors. I’ve also tested adding sgie as a second pgie and it properly classifies images, my issue is only when using as sgie.

Is there a way I can debug further input and output from sgie other than using probes?

Here’s all of my config files and my pipeline dot file:
sgie_inference_config.txt (653 Bytes)
pgie_inference_config.txt (587 Bytes)
crops_preprocesing_config.txt (828 Bytes)


sgie_error_dot.txt (24.6 KB)

Setup info:

• Hardware Platform (Jetson / GPU): Jetson Orin AGX 32gb
• DeepStream Version 6.2
• JetPack Version (valid for Jetson only) 5.1.1 L4T 35.3.1
• TensorRT Version 8.5.2.2
• How to reproduce the issue ? I cannot share my models but I just need some advice, not for anyone to reproduce my issue

The “filter-out-class-ids=1” is set in the PGIE configuration file while you set “operate-on-class-ids=0” in the SGIE configuration file. You may remove the “filter-out-class-ids=1” from the PGIE configuration.

Your SGIE model dimension is 3x710x1280, please set “input-object-min-width=80” and “input-object-min-height=45” in the SGIE configuration file. The “input-object-max-width=1000” and “input-object-max-height=100” can be removed.

Hi!

Sorry I’ve been making a lot of changes to the configuration and left some unnecessary configurations, obviously I wasn’t intending to set max height to 100 it was just a typo from 1000 (I was trying to make sure my error didn’t come from input limits)

With all of the changes you mentioned I still get the same issue, all of my classifier outputs are result_class_id=0. I tried loading a different model, one of the demo ones (car color) and I get correct output from the classifier, so it is not an issue of my osd or how I’m reading the outputs.

Is there any requisites the sgie must meet? My model is an imagenet model and the carcolor one I used is resnet18, but other than that I can’t see many differences other than sizes and mine being fp16 instead of int8

There are SGIE configuration file samples in /opt/nvidia/deepstream/deepstream/samples/configs/deepstream-app

There is no update from you for a period, assuming this is not an issue anymore. Hence we are closing this topic. If need further support, please open a new one. Thanks

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.