[ByteTrack] add `minimum_consecutive_frames` to limit the number of falsely assigned tracker IDs
Description
Expand the ByteTrack API by adding the minimum_consecutive_frames argument.
It will specify how many consecutive frames an object must be detected to be assigned a tracker ID. This will help prevent the creation of accidental tracker IDs in cases of false detection or double detection. Until detection reaches minimum_consecutive_frames, it should be assigned -1.
API
class ByteTrack:
def __init__(
self,
track_activation_threshold: float = 0.25,
lost_track_buffer: int = 30,
minimum_matching_threshold: float = 0.8,
frame_rate: int = 30,
minimum_consecutive_frames: int = 1
):
pass
Additional
- Note: Please share a Google Colab with minimal code to test the new feature. We know it's additional work, but it will speed up the review process. The reviewer must test each change. Setting up a local environment to do this is time-consuming. Please ensure that Google Colab can be accessed without any issues (make it public). Thank you! 🙏🏻
Hi @SkalskiP,
I would be interested in working on this. I have a question about possible implementation, though. Would we want to keep the tracking algorithm the same and just change the tracker ID (meaning possibly returning multiple tracks with a track_id of -1), or should we change the algorithm to only return tracks that have valid tracker ID's?
Nvm, I think the best option is to only return tracks that have valid tracker ID's so we don't have to change how the annotators work.
Yup. Let's drop them for now.