This repository provides official ONNX versions of the SUTrack models. SUTrack is a powerful visual tracking framework. We have converted 5 different variants (Tiny, Base, Large) with different input resolutions to ONNX format for easier deployment across various platforms and inference engines (like TensorRT, OpenVINO, or ONNX Runtime).
The following table provides the ONNX model files, their configurations, and direct download links.
| Model File | Size | Search Size | Template Size | Download Link |
|---|---|---|---|---|
| sutrack_t224.onnx | 106 MB | 224 | 112 | Download |
| sutrack_b224.onnx | 340 MB | 224 | 112 | Download |
| sutrack_b384.onnx | 341 MB | 384 | 192 | Download |
| sutrack_l224.onnx | 1.18 GB | 224 | 112 | Download |
| sutrack_l384.onnx | 1.19 GB | 384 | 192 | Download |
Note: t stands for Tiny, b for Base, and l for Large variants.
video_track_onnx.py is a real-time object tracking inference script based on ONNX Runtime. It supports the SUTrack series (Tiny, Base, Large) and automatically adapts the Search Size and Template Size based on the provided model filename.
video_track_onnx.py is an ONNX-based visual servoing and stabilization script that performs real-time target centering and orientation. By leveraging SUTrack’s deep features, it dynamically calculates an Affine Transformation Matrix to compensate for camera motion, ensuring the tracked object remains at the geometric center of the frame with a temporally smoothed zoom to maintain a consistent visual scale.
Ensure your Python (>=3.8) environment has the following core dependencies installed:
pip install onnxruntime opencv-python numpy argparseRun the following command in your terminal to start tracking. Once the program launches, use your mouse to select the target in the first frame and press Enter to begin.
python video_track_onnx.py --model ./sutrack_l384.onnx --video ./data/test.mp4- Select Target (ROI): The program will pause on the first frame. Click and drag your left mouse button to draw a bounding box around the target.
- Confirm Selection: Press Enter or Space to confirm the ROI and start real-time tracking.
- Reset Selection: If you made a mistake, press C to cancel the current selection and re-draw.
- Exit Program: During tracking, press Q or ESC to close the window and exit.
- 框选目标 (ROI):程序启动后会暂停在第一帧。使用鼠标左键拖动框选目标。
- 确认选择:按下 回车 (Enter) 或 空格 (Space) 键确认,程序开始实时跟踪。
- 重新选择:如果框选错误,按下 C 键取消当前选择并重新框选。
- 退出程序:在跟踪过程中,按下 Q 键或 ESC 键可直接关闭窗口并退出。
- Original PyTorch Implementation: chenxin-dlut/SUTrack
- Original Pre-trained Weights: Hugging Face Checkpoints
We would like to express our gratitude to the authors of the SUTrack paper for their excellent work and for making their code and models available to the community:
Xin Chen, Ben Kang, Wanting Geng, Jiawen Zhu, Yi Liu, Dong Wang, and Huchuan Lu.
Special thanks to Xin Chen for the original research and implementation.