Tracker changing final infer class ID

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.