https://github.com/artefactory/track-reid
This Git repository is dedicated to the development of a Python library aimed at correcting the results of tracking algorithms. The primary goal of this library is to reconcile and reassign lost or misidentified IDs, ensuring a consistent and accurate tracking of objects over time.
https://github.com/artefactory/track-reid
vision
Last synced: about 1 month ago
JSON representation
This Git repository is dedicated to the development of a Python library aimed at correcting the results of tracking algorithms. The primary goal of this library is to reconcile and reassign lost or misidentified IDs, ensuring a consistent and accurate tracking of objects over time.
- Host: GitHub
- URL: https://github.com/artefactory/track-reid
- Owner: artefactory
- Created: 2023-11-03T08:49:30.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-01-04T15:44:41.000Z (over 2 years ago)
- Last Synced: 2026-06-16T00:23:06.028Z (about 1 month ago)
- Topics: vision
- Language: Python
- Homepage: https://artefactory-fr.github.io/track-reid/
- Size: 814 KB
- Stars: 3
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
README
# track-reid
[](https://github.com/artefactory-fr/track-reid/actions/workflows/ci.yaml?query=branch%3Amain)
[]()
[](https://github.com/psf/black)
[](https://pycqa.github.io/isort/)
[](https://github.com/astral-sh/ruff)
[](https://github.com/artefactory-fr/track-reid/blob/main/.pre-commit-config.yaml)
This Git repository is dedicated to the development of a Python library aimed at correcting the results of tracking algorithms. The primary goal of this library is to reconcile and reassign lost or misidentified IDs, ensuring a consistent and accurate tracking of objects over time.
[See the detailed documentation of this project](https://artefactory-fr.github.io/track-reid/)
## trackreid + bytetrack VS bytetrack

Bytetrack x yolov8l x trackreid, 4 objects

Bytetrack x yolov8l, 42 objects
Demo with better quality can be found here
| Model | Time difference | Time per iteration |
| --- | --- | --- |
| yolo + bytetrack | -- | -- | -- |
| yolo + bytetrack + trackreid | +0.95% | +2e-6 s/it |
## Installation
To install the library, run the following command:
```bash
pip install git+https://github.com/artefactory-fr/track-reid.git@main
```
To install a specific version, run the following command:
```bash
pip install git+https://github.com/artefactory-fr/track-reid.git@x.y.z
```
## Usage
Suppose you have a list of frames, a model and a tracker. You can call the `ReidProcessor` update method on each outputs of your tracker as follow:
```python
for frame_id, image_filename in enumerate(available_frames):
img = cv2.imread(image_filename)
detections = model.predict(img)
tracked_objects = tracker.update(detections, frame_id)
corrected_tracked_objects = reid_processor.update(tracked_objects, frame_id)
```
At the end of the for loop, information about the correction can be retrieved using the `ReidProcessor` properties. For instance, the list of tracked object can be accessed using:
```python
reid_processor.seen_objects()
```
For a complete example you can refer to [examples/trackreid/starter_kit_reid.ipynb](/examples/trackreid/starter_kit_reid.ipynb)