According to DS6.0 documentation for nvinfer
:
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.
How can I know when the secondary model is run again on the same tracked object?
In my application I have to report each object detected with its classification metadata from secondary models. Of course, I’d like to report each object only once.
So suppose I have two classification labels: A
, B
. Suppose object is initially classified as A
, but then, once its bounding box increases, the secondary model is run again and classified as B
. How can I know that the secondary model has run again? Should I store the first inference output (in this case A
) and compare it with future output (in this case B
)?
Is there any flag that I could use to know that the secondary model has been run again? This would be particularly useful also because it would allow me to retrieve a bigger image of the tracked object.