Package for multi-object tracking using advanced algorithms and models.
Project description
Sinapsis Trackers
Mono repo with modular packages for multi-object tracking using advanced algorithms.
🐍 Installation • 📦 Packages • 🌐 Webapps • 📙 Documentation • 🔍 License
🐍 Installation
This mono repo consists of modular packages for implementing and visualizing multi-object tracking using various tracking algorithms and models:
sinapsis-cotrackersinapsis-supervision
Install using your package manager of choice. We encourage the use of uv
sinapsis-cotracker
[!WARNING]
cotrackerdependency is required to installsinapsis-cotracker
UV instructions
Install cotracker in your working environment as follows:
uv pip install git+https://github.com/facebookresearch/co-tracker.git
then install sinapsis-cotracker
uv pip install sinapsis-cotracker --extra-index-url https://pypi.sinapsis.tech
Raw pip instructions
Install cotracker in your working environment as follows:
pip install git+https://github.com/facebookresearch/co-tracker.git
then install sinapsis-cotracker
pip install sinapsis-cotracker --extra-index-url https://pypi.sinapsis.tech
sinapsis-supervision
UV instructions
Install sinapsis-supervision
uv pip install sinapsis-supervision --extra-index-url https://pypi.sinapsis.tech
Raw pip instructions
Install sinapsis-supervision
pip install sinapsis-supervision --extra-index-url https://pypi.sinapsis.tech
(Optional) Install packages with all additional dependencies
[!IMPORTANT] Templates in each package may require extra dependencies. For development, we recommend installing the package with all the optional dependencies:
uv pip install sinapsis-cotracker[all] --extra-index-url https://pypi.sinapsis.tech
uv pip install sinapsis-supervision[all] --extra-index-url https://pypi.sinapsis.tech
or with raw pip:
pip install sinapsis-cotracker[all] --extra-index-url https://pypi.sinapsis.tech
pip install sinapsis-supervision[all] --extra-index-url https://pypi.sinapsis.tech
[!TIP] You can also install all the packages within this project:
uv pip install sinapsis-tracker[all] --extra-index-url https://pypi.sinapsis.tech
📦 Packages
This repository is organized into modular packages, each designed for specific integration with different tracking models, including CoTracker and ByteTrack. These packages provide ready-to-use templates for applications like object tracking, multi-object tracking, and result visualization in real-time or offline.
Below is an overview of the available packages:
Sinapsis Cotrackers
This sinapsis package provides a robust implementation for multi-object tracking with the Facebook Research's Co-Tracker model. It includes:
- Templates for multi-object tracking using Co-Tracker, offering flexible offline, online, and visualization modes.
- Efficient processing and visualization of tracking results directly on video frames for clear output.
- Tools for handling dynamic tracking across frames, including padding, line width, and trace settings.
For specific instructions and further details, see the README.md.
Sinapsis Supervision
This Sinapsis package provides a comprehensive solution for object tracking with the ByteTrack algorithm. It includes:
- A template for object tracking using ByteTrack, designed to handle real-time multi-object tracking in videos.
- Detection processing and updates with configurable parameters for track activation, matching, and occlusion handling, improving accuracy and stability.
For more details, see the README.md.
For more details, see the official documentation
🌐 Webapps
The webapps included in this project showcase the modularity of the templates, in this case for multi-object tracking and visualization tasks.[!IMPORTANT] To run the app, you first need to clone this repo:
git clone git@github.com:Sinapsis-ai/sinapsis-trackers.git
cd sinapsis-trackers
[!NOTE] If you'd like to enable external app sharing in Gradio,
export GRADIO_SHARE_APP=True
[!NOTE] Agent configuration can be updated through the
AGENT_CONFIG_PATHenvironment var. You can check the available configurations in each package configs folder.
🐳 Docker
IMPORTANT: This Docker image depends on the sinapsis-nvidia:base image. For detailed instructions, please refer to the Sinapsis README.
- Build the sinapsis-trackers image:
docker compose -f docker/compose.yaml build
- Start the container:
For sinapsis-cotracker
docker compose -f docker/compose_tracker.yaml up sinapsis-cotracker-gradio -d
For sinapsis-supervision with default bytetrack-ultralytics demo
docker compose -f docker/compose_tracker.yaml up sinapsis-supervision-gradio -d
For sinapsis-supervision with bytetrack-dfine demo
export DFINE_CONFIG_DOWNLOAD=True
export AGENT_CONFIG_PATH=/app/sinapsis_supervision/configs/bytetrack_dfine_demo.yml
docker compose -f docker/compose_tracker.yaml up sinapsis-supervision-gradio -d
- Check the status:
For sinapsis-cotracker
docker logs -f sinapsis-cotracker-gradio
For sinapsis-supervision
docker logs -f sinapsis-supervision-gradio
- The logs will display the URL to access the webapp, e.g.,:
Running on local URL: http://127.0.0.1:7860
NOTE: The local URL can be different, please check the logs
- To stop the app:
docker compose -f docker/compose_tracker.yaml down
📦 UV
To run the webapp using theuv package manager, please:
- Create the virtual environment and sync the dependencies:
uv sync --frozen --extra cotracker
- Install the sinapsis-trackers package:
uv pip install sinapsis-trackers[all] --extra-index-url https://pypi.sinapsis.tech
- Run the webapp:
For demo running default cotracker-online agent config.
uv run webapps/tracking_demo.py
For demo running bytrack-ultralytics agent config.
export AGENT_CONFIG_PATH="packages/sinapsis_supervision/src/sinapsis_supervision/configs/bytetrack_ultralytics_demo.yml"
uv run webapps/tracking_demo.py
For demo running bytrack-dfine agent config.
export DFINE_CONFIG_DOWNLOAD=True
export AGENT_CONFIG_PATH="packages/sinapsis_supervision/src/sinapsis_supervision/configs/bytetrack_dfine_demo.yml"
uv run webapps/tracking_demo.py
- The terminal will display the URL to access the webapp, e.g.:
Running on local URL: http://127.0.0.1:7860
NOTE: The local URL can be different, please check the output of the terminal.
📙 Documentation
Documentation is available on the sinapsis website
Tutorials for different projects within sinapsis are available at sinapsis tutorials page
🔍 License
This project is licensed under the AGPLv3 license, which encourages open collaboration and sharing. For more details, please refer to the LICENSE file.
For commercial use, please refer to our official Sinapsis website for information on obtaining a commercial license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sinapsis_trackers-0.1.1.tar.gz.
File metadata
- Download URL: sinapsis_trackers-0.1.1.tar.gz
- Upload date:
- Size: 51.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7f06ffae97df19f6dacf57dd67dfae43382ac51c6507e1523c1c2f25536dc3de
|
|
| MD5 |
0b2b03bdf0dfb7fa5acb1aa277194819
|
|
| BLAKE2b-256 |
637274165c80d2ac506c7c8e4a6ed54321b2b148aae581797976b8cf4d8c5d62
|
File details
Details for the file sinapsis_trackers-0.1.1-py3-none-any.whl.
File metadata
- Download URL: sinapsis_trackers-0.1.1-py3-none-any.whl
- Upload date:
- Size: 29.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a8022739d2fa721376d45c1815e8c64d3819dc2b4e3ac00518fb8b3a35522f73
|
|
| MD5 |
8fc934b680d7826eb5cb1066f8ce8c9d
|
|
| BLAKE2b-256 |
200db63dd72931c0312b671f69e64b5697085b513d0490728a6f605be5b4b0ba
|