PyTorch SiamFC: training code, honest gaps and all
A PyTorch reimplementation of the classic SiamFC tracker that ships training code, a real-time visualizer, and an honest accounting of its ~4-pixel accuracy gap.

What it does
This is a PyTorch reimplementation of the SiamFC object tracker that focuses on training the fully-convolutional siamese network from scratch. It learns a similarity metric between a target patch and a search region, then locates the object by finding the peak in their embedding correlation map. The repo also bundles a real-time visualization app to inspect that similarity function frame-by-frame.
The interesting bit
Rather than stopping at inference, the project exposes the entire training pipeline and openly benchmarks itself against the original paper, noting it trails by roughly four pixels in center error. It also swaps the original MATLAB implementation’s fixed training pairs for fresh resampling every epoch, which the author claims helps suppress overfitting.
Key highlights
- Full PyTorch training pipeline for the classic SiamFC tracker, using the ImageNet VID dataset.
- Ships a pretrained baseline model (
BaselinePretrained.pth.tar) and logs validation metrics including AUC, center error, and binary cross-entropy. - Real-time PyQt5 visualization app that overlays the correlation map across entire frames without updating the reference embedding.
- Candid self-assessment: the author identifies missing bicubic upscaling and unbalanced loss normalization as likely causes of the accuracy gap.
- Training outputs include TensorBoard summaries, sample trios of reference/search/correlation maps, and reusable metadata to speed up new experiments.
Caveats
- The dedicated tracking module is marked
[Under Development]; the repo currently focuses on training and network inspection. - Center error trails the original paper by about 4 pixels, and the README itself is truncated mid-explanation in the visualization section, leaving some app details incomplete.
Verdict
Worth a look if you want a hackable, educational PyTorch baseline for siamese tracking with training code you can actually tweak. Look elsewhere if you need a polished, drop-in tracker with state-of-the-art accuracy.
Frequently asked
- What is rafellerc/Pytorch-SiamFC?
- A PyTorch reimplementation of the classic SiamFC tracker that ships training code, a real-time visualizer, and an honest accounting of its ~4-pixel accuracy gap.
- Is Pytorch-SiamFC open source?
- Yes — rafellerc/Pytorch-SiamFC is an open-source project tracked on heatdrop.
- What language is Pytorch-SiamFC written in?
- rafellerc/Pytorch-SiamFC is primarily written in Python.
- How popular is Pytorch-SiamFC?
- rafellerc/Pytorch-SiamFC has 637 stars on GitHub.
- Where can I find Pytorch-SiamFC?
- rafellerc/Pytorch-SiamFC is on GitHub at https://github.com/rafellerc/Pytorch-SiamFC.