Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Introduction

Trackforge is a unified, high-performance multi-object tracking library written in Rust and exposed to Python via PyO3. It implements seven production-ready tracking algorithms on top of a shared Kalman filter, so you can swap trackers without changing your integration code.

It is designed as the CPU “glue” between a GPU object detector and your application: you pass in detection boxes each frame and get back stable track identities.

Trackers at a glance

TrackerAppearanceMatchingBest for
SORTNoneIoUSimple scenes, maximum speed
ByteTrackNoneIoU (two-stage)Crowded scenes, low-confidence detections
OC-SORTNoneIoU + velocity (OCM)Frequent brief occlusions, no Re-ID available
DeepSORTRe-ID embeddingsAppearance + IoULong occlusions, identity-sensitive use cases
Deep OC-SORTRe-ID embeddingsIoU + velocity + appearanceOcclusions where Re-ID helps recover identities
BoT-SORTRe-ID embeddingsIoU + appearance + camera motionMoving cameras, panning and zoom
TrackTrackRe-ID embeddingsTrack-perspective associationCrowded scenes needing strong identity

Every tracker accepts the same detection tuple, ([x, y, w, h], score, class_id), and ships for both Python and Rust.

This book is a narrative guide. For the full API surface, see the Rust API on docs.rs and the Python API reference.