Buffering frames to avoid flickering bboxes with interval > 0

• Hardware Platform: GPU
• DeepStream Version: 7.1
• TensorRT Version: 10.3.0.26
• NVIDIA GPU Driver Version: 535.183.01
• Issue Type: Question

In my pipeline, I would like to do inference every 5 frames and use the NvDCF tracker’s past-frame data to display bboxes even on frames where inference was not running.

From a few discussions here I understand that building a custom plugin to buffer frames in advance is necessary:

I made my own plugin and I do manage to fetch the past-frame data to display the bboxes that did not have detections (because inference was not running)

However, I am running into a strange issue:
In my custom plugin, If I buffer 1, 2 or 3 frames (and set a proper inference interval) then my plugin works and I get the desirred result of smooth bboxes!
If I buffer 4 frames the pipeline completly stalls!

Here is a minimal working example of the plugin to reproduce the issue (I removed the past-frame fetching logic as i have no issue with it, so this plugin just buffers frames until it has enough and then releases them):

frame_buffering.txt (3.7 KB)

Do you have any idea why this plugin would stop working for a min_delay > 3?
Do you confirm that this is the preferred way to achieve the goal of no flickering bboxes? Is there a better way?

Thank you for reading

The Gst-nvtracker — DeepStream documentation is recommended to implement the customized tracking algorithm.

Please have a try to enlarge “buffer-pool-size” in nvstreammux: Gst-nvstreammux — DeepStream documentation

nvtracker can output shadow tracking target now. You can also have a try with this bboxes. Please refer here: Gst-nvtracker — DeepStream documentation

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.