Kalman Filter Based Multiple Object Tracker.
The ObjectTracker class can be initalised by a list of bounding boxes, the required format is commented in the object_tracker.py file.
The ObjectTracker class has two main methods, predict and update.
Returns a list of predicted bounding boxes for the tracked objects.
Args:
Returns:
preds: List of bounding box predictions
Update trackers according to ground truths (gts). Ground truths are assigned to trackers according to the assignment which maximises the total intersection over union score of the predictions and ground truth bounding boxes. This assignment is found with the Hungarian Algorithm.
Args:
gts: List of object ground truth bounding boxes
preds: List of predicted object bounding boxes
Returns:
-
Tracking ids sometimes swap if objects pass infront of one another.
-
Wrong assignment can occur when multiple objects leave/become occluded and enter/become unoccluded between updates.