-
Notifications
You must be signed in to change notification settings - Fork 265
Description
Is your feature request related to a problem? Please describe.
A setting like max_lost that governs when to delete a tracked object. I have an object detector that misses some faraway objects sometimes. With the current norfair tracker in place as configured as below
from norfair import Tracker
Tracker(distance_function = "euclidean",
distance_threshold = 40,
detection_threshold = 0.0,
hit_counter_max = 8,
initialization_delay = 0) #Start tracking it as soon as its detected
For the objects that are detected occasionally, the first time, hit_counter is set to 1. Then if in the 2nd frame, it isn't detected and the track is not updated, hit_counter becomes 0, in the 3rd frame 0 and gets deleted. But in the 4th frame, it gets detected but is assigned a different ID.
Describe the solution you'd like
Is it possible to have something like a lost and max_lost count in which lost increments everytime the track is not updated and is reset back to 0 when its updated. That way, there will be less ID changes for such scenarios.
Describe alternatives you've considered
The current hit_counter and hit_counter_max approach works when the detections are relatively robust and occasionally tracks are not updated. But not in this case.
Additional context
I remember seeing max_lost approach in SORT and maybe in some other trackers and feel it would be nice to have feature in norfair. Please let me know how you feel about implementing this feature.