VisionTrack — Real-Time Multi-Object Tracker & SDK
A real-time multi-object tracking engine built from first principles — Kalman filter, Hungarian assignment, and ByteTrack association — shipped as a published PyPI SDK.
VisionTrack is a real-time multi-object tracker written from first principles — no third-party tracking libraries — then packaged as a real SDK and a live demo site. It is published on PyPI as visiontrack-mot and runs in the browser at visiontrack.hulage.in.
The problem
Object detection tells you what is in a single frame. Tracking is the hard part: keeping a stable identity on each object as it moves, is occluded, and reappears — frame after frame, in real time. I wanted to build that machinery myself rather than import a black box, to actually understand the math.
How it works
- From first principles — an 8-state Kalman filter predicts each track’s next position, an O(n³) Hungarian solver optimally matches detections to tracks, and ByteTrack-style association recovers low-confidence detections that a naive tracker would drop.
- Lifecycle state machine — tracks are born, confirmed, coasted through misses, and retired on explicit rules, which is what keeps identities stable through occlusion.
- Built to ship — the per-frame hot path was profiled and tuned for ~1.5× throughput; the library has a stable public API, 344 automated tests, and CI across Python 3.10–3.12.
The demo
The core algorithm was ported to JavaScript so the site runs an on-device webcam tracker with nothing leaving your machine, alongside teaching, benchmark, and video-upload routes that make the internals legible to both engineers and non-technical visitors.