`nvtracker` is setting `detector_bbox_info.org_bbox_coords` to `0'

• GPU
• DeepStream Version: 6.3
• TensorRT Version: 8.5
• NVIDIA GPU Driver Version: 535
• Issue Type: bug

I have implemented a custom TensorRT inference plugin and I’m manually creating the NvDsObjectMeta instance for every detection. I tried using nvds_obj_enc_process to save cropped detections to disk and everything worked fine until I added the tracker to the pipeline. Then, I got this error:

Error: Object dimensions cannot be non-positive. Object not encoded.

Upon inspecting the detector_bbox_info.org_bbox_coords field of the object meta I noticed that all values are 0. How can the tracker cause that?

Yes, you can check the code: /opt/nvidia/deepstream/deepstream-6.3/sources/gst-plugins/gst-nvtracker/nvtracker_proc.cpp

Why this behave cause trouble for your use case?

Because the object encode fails to encode some detections. Can I disable that behavior? And what is the point of modifying the detection coordinates?

Suppose it will encode based on obj_meta->rect_params. Why org_bbox_coords will effect the encode object?

I just checked and rect_params also has 0 values.

Can this topic helps? Tracker removes object meta

The user that created the topic happens to have the exact username as I do. It is not the same issue, I moved past that.

Are you fixed your issue? Can you share more about the fixes?

No, I did not fix the issue. For now we are simply not using the tracker when cropping detections from frames.

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

If the issue can’t reproduce with nvinfer, you need compare the output between nvinfer with your customised TensorRT inference plugin.