Tracking duration - bbox osd

Please provide complete information as applicable to your setup.

• Hardware Platform: (Jetson nano)
• DeepStream Version: 5.1
• JetPack Version (valid for Jetson only): 4.5.1
• TensorRT Version: 7.1.3.0
• Issue Type( questions )

Hello.

I’m using Deepstream python bindings to detect and track objects (in my case: people). The detection of the people is not perfect and there are some frames where the object is not detected, and then detected again, therefore no bounding box is shown on screen for those frames. I added a tracker to the pipeline(Nvdcf tracker) and showed the id on the screen. For the above case, even though the object was not detected for couple of frames, the id was the same, which means the object is being tracked. The problem is that for the frames(1-5 frames) where the object was not detected, I couldn’t see the id (and bbox) on the screen.

If the interval is set to 0, no frames are skipped for inference.
If the interval is set to 1 → 1 frame detection and 1 frame tracker. If the interval is set to 10 → 1 frame detection 10 frames tracker. The tracking is very good after detection(for those 10 frames), and bounding boxes are shown on the screen. I couldn’t find a way to set the tracker duration and detection interval separately. If I want detection at every 2 frames and tracking for 7 frames(if the tracker has a confidence > x), I can’t do that. Or can I?

I tried to set minTrackingConfidenceDuringInactive to a lower value(0.5 or lower) (Min tracking confidence during INACTIVE period. If tracking confidence is higher than this, then tracker will still output results until next detection ), but it didn’t work. Also, when I run the script, this parameter appears deprecated: [NvDCF][Warning] minTrackingConfidenceDuringInactive is deprecated
tracker_config.yml (6.7 KB)

If the object is being tracked, can I get the coordinates of that object (tracker) for the frames where the object is not detected?

Yes, you can refer MetaData in the DeepStream SDK — DeepStream 6.3 Release documentation

I got the meta from detector_bbox_info and tracker_bbox_info, but there are still frames where I could get the meta for the object. I think that the objects are being tracked in shadow mode. The id of the object is the same after re-detection. For example: Interval is set to 1 → an object is detected, has the id 0, one frame we get the meta from the detector, the next frame the meta from the tracker. For the 3rd frame, we should get the meta from detector, but the detection is not so good and we got a blank frame. After 2 frames, the object is detected again, with the same id (0) and we got meta. For those 2 frames, shouldn’t we get the meta from the tracker (if the object is being tracker and the id is the same)?

I tried to change the minTrackingConfidenceDuringInactive in order to get meta from those frames, but no success.
Of course, a solution would be to have better detection.

Yeah, I think you should get the bbox from tracker_bbox_info if tracker recognize the object even detector not work well

Please also refer NVIDIA DeepStream SDK Developer Guide — DeepStream 6.1.1 Release documentation to tune the nvdcf tracker

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