KostadinovShalon/UAVDetectionTrackingBenchmark

Python

144

29 commits

updated Aug 17, 2026

See the code

README

UAVDetectionTrackingBenchmark

This repository contains the code, configuration files and dataset statistics used for the paper
Unmanned Aerial Vehicle Visual Detection and Tracking using Deep Neural Networks: A Performance Benchmark submitted to IROS 2021.

The repository is organized as follows:

  • datasets (dir): Contains the COCO annotation files used for each dataset
  • detection (dir): This directory contains the configuration files for detection, the log files and some scripts used for setting up the detection dataset.

Prerequisites

  • PyTorch 1.7.1
  • OpenCV 4.5
  • MMCV 1.2.4
  • MMDet 2.8.0
  • MMTrack 0.5.1

Installation

Detection and tracking was carried using the OpenMMLab frameworks for each task. In this section, we give a summary on how to setup the frameworks for each task

Detection

  1. Install MMDetection using the Getting Started guide.

  2. Create a directory under the configs folder (e.g., configs/uavbenchmark) and copy the config files.

  3. Create the data directory in the root folder of the project and create the dataset folders (you can also use symbolic links):

    • anti-uav
    • anti-uav/images
    • drone-vs-bird
    • drone-vs-bird/images
    • mav-vid
    • mav-vid/images
  4. Under each dataset folder copy the annotation files to its corresponding folder.

  5. Copy all the images for each dataset to <dataset-folder>/images (see below for each dataset details).

  6. Create a checkpoints folder under the root of the project and download the weight files (see below) to this folder.

  7. Run the following script: python tools/test.py <PATH TO CONFIG FILE> <PATH TO WEIGHT FILE>

Datasets

Three datasets were in our benchmark. An example of each dataset is shown next, with (a) MAV-VID, (b) Drone-vs-Bird, (c) Anti-UAV Visual and (d) Anti-UAV Infrared.

Dataset examples

Multirotor Aerial Vehicle VID (MAV-VID)

This dataset consists on videos at different setups of single UAV. It contains videos captured from other drones, ground based surveillance cameras and handheld mobile devices. It can be downloaded in its kaggle site. Update: The kaggle site seems to stop working, but the dataset is still available here (obtained from their github site).

This dataset is composed of images with YOLO annotations divided in two directories: train and val. In order to use this dataset in this benchmark kit, create the COCO annotation files for each data partition, using the convert_mav_vid_to_coco.py, rename them to train.json and val.json and move them to the data/mav-vid directory created in the installation steps. Then, copy all images of both partitions to the data/mav-vid/images directory.

Drone-vs-Bird

As part of the International Workshop on Small-Drone Surveillance, Detection and Counteraction techniques of IEEE AVSS 2020, the main goal of this challenge is to reduce the high false positive rates that vision-based methods usually suffer. This dataset comprises videos of UAV captured at long distances and often surrounded by small objects, such as birds.

The videos can be downloaded upon request and the annotations can be downloaded via their GitHub site. The annotations follow a custom format, where a a .txt file is given for each video. Each annotation file has a line for each video frame and the annotation is given in the format <Frame number> <Number of Objects> <x> <y> <width> <height> [<x> <y> ...]. To use this dataset in this benchmark, first you need to convert the video to images via video_to_images.py and then you need to create the COCO annotations using the convert_drone_vs_bird_to_coco.py script. Just as in the MAV-VID dataset, copy the images to the data/drone-vs-bird/images directory and the annotations to data/drone-vs-bird.

Anti-UAV

This multi-modal dataset comprises fully-annotated RGB and IR unaligned videos. Anti-UAV dataset is intended to provide a real-case benchmark for evaluating object tracker algorithms in the context of UAV. It contains recordings of 6 UAV models flying at different lightning and background conditions. This dataset can be downloaded in their website.

This dataset is also comprised of videos and custom annotations. Once downlaoded and extracted, the videos are organised in folders containing the RGB and IR versions, with their corresponding JSON annotations. To convert this dataset to images and COCO annotations, use the convert_anti_uav_to_coco.py script and copy the images generated annotations to data/anti-uav and the images to data/anti-uav/images. The images folder will contain the images for both modalities and the full (both modalities), RGB and IR annotations will be generated.

Dataset Statistics

Dataset object size

DatasetSizeAverage Object Size
MAV-VIDTraining: 53 videos (29,500 images)
Validation: 11 videos (10,732 images)
215 x 128 pxs (3.28% of image size)
Drone-vs-BirdTraining: 61 videos (85,904 images)
Validation: 16 videos (18,856 images)
34 x 23 pxs (0.10% of image size)
Anti-UAVTraining: 60 videos (149,478 images)
Validation: 40 videos (37,016 images)
RGB: 125 x 59 pxs (0.40% image size)
IR: 52 x 29 pxs (0.50% image size)

Location, size and image composition statistics

Dataset examples

Detection Results

Four detection architectures were used for our analysis: Faster RCNN, SSD512, YOLOv3 and DETR. For the implementation details, refer to our paper. The results are as follows:

