Obj_meta->obj_user_meta_list is NULL

Please provide complete information as applicable to your setup.

**• Jetson Xavier **
• Deepstream version 6.0.1
• Jetpack version 4.6.2
**• TensorRT Version **
• Issue Type bugs

I’m having a bug where the raw tensor metadata of my SGIE classifier are only attached to the first batch, and then never again.

My pipeline is as follow: PGIE (object detector) → tracker → SGIE (classifier) → (probe on the SGIE sink for reading obj_meta->obj_user_meta_list) → rtsp out

It turns out that obj_user_meta_list is not NULL for the first batch only, and then is always NULL for the next batches.

Do you see anything wrong in my SGIE config file?
sgie.txt (581 Bytes)

Thank you very much,

PS: I also put breakpoints in gstnvinfer.cpp, it turns out that batch_size() on line 2255 is more than zero only for the first batch, and then it’s always equal to zero after that, this is why the raw tensor metadata are not attached apparently. However the real batch size is not zero as I receive a correct output rtsp stream

Thanks for the sharing, can you use deepstream-test2 to reproduce this issue? test2 has a similar pipeline.

I think that I found out the reason, the gst-infer plugin description states:

“When the plugin is operating as a secondary classifier along with the tracker, it tries to improve performance by avoiding re-inferencing on the same objects in every frame. It does this by caching the classification output in a map with the object’s unique ID as the key. The object is inferred upon only when it is first seen in a frame (based on its object ID) or when the size (bounding box area) of the object increases by 20% or more.”

Is there a way to disable this optimization? I want to do inference on every frame

setting secondary-reinfer-interval=0 seems to have deactivated the optimization.

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