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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions