This project is the implementation of paper PromptVT, including models, raw results, and testing codes(the training code will be uploaded after organizing).
❗ Ubuntu(Linux) is highly recommended, Windows has some weird installation problems and model inference problems.
❗ This is the CPU edition, no CUDA or GPU required.
PromptVT achieves SOTA performance on 8 benchmarks in lightweight trackers.
Create and activate a conda environment:
conda create -n PromptVT python=3.7
conda activate PromptVT
Install the required packages:
bash install_PromptVT.sh
${PromptVT_ROOT}
-- data
-- lasot
|-- airplane
|-- basketball
|-- bear
...
-- got10k
|-- test
|-- train
|-- val
-- OTB100
|-- Basketball
|-- Biker
...
-- trackingnet
|-- TRAIN_0
|-- TRAIN_1
...
|-- TRAIN_11
|-- TEST
-- uav123
|-- anno
|-- UAV123
|-- data_seq
|-- UAV123
-- Anti-UAV
|-- Test
|-- 20190925_111757_1_1
...
-- Anti-UAV-410
|-- Test
|-- 02_6319_1500-2999
...
Run the following command to set paths:
cd < PATH_of_PromptVT >
python tracking/create_default_local_file.py --workspace_dir . --data_dir ./data --save_dir .
You can also modify paths by these two files:
./lib/train/admin/local.py # paths for training
./lib/test/evaluation/local.py # paths for testing
If you want to use ONNX model, set ' use_onnx = True ' in ./lib/test/tracker/PromptVT.py
.
-
LaSOT
python tracking/test.py --tracker_name PromptVT --tracker_param baseline --dataset lasot python tracking/analysis_results.py # need to modify tracker configs and names
-
GOT10K-test
python tracking/test.py --tracker_name PromptVT --tracker_param baseline --dataset got10k_test python lib/test/utils/transform_got10k.py --tracker_name PromptVT --cfg_name baseline
Upload the results to the official GOT-10K evaluation server.
-
TrackingNet
python tracking/test.py --tracker_name PromptVT --tracker_param baseline --dataset trackingnet python lib/test/utils/transform_trackingnet.py --tracker_name PromptVT --cfg_name baseline
Upload the results to the official TrackingNet evaluation server.
-
UAV123
python tracking/test.py --tracker_name PromptVT --tracker_param baseline --dataset uav python tracking/analysis_results.py # need to modify tracker configs and names
-
AntiUAV
python tracking/test.py --tracker_name PromptVT --tracker_param baseline --dataset antiuav python tracking/analysis_results.py # need to modify tracker configs and names
The raw data is labeled in json format, which we converted to OTB-like-txt format to fit our tracking library. The converted file is located at
. /tracking/AntiUAVJSON2OTBTxt.py
. -
AntiUAV410
python tracking/test.py --tracker_name PromptVT --tracker_param baseline --dataset antiuav410 python tracking/analysis_results.py # need to modify tracker configs and names
The raw data is labeled in json format, which we converted to OTB-like-txt format to fit our tracking library. The converted file is located at
. /tracking/AntiUAVJSON2OTBTxt.py
. -
OTB100
python tracking/test.py --tracker_name PromptVT --tracker_param baseline --dataset otb python tracking/analysis_results.py # need to modify tracker configs and names
-
VOT2020
modify the path sets in./external/vot20/trackers.ini
,./lib/test/vot20/PromptVT.py
, and./lib/test/vot20/PromptVT_vot20.py
.cd external/vot20/PromptVT bash exp.sh
modify the ' yaml_fname ' in ./tracking/profile_model.py
.
python tracking/profile_model.py
place the tracking/Calculate_FPS.py
in the tracking results folder and run it.
The trained models and the raw tracking results are provided in the model zoo.
put PyTorch model and ONNX model in ./checkpoints/PromptVT/baseline/
.
We also provide model conversion scripts./tracking/****_onnx.py
.
Thanks for the PyTracking and STARK for helping us quickly implement our ideas.
If you have any question, feel free to email [email protected]. ^_^