A Siamese network-based single object tracking framework modified from PySOT. This project provides a flexible and efficient visual object tracking implementation that supports various backbone networks and tracking strategies.
- Siamese network-based single object tracking framework
- Support for multiple backbone networks (ResNet, AlexNet, MobileNetV2, etc.)
- Complete training, testing, and evaluation tools
- Visualization demos and CAM (Class Activation Mapping) analysis tools
- Easily extensible modular design
- Python 3.6+
- PyTorch 1.0+
- CUDA 9.0+ (recommended for GPU acceleration)
- Other dependencies (see installation instructions)
- Clone the repository
git clone https://github.com/yourusername/siamtrack.git
cd siamtrack- Create and activate a virtual environment (optional but recommended)
conda create -n siamtrack python=3.7
conda activate siamtrack- Install dependencies
pip install -r requirements.txtsiamtrack/
├── siamese/ # Core tracking framework
│ ├── core/ # Configuration and core functionality
│ ├── datasets/ # Dataset interfaces
│ ├── models/ # Network model definitions
│ │ ├── backbone/ # Backbone networks (ResNet, AlexNet, etc.)
│ │ ├── head/ # Network heads
│ │ └── neck/ # Network necks
│ ├── tracker/ # Tracker implementations
│ └── utils/ # Utility functions
├── toolkit/ # Evaluation toolkit
├── tools/ # Training and testing tools
│ ├── train.py # Training script
│ ├── test.py # Testing script
│ ├── eval.py # Evaluation script
│ └── demo.py # Demo script
├── demo/ # Demo videos
├── experiments/ # Experiment configurations
├── pretrained_models/ # Pretrained models
└── CAM/ # Class Activation Mapping analysis
Start training with the following command:
cd tools
python train.py --config ../experiments/config.yamlEvaluate the model on test datasets:
cd tools
python test.py --config ../experiments/config.yaml --snapshot model.pthRun a video object tracking demo using a pretrained model:
cd tools
python demo.py --config ../experiments/config.yaml --snapshot model.pth --video_name demo/video.mp4- Backbone Networks:
- ResNet (18, 34, 50)
- AlexNet
- MobileNetV2
If you use this project in your research, please consider citing:
@inproceedings{your-reference,
title={Your Paper Title},
author={Your Name},
booktitle={Conference},
year={Year}
}
This project is licensed under the Apache License 2.0. See the LICENSE file for details.
This project is modified based on PySOT. We thank the original authors for their contributions.