I'm developing a traffic flow analysis tool, but the model loses track of vehicles when they pass behind trees or other large trucks. I’m currently using SORT, but the ID switching is making my data unusable. Should I upgrade to DeepSORT or is there a newer ByteTrack approach that handles overlapping bounding boxes better?
3 answers
DeepSORT is a significant upgrade over SORT because it uses a Deep Association Metric to remember the "appearance" of the object, not just its velocity. However, ByteTrack has become the industry favorite recently because it doesn't just throw away low-score detections. Instead, it uses them to maintain tracks during partial occlusions. For your traffic project, I would recommend BoT-SORT (Bred of Two). It combines the motion modeling of Kalman filters with camera motion compensation, which is perfect for stabilizing tracks when vehicles are momentarily hidden.
Are the trees in your footage stationary? If the occlusion points are always in the same place, you could potentially implement a "zone-based" logic to bridge the gap between tracks.
You should also check your frame rate. If you are processing less than 15 FPS, the Kalman filter in SORT/DeepSORT will fail because the movement between frames is too large to predict.
Exactly! High FPS is the unsung hero of tracking. I always tell my team to optimize the detection speed first, because a faster model makes the tracking logic much simpler to maintain.
Steven, that's an interesting "heuristic" approach! While zone-based logic helps, it doesn't solve the truck-overlapping-car issue. Patricia, I just looked into ByteTrack—the idea of using low-confidence boxes for tracking is brilliant. It seems much more robust for high-density traffic where cars are constantly "peeking" out from behind larger vehicles.