Does nvinfer work with multiple surfaces output from nvdewarper

Please provide complete information as applicable to your setup.

• Hardware Platform - Jetson
• DeepStream Version 7
• Issue Type - Question

I have a question on a more complicated topic posted but it isn’t getting any traction so I’m simplifying the question.

Should nvinfer work on each of the surfaces output by nvdewarper?

I have an nvdewarper configuration to output multiple surfaces (3). In the display for the output (via ! nvdsosd ! nvmultistreamtiler) I only get bounding boxes for the first surface. Either nvinfer isn’t working for anything other than [surface0] or I guess its possible nvdsod may not be outputting them. The 3 surfaces all show up fine (stacked) but bounding boxes are only drawn for the top 3rd.

I converted this to python code and added a call back to a pad after inference. I can see that I am indeed getting inference to happen on each of the surfaces output by nvdewarper. There is surface_index on each of the NvFrameMetadata’s and I’m getting results on all surfaces.

So that is good but I guess the next question is why doesn’t this show for the downstream >>> nvdsosd ! nvmultistreamtiler. Do these not work for multiple surfaces or is their a configuration change I need to make for them? This is either a bug, unsupported, or user error and would like to know if supported before I keep chasing it down.

please refer to nvdewarper doc first. what is the whole media pipeline? how did you link nvdewarper and nvstreammux? what is the batch-size of nvstreammux?

Here is a sample to do inference on each surface of two sources. The source is sample_cam6.mp4 in SDK. After dewarper, there are 4 surfaces in one frame. the the cmd is: deepstream-app -c /opt/nvidia/deepstream/deepstream/samples/configs/deepstream-app/source2_dewarper_test.yml
source2_dewarper_test.yml (4.0 KB)
sources_2.csv (693 Bytes)