Clarification needed on tracker documentation

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU): Jetson AGX Xavier
• DeepStream Version: 5.0
• JetPack Version (valid for Jetson only): 4.4
• TensorRT Version: 7.1.3
• Issue Type( questions, new requirements, bugs): questions

From the doc:

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.

Question 1: is the object “unique ID” is the ID assigned by the tracker?
Question 2: “bounding box area” change, are we talking about the bbox of the PGIE or the bbox of the tracker?

Question 3: is the purpose of having this setting “classifier-async-mode=1” to increase performance? If so how much of a different will it making if we set classifier-async-mode=0 instead?


1. YES. The ID is assigned by the tracker.

2. The matched boundig box from the tracker.

3. When setting classifier-async-mode=0, the pipeline will wait for detection inference finished each time.
Below is the description from our document:

Enables inference on detected objects and asynchronous metadata attachments. Works only when tracker-ids are attached. Pushes buffer downstream without waiting for inference results. Attaches metadata after the inference results are available to next Gst Buffer in its internal queue