DatasetModelAPAP0.5AP0.75APSAPMAPLARARSARMARL
MAV-VIDFaster RCNN log weights0.5920.9780.6720.1540.5410.6560.6590.3690.6210.721
SSD512 log weights0.5350.9670.5360.0830.4990.5870.6120.3770.5780.666
YOLOv3 log weights0.5370.9630.5420.0660.4710.6360.6120.2080.5590.696
DETR log weights0.5450.9710.5600.0440.4900.6120.6920.3460.6610.742
Drone-vs-BirdFaster RCNN log weights0.2830.6320.1970.2180.4730.5060.3560.2980.5460.512
SSD512 log weights0.6290.1340.1990.4220.0520.3790.3270.5490.556
YOLOv3 log weights0.2100.5460.1050.1580.3950.3560.3020.2380.5120.637
DETR log weights0.2510.6670.1230.1900.4440.5330.4730.4250.6310.550
Anti-UAV-FullFaster RCNN log weights0.6120.9740.7010.5170.6190.7370.6660.6010.6700.778
SSD512 log weights0.6130.9820.6970.5270.6190.7120.6780.6160.6820.780
YOLOv3 log weights0.6040.9770.6760.5290.6190.7080.6670.6180.6680.760
DETR log weights0.5860.9770.6480.5090.5890.6920.6490.5980.6490.752
Anti-UAV-RGBFaster RCNN log weights0.6420.9820.7700.1340.6150.7180.6940.1350.6770.760
SSD512 log weights0.6270.9790.7470.1240.5930.7180.7030.1560.6820.785
YOLOv3 log weights0.6170.9860.7170.1430.5950.7020.6840.1810.6640.758
DETR log weights0.6280.9780.7400.1290.5900.7340.7000.1440.6750.794
Anti-UAV-IRFaster RCNN log weights0.5810.9770.6410.5230.623-0.6360.6020.663-
SSD512 log weights0.5900.9750.6390.5180.636-0.6490.6090.681-
YOLOv3 log weights0.5910.9760.6430.5330.638-0.6510.6200.675-
DETR log weights0.5990.9800.6550.5250.642-0.6710.6330.701-

Citation

@article{uavbenchmark,
  title={Unmanned Aerial Vehicle Visual Detection and Tracking using Deep Neural Networks: A Performance Benchmark},
  author={Isaac-Medina, Brian K. S. and Poyser, Matt and Organisciak, Daniel and Willcocks, Chris G. and Breckon, Toby P. and Shum, Hubert P. H.},
  journal = {arXiv},
  year={2021}
}

KostadinovShalon/UAVDetectionTrackingBenchmark

Python

144

29 commits

updated Aug 17, 2026

See the code

README

UAVDetectionTrackingBenchmark

This repository contains the code, configuration files and dataset statistics used for the paper
Unmanned Aerial Vehicle Visual Detection and Tracking using Deep Neural Networks: A Performance Benchmark submitted to IROS 2021.

The repository is organized as follows:

  • datasets (dir): Contains the COCO annotation files used for each dataset
  • detection (dir): This directory contains the configuration files for detection, the log files and some scripts used for setting up the detection dataset.

Prerequisites

  • PyTorch 1.7.1
  • OpenCV 4.5
  • MMCV 1.2.4
  • MMDet 2.8.0
  • MMTrack 0.5.1

Installation

Detection and tracking was carried using the OpenMMLab frameworks for each task. In this section, we give a summary on how to setup the frameworks for each task

Detection

  1. Install MMDetection using the Getting Started guide.

  2. Create a directory under the configs folder (e.g., configs/uavbenchmark) and copy the config files.

  3. Create the data directory in the root folder of the project and create the dataset folders (you can also use symbolic links):

    • anti-uav
    • anti-uav/images
    • drone-vs-bird
    • drone-vs-bird/images
    • mav-vid
    • mav-vid/images
  4. Under each dataset folder copy the annotation files to its corresponding folder.

  5. Copy all the images for each dataset to <dataset-folder>/images (see below for each dataset details).

  6. Create a checkpoints folder under the root of the project and download the weight files (see below) to this folder.

  7. Run the following script: python tools/test.py <PATH TO CONFIG FILE> <PATH TO WEIGHT FILE>

Datasets

Three datasets were in our benchmark. An example of each dataset is shown next, with (a) MAV-VID, (b) Drone-vs-Bird, (c) Anti-UAV Visual and (d) Anti-UAV Infrared.

Dataset examples

Multirotor Aerial Vehicle VID (MAV-VID)

This dataset consists on videos at different setups of single UAV. It contains videos captured from other drones, ground based surveillance cameras and handheld mobile devices. It can be downloaded in its kaggle site. Update: The kaggle site seems to stop working, but the dataset is still available here (obtained from their github site).

This dataset is composed of images with YOLO annotations divided in two directories: train and val. In order to use this dataset in this benchmark kit, create the COCO annotation files for each data partition, using the convert_mav_vid_to_coco.py, rename them to train.json and val.json and move them to the data/mav-vid directory created in the installation steps. Then, copy all images of both partitions to the data/mav-vid/images directory.

