Secondary gie0 depends on the output of primary gie, secondary gie1 depends on the output of secondary gie0,but gie1 got the wrong result

According to your config files, PGIE is a detector which can output bbox, SGIE0 and SGIE1 are classifiers which can only output classification labels.

So it is no meaning to set “operate-on-gie-id=2” in SGIE1’s config file. Currently SGIE only support filtering by class id(which is “operate-on-class-ids” parameter in config file), but classifier does not generate or change any class id. The class id and bbox are all generated by PGIE which is a detector.

If you want to filter by SGIE0 identified class, you may try to change the class_id in NvDsObjectMeta to a new value after SGIE0 inference.

To read the source code of gst-nvinfer can help you to understand the relationship of PGIE and SGIE.