Skip to main content
Pre-release

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

edgefirst-tracker

ByteTrack multi-object tracking. Installs alone — it does not require the tensor, image, or decoder wheels.

PyPI License

Part of the EdgeFirst HAL

edgefirst-tracker is one of five Python packages built from the EdgeFirst Hardware Abstraction Layer.

The EdgeFirstAI/hal repository is the home for all of them — source, issue tracker, architecture documentation and release notes.

Package Provides
edgefirst-tensor Zero-copy tensor allocation and host/GPU/CUDA mapping
edgefirst-codec JPEG and PNG decoding directly into pre-allocated tensors
edgefirst-image GPU-accelerated colour conversion, resize, letterbox, tiling and drawing
edgefirst-decoder YOLO and ModelPack output decoding
edgefirst-tracker ByteTrack (this package)

Installation

pip install edgefirst-tracker

Requires Python 3.8 or newer and NumPy. Wheels are published for Linux (x86_64, aarch64), macOS (arm64), and Windows (x86_64). This package does not depend on edgefirst-tensor.

Packages install under the PEP 420 edgefirst.* namespace, so the import is edgefirst.tracker.

Quick start

ByteTrack.update takes detections for one timestamp and returns a list of TrackInfo (or None for unmatched rows) of the same length as the input:

import numpy as np
from edgefirst.tracker import ByteTrack

tracker = ByteTrack()

# boxes is (N, 4) XYXY; scores and labels are length N.
boxes = np.array([[0.1, 0.2, 0.3, 0.4]], dtype=np.float32)
scores = np.array([0.9], dtype=np.float32)
labels = np.array([0], dtype=np.intp)
timestamp_ns = 0

tracks = tracker.update(boxes, scores, labels, timestamp_ns)
for t in tracks:
    if t is None:
        continue
    print(t.uuid, t.tracked_location, t.count)

Decoder.decode_tracked on the edgefirst-decoder wheel accepts this ByteTrack (or any object with an update method).

Parameters

Argument Default Meaning
high_conf 0.7 Detections above this score take the first association pass
iou 0.25 IoU gate for matching a detection to a track
update 0.25 Kalman update blending factor
lifespan_ns 500_000_000 Drop a track that has not matched for this many nanoseconds (500 ms)

Errors

update raises if boxes, scores, and labels disagree on N, or if boxes is not shape (N, 4). Empty detections (N == 0) are valid — unmatched tracks age and expire according to lifespan_ns.

Performance

Association is CPU-only (Kalman + IoU). Typical cost is microseconds per frame at tens of detections; it does not allocate GPU tensors and does not link libedgefirst_tensor. Build the tracker once and call update every frame.

Versioning and changelog

All five edgefirst-* packages are versioned and released together with the HAL itself. Release notes live in the single CHANGELOG.md.

Links

License

Apache-2.0

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

edgefirst_tracker-0.29.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (403.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

File details

Details for the file edgefirst_tracker-0.29.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for edgefirst_tracker-0.29.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3d067c876bb16900c72e01554ee40bb8409d06de15fadbd7e47588b7c2eef35c
MD5 ac151996e8fb8b1265c17ba3623e9213
BLAKE2b-256 b5a99d51b94a031712d61003465f7f76dd32f0f4e431bc6f0d6ac02fdf40da0a

See more details on using hashes here.

Release history Release notifications | RSS feed

0.30.0

9 files

0.29.4

9 files

0.29.3

9 files

This release

0.29.0rc1 This release

1 file

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