Home

Awesome

SLTtrack

Official implementation of the ECCV 2022 paper Towards Sequence-Level Training for Visual Tracking
Minji Kim*, Seungkwan Lee*, Jungseul Ok, Bohyung Han, Minsu Cho (* denotes equal contribution)

[Paper] [Models] [Raw Results]

SLT_Framework

Introduction

:exclamation: Problem: training-testing inconsistency in recent trackers

FLT_Pitfall Pitfall of frame-level training for visual tracking:
Training a tracker to better localize a target in each of individual frames of (a) does not necessarily improve actual tracking in the sequence of (b). Due to this issue, inconsistency between the validation loss and the validation performance is often observed during training as shown in (c). <br/>

:sparkles: Solution: Sequence-Level Training (SLT)

SLT_Highlight Based on a reinforcement learning framework, SLT trains a model by actually tracking on a video and directly optimizing a tracking performance metric. Our sequence-level design of data sampling, learning objective, data augmentation boosts the generalization performance for visual tracking. <br/>

:sparkles: Result: improvements on four baselines without modifying model architectures

Tracker (Base → Ours)LaSOT (AUC)TrackingNet (AUC)GOT-10K (AO)
SiamRPN++ → SLT-SiamRPN++51.0 → 58.4 (+7.4)68.2 → 75.8 (+7.6)49.5 → 62.1 (+12.6)
SiamAttn → SLT-SiamAttn54.8 → 57.4 (+2.6)74.3 → 76.9 (+2.6)53.4 → 62.5 (+9.1)
TrDiMP → SLT-TrDiMP63.3 → 64.4 (+1.1)78.1 → 78.1 (+0.0)67.1 → 67.5 (+0.4)
TransT → SLT-TransT64.2 → 66.8 (+2.6)81.1 → 82.8 (+1.7)66.2 → 67.5 (+1.3)
<br/>

Getting Started

Installation

We tested the codes in the following environments but other versions may also be compatible.

# Create and activate a conda environment
conda create -y --name slt python=3.9
conda activate slt

# Install PyTorch
conda install pytorch==1.10.1 torchvision==0.11.2 cudatoolkit=11.3 -c pytorch -c conda-forge

# Install requirements
pip install -r requirements.txt
sudo apt-get install libturbojpeg

# Build pycocotools
cd ${SLTtrack_ROOT}/pysot_toolkit
python setup.py build_ext --inplace

# Build library for deformable convolution/pooling
cd ${SLTtrack_ROOT}/pysot_toolkit/pysot/models/head/dcn
python setup.py build_ext --inplace

Training & Testing

Models and Raw Results

Models and raw tracking results are provided in [Models] [Raw Results].

Citation

If you find SLT useful in your research, please consider citing our paper:

@inproceedings{SLTtrack,
  title={Towards Sequence-Level Training for Visual Tracking},
  author={Kim, Minji and Lee, Seungkwan and Ok, Jungseul and Han, Bohyung and Cho, Minsu},
  booktitle={ECCV},
  year={2022}
}

Acknowledgments

SLTtrack is developed upon PyTracking library and PySOT library, also borrowing from TransT, TrDiMP, SiamAttn. We would like to thank the authors for providing great frameworks and toolkits.

Contact

Minji Kim: minji@snu.ac.kr
Seungkwan Lee: seungkwan@postech.ac.kr