Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

tracktors logo

tracktors

Trackers, after the coordinates discovered tensors.

license

Tracktors is Roboflow's private, tensor-native fork of Trackers, scoped to the four tracker paths used by Inference: SORT, ByteTrack, OC-SORT, and BoT-SORT. It consumes SuperiorVision's tensor-native supervision.Detections without making the boxes take a ceremonial trip through NumPy first.

Both from tracktors import ... and the legacy from trackers import ... interface are supported while Inference migrates. Same API, same algorithms, fewer surprise CPU field trips.

Turning a GPU tensor into NumPy so a Kalman filter can immediately rebuild the same numbers somewhere else is not object tracking. It is luggage handling. Tracktors is retiring the carousel.

Why Tracktors?

  • Clean-room implementations. Every algorithm is re-implemented from the original paper — not a thin wrapper around someone else's code. You can read it, understand it, and modify it.
  • Detector-agnostic. Works with YOLO, DETR, RT-DETR, or any model that produces bounding boxes. No inference library required or assumed.
  • SuperiorVision tensor native. Pass tensor-backed sv.Detections in and get tensor-backed tracked detections back on the same device—zero glue code and zero NumPy exit tax.
  • Benchmarked across four datasets. MOT17, SportsMOT, SoccerNet, and DanceTrack — at default parameters and after hyperparameter tuning, so you know what to expect before you deploy.
  • Tunable out of the box. Built-in Optuna-based hyperparameter search via tracktors tune (or the compatible trackers tune) so you can optimize for your specific scene and detector.
  • Camera motion compensation. BoT-SORT handles moving cameras natively, keeping track IDs stable even when the whole frame shifts.

Install

pip install tracktors
Install from source
git clone git@github.com:roboflow/tracktors.git
cd tracktors
uv sync

The package is published on PyPI; the source repository remains private.

Watch: Building Real-Time Multi-Object Tracking with RF-DETR and Trackers

Quick Start

Add tracking to your existing detection pipeline in a few lines. Every tracker shares the same update(detections, frame=None) interface, so switching algorithms later is a one-line change. The example below uses inference as the detector — swap it for any detector that returns supervision.Detections.

import cv2
import supervision as sv
from inference import get_model
from tracktors import ByteTrackTracker

model = get_model(model_id="rfdetr-medium")
tracker = ByteTrackTracker()

cap = cv2.VideoCapture("video.mp4")
while cap.isOpened():
    ret, frame = cap.read()
    if not ret:
        break

    result = model.infer(frame)[0]
    detections = sv.Detections.from_inference(result)
    tracked = tracker.update(detections)

For more examples, see the tracking guide.

Track from CLI

Prefer the terminal? Point tracktors track at a video, webcam feed, RTSP stream, or image directory and it handles detection, tracking, and annotated output in one command — no Python script required.

tracktors track \
    --source video.mp4 \
    --output output.mp4 \
    --model rfdetr-medium \
    --tracker bytetrack \
    --show-labels \
    --show-trajectories

For all CLI options, see the tracking guide.

Algorithms

Each tracker below is a faithful implementation of its original paper. Pick the one that fits your scene, or run the benchmark to find out which performs best on your data.

Algorithm Description MOT17 HOTA SportsMOT HOTA SoccerNet HOTA DanceTrack HOTA
SORT Kalman filter + Hungarian matching baseline. 58.4 70.9 81.6 47.2
ByteTrack Two-stage association using high and low confidence detections. 60.1 73.0 84.0 53.3
OC-SORT Observation-centric recovery for lost tracks. 61.9 71.7 78.4 54.1
BoT-SORT Camera motion compensation 63.7 73.8 84.5 57.8
C-BIoU Cascaded buffered IoU matching for fast or irregular motion. 63.0 73.1 82.6 56.7

All scores use default parameters on the standard split. See the tracker comparison for tuned numbers and methodology.

trackers also ships McByte, a mask-conditioned tracker that extends BoT-SORT-style association with temporally propagated SAM/Cutie segmentation masks as an extra matching cue. It requires optional heavyweight dependencies (torch, SAM, Cutie) not installed by default — see the McByte docs for setup and benchmark numbers.

Evaluate

Once you have tracking results, you want to know how good they are. trackers eval computes CLEAR, HOTA, and Identity metrics against ground-truth annotations and prints a per-sequence breakdown alongside the combined score.

tracktors eval \
    --gt-dir ./data/mot17/val \
    --tracker-dir results \
    --metrics CLEAR HOTA Identity \
    --columns MOTA HOTA IDF1
Sequence                        MOTA    HOTA    IDF1
----------------------------------------------------
MOT17-02-FRCNN                30.192  35.475  38.515
MOT17-04-FRCNN                48.912  55.096  61.854
MOT17-05-FRCNN                52.755  45.515  55.705
MOT17-09-FRCNN                51.441  50.108  57.038
MOT17-10-FRCNN                51.832  49.648  55.797
MOT17-11-FRCNN                55.501  49.401  55.061
MOT17-13-FRCNN                60.488  58.651  69.884
----------------------------------------------------
COMBINED                      47.406  50.355  56.600

For the full evaluation workflow, see the evaluation guide.

Download Datasets

Need benchmark data to evaluate against? trackers download pulls MOT17, SportsMOT, and other supported datasets with a single command, handling splits and assets selectively so you only download what you need.

tracktors download mot17 \
    --split val \
    --asset annotations,detections
Dataset Description Splits Assets License
mot17 Pedestrian tracking with crowded scenes and frequent occlusions. train, val, test frames, annotations, detections CC BY-NC-SA 3.0
sportsmot Sports broadcast tracking with fast motion and similar-looking targets. train, val, test frames, annotations CC BY 4.0

For more download options, see the download guide.

Try It

Want to see it in action before writing any code? Try trackers in your browser with our Hugging Face Playground — no install required.

Where to go next

Contributing

We welcome contributions. Read our contributor guidelines to get started.

License

The code is released under the Apache 2.0 license.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tracktors-2.6.0.dev3.tar.gz (248.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tracktors-2.6.0.dev3-py3-none-any.whl (286.5 kB view details)

Uploaded Python 3

File details

Details for the file tracktors-2.6.0.dev3.tar.gz.

File metadata

  • Download URL: tracktors-2.6.0.dev3.tar.gz
  • Upload date:
  • Size: 248.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for tracktors-2.6.0.dev3.tar.gz
Algorithm Hash digest
SHA256 93a144d0a379078d9f123223eb6b7f705fdab18d1387352d56473cf33fedd8a1
MD5 68a9158dcb8a0ba390fdea88b8b9b792
BLAKE2b-256 3009a2106bba665793ac40d422a5423125b02824172f5e6886bec232c6986d1e

See more details on using hashes here.

File details

Details for the file tracktors-2.6.0.dev3-py3-none-any.whl.

File metadata

  • Download URL: tracktors-2.6.0.dev3-py3-none-any.whl
  • Upload date:
  • Size: 286.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for tracktors-2.6.0.dev3-py3-none-any.whl
Algorithm Hash digest
SHA256 c3944601c89cdf1f8a027b2d46f365af57ed1f7879be0470a3117a3234616606
MD5 586f84639084803dc218207d629c6fff
BLAKE2b-256 5fec748f58d854c51125ca602fedfc4fefeb658072b343b970a1feda15bfaa0b

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2.6.0.dev3 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page