No, the tracker happens after pgie and sgie.
Sorry, there’s no repo that can be shared.
Ok, I’ll explain with more examples (class names are arbitrary)
sgie class 1: “chair”
Frame 0 (inference): chair (obj->unique_component_id = 2)
Frame 1 (track): chair (obj->unique_component_id = 2)
Frame 2 (track): chair (obj->unique_component_id = 2)
Frame 3 (track): chair (obj->unique_component_id = 2)
Frame 4 (track): chair (obj->unique_component_id = 2)
Frame 5 (track): chair (obj->unique_component_id = 2)
Frame 6 (track): chair (obj->unique_component_id = 2)
Frame 7 (track): chair (obj->unique_component_id = 2)
Frame 8 (track): chair (obj->unique_component_id = 2)
Frame 9 (track): chair (obj->unique_component_id = 2)
Frame 10 (inference): chair (obj->unique_component_id = 2)
sgie class 2: “banana”
Frame 0 (inference): banana (obj->unique_component_id = 2)
Frame 1 (track): banana (obj->unique_component_id = 2)
Frame 2 (track): banana (obj->unique_component_id = 2)
Frame 3 (track): banana (obj->unique_component_id = 2)
Frame 4 (track): banana (obj->unique_component_id = 2)
Frame 5 (track): banana (obj->unique_component_id = 2)
Frame 6 (track): banana (obj->unique_component_id = 2)
Frame 7 (track): banana (obj->unique_component_id = 2)
Frame 8 (track): banana (obj->unique_component_id = 2)
Frame 9 (track): banana (obj->unique_component_id = 2)
Frame 10 (inference): banana (obj->unique_component_id = 2)
sgie class 3: “car”
Frame 0 (inference): car (obj->unique_component_id = 2)
Frame 1 (track): car (obj->unique_component_id = 2)
Frame 2 (track): car (obj->unique_component_id = 2)
Frame 3 (track): car (obj->unique_component_id = 2)
Frame 4 (track): car (obj->unique_component_id = 2)
Frame 5 (track): car (obj->unique_component_id = 2)
Frame 6 (track): car (obj->unique_component_id = 2)
Frame 7 (track): car (obj->unique_component_id = 2)
Frame 8 (track): car (obj->unique_component_id = 2)
Frame 9 (track): car (obj->unique_component_id = 2)
Frame 10 (inference): car (obj->unique_component_id = 2)
pgie class 0: “person”
sgie class 0: "hat
Frame 0 (inference): hat (obj->unique_component_id = 2)
Frame 1 (track): person (obj->unique_component_id = 1)
Frame 2 (track): person (obj->unique_component_id = 1)
Frame 3 (track): person (obj->unique_component_id = 1)
Frame 4 (track): person (obj->unique_component_id = 1)
Frame 5 (track): person (obj->unique_component_id = 1)
Frame 6 (track): person (obj->unique_component_id = 1)
Frame 7 (track): person (obj->unique_component_id = 1)
Frame 8 (track): person (obj->unique_component_id = 1)
Frame 9 (track): person (obj->unique_component_id = 1)
Frame 10 (inference): hat (obj->unique_component_id = 2)
Somehow, somewhere, for some reason a tracked object of sgie class 0 has it’s unique_component_id flipped from from a 2 to a 1. This only happens if the tracker is involved. If the tracker is taken out then it never happens.