Drone-vs-Bird

As part of the International Workshop on Small-Drone Surveillance, Detection and Counteraction techniques of IEEE AVSS 2020, the main goal of this challenge is to reduce the high false positive rates that vision-based methods usually suffer. This dataset comprises videos of UAV captured at long distances and often surrounded by small objects, such as birds.

The videos can be downloaded upon request and the annotations can be downloaded via their GitHub site. The annotations follow a custom format, where a a .txt file is given for each video. Each annotation file has a line for each video frame and the annotation is given in the format <Frame number> <Number of Objects> <x> <y> <width> <height> [<x> <y> ...]. To use this dataset in this benchmark, first you need to convert the video to images via video_to_images.py and then you need to create the COCO annotations using the convert_drone_vs_bird_to_coco.py script. Just as in the MAV-VID dataset, copy the images to the data/drone-vs-bird/images directory and the annotations to data/drone-vs-bird.

Anti-UAV

This multi-modal dataset comprises fully-annotated RGB and IR unaligned videos. Anti-UAV dataset is intended to provide a real-case benchmark for evaluating object tracker algorithms in the context of UAV. It contains recordings of 6 UAV models flying at different lightning and background conditions. This dataset can be downloaded in their website.

This dataset is also comprised of videos and custom annotations. Once downlaoded and extracted, the videos are organised in folders containing the RGB and IR versions, with their corresponding JSON annotations. To convert this dataset to images and COCO annotations, use the convert_anti_uav_to_coco.py script and copy the images generated annotations to data/anti-uav and the images to data/anti-uav/images. The images folder will contain the images for both modalities and the full (both modalities), RGB and IR annotations will be generated.

Dataset Statistics

Dataset object size

DatasetSizeAverage Object Size
MAV-VIDTraining: 53 videos (29,500 images)
Validation: 11 videos (10,732 images)
215 x 128 pxs (3.28% of image size)
Drone-vs-BirdTraining: 61 videos (85,904 images)
Validation: 16 videos (18,856 images)
34 x 23 pxs (0.10% of image size)
Anti-UAVTraining: 60 videos (149,478 images)
Validation: 40 videos (37,016 images)
RGB: 125 x 59 pxs (0.40% image size)
IR: 52 x 29 pxs (0.50% image size)

Location, size and image composition statistics

Dataset examples

Detection Results

Four detection architectures were used for our analysis: Faster RCNN, SSD512, YOLOv3 and DETR. For the implementation details, refer to our paper. The results are as follows:

DatasetModelAPAP0.5AP0.75APSAPMAPLARARSARMARL
MAV-VIDFaster RCNN log weights0.5920.9780.6720.1540.5410.6560.6590.3690.6210.721
SSD512 log weights0.5350.9670.5360.0830.4990.5870.6120.3770.5780.666
YOLOv3 log weights0.5370.9630.5420.0660.4710.6360.6120.2080.5590.696
DETR log weights0.5450.9710.5600.0440.4900.6120.6920.3460.6610.742
Drone-vs-BirdFaster RCNN log weights0.2830.6320.1970.2180.4730.5060.3560.2980.5460.512
SSD512 log weights0.6290.1340.1990.4220.0520.3790.3270.5490.556
YOLOv3 log weights0.2100.5460.1050.1580.3950.3560.3020.2380.5120.637
DETR log weights0.2510.6670.1230.1900.4440.5330.4730.4250.6310.550
Anti-UAV-FullFaster RCNN log weights0.6120.9740.7010.5170.6190.7370.6660.6010.6700.778
SSD512 log weights0.6130.9820.6970.5270.6190.7120.6780.6160.6820.780
YOLOv3 log weights0.6040.9770.6760.5290.6190.7080.6670.6180.6680.760
DETR log weights0.5860.9770.6480.5090.5890.6920.6490.5980.6490.752
Anti-UAV-RGBFaster RCNN log weights0.6420.9820.7700.1340.6150.7180.6940.1350.6770.760
SSD512 log weights0.6270.9790.7470.1240.5930.7180.7030.1560.6820.785
YOLOv3 log weights0.6170.9860.7170.1430.5950.7020.6840.1810.6640.758
DETR log weights0.6280.9780.7400.1290.5900.7340.7000.1440.6750.794
Anti-UAV-IRFaster RCNN log weights0.5810.9770.6410.5230.623-0.6360.6020.663-
SSD512 log weights0.5900.9750.6390.5180.636-0.6490.6090.681-
YOLOv3 log weights0.5910.9760.6430.5330.638-0.6510.6200.675-
DETR log weights0.5990.9800.6550.5250.642-0.6710.6330.701-

Citation

@article{uavbenchmark,
  title={Unmanned Aerial Vehicle Visual Detection and Tracking using Deep Neural Networks: A Performance Benchmark},
  author={Isaac-Medina, Brian K. S. and Poyser, Matt and Organisciak, Daniel and Willcocks, Chris G. and Breckon, Toby P. and Shum, Hubert P. H.},
  journal = {arXiv},
  year={2021}
}