This repository presents a benchmark study focused on the robustness of UAV tracking methods against various common corruptions. Paper link
-
Download Datasets:
- Obtain the DTB70 and UAV123_10fps datasets, which serve as clean foundation for applying corruption.
-
Dataset Setup:
- Place the downloaded datasets, it's recommended to organize in a structured manner, such as:
/data/DTB70 /data/UAV123_10fps
- Place the downloaded datasets, it's recommended to organize in a structured manner, such as:
- This project is tested with python 3.6+
- Install the required Python packages:
If requirements.txt is not provided, manually install the libraries using:
pip install -r requirements.txt
pip install numpy torch matplotlib PIL imageio opencv-python imgaug scipy
- For ImageNet-C corruptions, follow the additional setup instructions provided in ImageNet-C.
- Run Depth Map Generator:
- Execute the depth map generation script provided in the
runs/
directory. Adjust the script's parameters if necessary to point to your dataset locations. - Command for generate depth map for DTB70:
python main.py --phase 'depth_estimation' --seq_dir '/yourpath/DTB70'
- Command for generate depth map for UAV123_10fps:
python main.py --phase 'depth_estimation' --seq_dir '/yourpath/UAV123_10fps'
- Execute the depth map generation script provided in the
- Command for install libaray from ImageNet-C:
git clone https://github.com/hendrycks/robustness.git
cd robustness/ImageNet-C/imagenet_c/imagenet_c
cd ..
pip install -e .
-
Select Corruption Types:
- This benchmark includes 18 corruption types, each with three severity levels(1 3 5). 'runs/generator' by default generate 18 types of corruption together, you could modify corruption types(line 109) if necessary.
-
Generate Corruptions:
- Example command for DTB70:
python main.py --seq_dir /data/DTB70 --output_dir /data/UAV-C
- Example command for UAV123_10fps:
python main.py --seq_dir /data/UAV123_10fps --output_dir /data/UAV-C
- Example output dataset structure of UAV-C
UAV-C/ ├── Animal1/ │ ├── contrast/ │ │ ├── 1/ │ │ ├── 3/ │ │ └── 5/
- Example command for DTB70:
We evaluated 12 trackers on the UAV-C benchmark. The table below summarizes the performance of each tracker across all types of corruptions. The last row is measured with the metric ( mS_{cor} ), averaged over all corruption types.