Preparing DOTA Dataset

October 16, 2023 · View on GitHub

@InProceedings{Xia_2018_CVPR,
author = {Xia, Gui-Song and Bai, Xiang and Ding, Jian and Zhu, Zhen and Belongie, Serge and Luo, Jiebo and Datcu, Mihai and Pelillo, Marcello and Zhang, Liangpei},
title = {DOTA: A Large-Scale Dataset for Object Detection in Aerial Images},
booktitle = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2018}
}

download dota dataset

The dota dataset can be downloaded from here.

The data structure is as follows:

mmrotate
├── mmrotate
├── tools
├── configs
├── data
│   ├── DOTA
│   │   ├── train
│   │   ├── val
│   │   ├── test
``$

## \text{split} \text{dota} \text{dataset}

\text{Please} \text{crop} \text{the} \text{original} \text{images} \text{into} 1024 \times 1024 \text{patches} \text{with} \text{an} \text{overlap} \text{of} 200 \text{by} \text{run}

$``shell
python tools/data/dota/split/img_split.py --base_json \
  tools/data/dota/split/split_configs/dota1_0/ss_trainval.json

python tools/data/dota/split/img_split.py --base_json \
  tools/data/dota/split/split_configs/dota1_0/ss_test.json

If you want to get a multiple scale dataset, you can run the following command.

python tools/data/dota/split/img_split.py --base_json \
  tools/data/dota/split/split_configs/dota1_0/ms_trainval.json

python tools/data/dota/split/img_split.py --base_json \
  tools/data/dota/split/split_configs/dota1_0/ms_test.json

Please change the img_dirs and ann_dirs in json. (Forked from BboxToolkit, which is faster then DOTA_Devkit.)

change root path in base config

Please change data_root in configs/_base_/datasets/dotav1.py to split DOTA dataset.