Skip to content

BoT-SORT tracking, but code implements a custom IoU tracker (no KF/Hungarian/ReID/GMC) #2

@ArghyaChatterjee

Description

@ArghyaChatterjee

Hello,

Thanks for your work.

The README mentions BoT-SORT for multi-object tracking, but the current implementation appears to be a custom IoU-based tracker with heuristic scoring. I couldn’t find BoT-SORT components (Kalman filter, Hungarian/global assignment, two-stage association like ByteTrack, camera motion compensation, or ReID embeddings).

What I expected

  • A BoT-SORT style tracker: constant-velocity Kalman filter state prediction, global (Hungarian) association on an IoU/appearance distance matrix, two-stage association (high-score then low-score detections), optional ReID (e.g., FastReID) and camera motion compensation (global 2×3 warp).

What I observed

  • Greedy IoU matching (best IoU > threshold) per detection.
  • No Kalman filter prediction/update, no linear/Hungarian assignment.
  • No two-stage association using low-score detections.
  • No camera motion compensation (GMC) and no ReID feature extraction/fusion.
  • A heuristic track “score” that blends probability/temporal/border/size/texture factors to start/stop publishing tracks.

How to reproduce / verify

  1. Search the repo for symbols like BoTSORT, bot_sort, Kalman, Hungarian, linear_assignment, FastReID, or GMC — none appear.
  2. Inspect the tracker module: matching is greedy IoU, track state is updated without a motion model, and tracks are started/stopped via heuristic thresholds.

Why this matters
Calling the current implementation “BoT-SORT” may mislead users about expected robustness (occlusions, camera motion, crowded scenes). BoT-SORT’s motion model + global assignment + two-stage matching + (optional) ReID/GMC are key to its performance.

Suggestions (any of these would resolve the mismatch)

  • Doc fix: Update the README to describe the tracker as a “lightweight IoU-based tracker with heuristic scoring,” and note BoT-SORT as a planned enhancement.

  • Feature addition: Integrate a true BoT-SORT pipeline:

    • Per-track constant-velocity Kalman filter.
    • Hungarian assignment over an IoU/appearance distance matrix (with gating).
    • Two-stage association (high-score then low-score detections).
    • Optional ReID (e.g., FastReID) and GMC (ECC/optical-flow affine).
    • Duplicate-track suppression (keep longer-lived track when IoU is high).

If I’m missing the BoT-SORT path or a compile-time flag that enables it, happy to be corrected—please point me to the relevant files/params. Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions