← all repositories
Smorodov/Multitarget-tracker

A C++ tracking Swiss Army knife that keeps adding blades

A multi-object tracker that plugs in whatever detector is trendy this year, from YOLOv26 to RF-DETR, then handles the messy assignment math for you.

2.4k stars C++ Computer VisionDomain Apps
Multitarget-tracker
Velocity · 7d
+0.5
★ / day
Trend
steady
star history

What it does Multitarget-tracker is a C++ pipeline that detects objects in video, matches detections to existing tracks via the Hungarian algorithm or LAPJV, and smooths trajectories with Kalman filters. It also falls back to visual trackers (KCF, CSRT, DaSiamRPN, etc.) when objects duck behind obstacles. The project ships with command-line examples and a library API you can embed.

The interesting bit The maintainers treat detector backends like browser tabs: constantly opening new ones. Recent additions include YOLOv26, RT-DETRv4, D-FINE, and ByteTrack MOT—plus TensorRT acceleration for a half-dozen models. Meanwhile they just purged “old style” detectors (Darknet YOLO, some VOT trackers, face/pedestrian specialists) in a big cleanup. It’s rare to see a project this aggressive about both adding and subtracting.

Key highlights

  • Three assignment algorithms: Hungarian O(N³), LAPJV O(M·N²), plus center/rect/IoU distance metrics
  • Kalman variants: linear and unscented, with constant velocity or acceleration models
  • Visual re-identification trackers: KCF, CSRT, DaSiamRPN, Vit, Nano
  • Processing modes from single-threaded to 4-thread fully async for slow deep detectors
  • Background subtraction options (VIBE, SuBSENSE, LOBSTER, MOG2, etc.) if you want classic CV
  • C++ library API: instantiate BaseTracker, set distance metric, feed frames

Caveats

  • The README is enthusiastic about “latest SOTA” but never quantifies speed or accuracy; you’ll need to benchmark your own hardware
  • Build requires multiple optional OpenCV contrib modules and TensorRT for GPU acceleration—CMake flag soup is involved
  • No Python bindings mentioned; this is strictly C++ territory

Verdict Worth a look if you’re building production tracking in C++ and want a modular base to swap detectors without rewriting the association logic. Skip it if you need a turnkey Python solution or rigorous performance baselines out of the box.

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