Home

Awesome

ROMTrack

The official implementation of the ICCV 2023 paper Robust Object Modeling for Visual Tracking

[CVF Open Access] [Poster] [Video]

<p align="center"> <img width="100%" src="asset/ROMTrack_Framework.png" alt="ROMTrack_Pipeline"/> </p>

[Models and Raw Results] (Google Drive) [Models and Raw Results] (Baidu Netdisk: romt)

Base Models

VariantROMTrackROMTrack-384
Model SettingViT-BaseViT-Base
Pretrained MethodMAEMAE
Pretrained WeightMAE checkpointMAE checkpoint
Template / Search128×128 / 256×256192×192 / 384×384
GOT-10k <br> (AO / SR 0.5 / SR 0.75)72.9 / 82.9 / 70.274.2 / 84.3 / 72.4
LaSOT <br> (AUC / Norm P / P)69.3 / 78.8 / 75.671.4 / 81.4 / 78.2
TrackingNet <br> (AUC / Norm P / P)83.6 / 88.4 / 82.784.1 / 89.0 / 83.7
LaSOT_ext <br> (AUC / Norm P / P)48.9 / 59.3 / 55.051.3 / 62.4 / 58.6
TNL2K <br> (AUC / Norm P / P)56.9 / 73.7 / 58.158.0 / 75.0 / 59.6
NFS / OTB / UAV <br> (AUC)68.0 / 71.4 / 69.768.8 / 70.9 / 70.5
VOT2020 BBox <br> (EAO / A / R)0.326 / 0.480 / 0.8160.329 / 0.483 / 0.822
GPU FPS / MACs(G) / Params(M)116 / 34.5 / 92.167 / 77.7 / 92.1
CPU FPS9.93.0

Extended Models (Efficiency-Oriented)

VariantROMTrack-Tiny-256ROMTrack-Small-256
Model SettingViT-TinyViT-Small
Pretrained MethodSupervised on ImageNet-22kSupervised on ImageNet-22k
Pretrained WeightTimm checkpointTimm checkpoint
Template / Search128×128 / 256×256128×128 / 256×256
LaSOT <br> (AUC / Norm P / P)59.3 / 68.8 / 60.462.3 / 72.3 / 65.3
TrackingNet <br> (AUC / Norm P / P)75.8 / 81.7 / 71.578.5 / 84.3 / 75.3
LaSOT_ext <br> (AUC / Norm P / P)40.4 / 49.7 / 43.143.2 / 52.9 / 47.1
TNL2K <br> (AUC / Norm P / P)48.6 / 64.4 / 45.552.0 / 68.7 / 50.5
NFS / OTB / UAV <br> (AUC)62.5 / 68.5 / 62.965.3 / 68.9 / 66.4
VOT2020 BBox <br> (EAO / A / R)0.265 / 0.459 / 0.7040.297 / 0.477 / 0.764
GPU FPS / MACs(G) / Params(M)466 / 2.7 / 8.0236 / 9.3 / 25.4
CPU FPS36.617.2

Extended Models (Performance-Oriented)

VariantROMTrack-Large-384
Model SettingViT-Large
Pretrained MethodMAE
Pretrained WeightMAE checkpoint
Template / Search192×192 / 384×384
LaSOT <br> (AUC / Norm P / P)72.0 / 81.7 / 79.1
TrackingNet <br> (AUC / Norm P / P)85.2 / 89.8 / 85.4
LaSOT_ext <br> (AUC / Norm P / P)52.9 / 64.3 / 60.9
TNL2K <br> (AUC / Norm P / P)60.4 / 77.7 / 63.9
NFS / OTB / UAV <br> (AUC)69.2 / 71.0 / 71.5
VOT2020 BBox <br> (EAO / A / R)0.338 / 0.492 / 0.820
GPU FPS / MACs(G) / Params(M)21 / 266.5 / 311.3
CPU FPS1.1

:newspaper: News

[May 2, 2024]

[April 18, 2024]

[April 17, 2024]

[March 25, 2024]

[March 21, 2024]

[October 18, 2023]

[September 21, 2023]

[August 6, 2023]

[July 14, 2023]

:calendar: TODO

:star: Highlights

:rocket: New Tracking Framework pursing Robustness

<p align="center"> <img width="60%" src="asset/Robust_Modeling.png" alt="Robust_Modeling"/> </p>

:rocket: Strong Performance and Comparable Speed

:book: Install the environment

Use the Anaconda

conda create -n romtrack python=3.8
conda activate romtrack
bash install_pytorch.sh

:book: Data Preparation

Put the tracking datasets in ./data. It should look like:

${ROMTrack_ROOT}
 -- data
     -- lasot
         |-- airplane
         |-- basketball
         |-- bear
         ...
     -- lasot_ext
         |-- atv
         |-- badminton
         |-- cosplay
         ...
     -- got10k
         |-- test
         |-- train
         |-- val
     -- coco
         |-- annotations
         |-- train2017
     -- trackingnet
         |-- TRAIN_0
         |-- TRAIN_1
         ...
         |-- TRAIN_11
         |-- TEST

:book: Set project paths

Run the following command to set paths for this project

python tracking/create_default_local_file.py --workspace_dir . --data_dir ./data --save_dir .

After running this command, you can also modify paths by editing these two files

lib/train/admin/local.py  # paths about training
lib/test/evaluation/local.py  # paths about testing

:book: Train ROMTrack

Training with multiple GPUs using DDP. More details of other training settings can be found at tracking/train_romtrack.sh

bash tracking/train_romtrack.sh

:book: Test and evaluate ROMTrack on benchmarks

bash tracking/test_romtrack.sh
### Evaluate ROMTrack-Large-384 with AlphaRefine
vot evaluate --workspace ./external/vot2020/ROMTrack_large_384 ROMTrack_large_384_AR
vot analysis --nocache --workspace ./external/vot2020/ROMTrack_large_384 ROMTrack_large_384_AR

### Evaluate ROMTrack-Large-384 without AlphaRefine
vot evaluate --workspace ./external/vot2020/ROMTrack_large_384 ROMTrack_large_384
vot analysis --nocache --workspace ./external/vot2020/ROMTrack_large_384 ROMTrack_large_384

:book: Compute FLOPs/Params and test speed

bash tracking/profile_romtrack.sh

:book: Visualization

We provide attention maps and feature maps for several sequences on LaSOT. Detailed analysis can be found in our paper.

<p align="center"> <img width="80%" src="asset/Visualization.png" alt="Visualization"/> </p>

:bookmark: Acknowledgments

:pencil: Citation

If our work is useful for your research, please feel free to star :star: and cite our paper:

@InProceedings{Cai_2023_ICCV,
    author    = {Cai, Yidong and Liu, Jie and Tang, Jie and Wu, Gangshan},
    title     = {Robust Object Modeling for Visual Tracking},
    booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
    month     = {October},
    year      = {2023},
    pages     = {9589-9600}
}