← all repositories
adipandas/multi-object-tracker

Tracking objects without the PhD thesis

A Python wrapper that glues together classic tracking algorithms and OpenCV's built-in neural network detectors so you can stop cargo-culting code from five-year-old papers.

multi-object-tracker
Velocity · 7d
+0.2
★ / day
Trend
steady
star history

What it does

motrackers gives you four multi-object tracking algorithms—CentroidTracker, IOUTracker, CentroidKF_Tracker, and SORT—plus three OpenCV dnn-based detectors (YOLOv3, TF SSD-MobileNet, Caffe SSD-MobileNet). You feed it bounding boxes, it feeds back tracked IDs. The API is deliberately uniform: instantiate, call update() in your loop, get tuples of (frame, id, bbox..., confidence, x, y, z).

The interesting bit

The value isn’t novelty; it’s consolidation. The author notes their SORT and IOU Tracker implementations vary from the original papers, which is either honest or alarming depending on your deadline. The real win is skipping the ritual of downloading YOLO weights from a Dropbox link in a Medium article from 2018—shell scripts and a DOWNLOAD_WEIGHTS.md are provided.

Key highlights

  • Four trackers, three detectors, one pip install motrackers
  • Uniform interface: swap CentroidTracker for SORT without rewriting your loop
  • GPU support possible, but requires compiling OpenCV with CUDA from source (the README links to PyImageSearch, so you know it’s involved)
  • Examples folder with runnable code; outputs shown for cars (YOLO) and cows (SSD)
  • Zenodo DOI for the citation-minded

Caveats

  • Paper purists beware: implementations deviate from original SORT and IOU Tracker papers
  • No candidate images provided, so you’ll have to imagine the bounding boxes yourself

Verdict

Good for prototyping, student projects, or anyone who needs “good enough” tracking without wrestling with C++ build systems. Skip it if you need production-grade accuracy or strict paper fidelity—you’ll want the original repos and their attendant suffering.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.