DOTA-v1.0 data preparation
Download DOTA-v1.0 from the official project or an equivalent complete mirror. The original dataset contains 1,411 training images, 458 validation images and 937 unlabeled test images with 15 classes.
Patch generation
Use the mmrotate DOTA splitter with the single-scale settings used by Point2RBox-v3:
| Option | Value |
|---|---|
| patch size | 1024 |
| gap | 200 |
| scale rate | 1.0 |
| image-rate threshold | 0.6 |
| instance IoF threshold | 0.7 |
| padding value | [104, 116, 124] |
The JSON splitter configurations are provided in tools/dota_split/. A correct
single-scale split contains 21,046 trainval patches and 10,833 test patches.
Expected layout:
split_ss_dota/
βββ trainval/
β βββ images/
β βββ annfiles/
βββ test/
βββ images/
The pseudo-label exporter writes
point2rbox_v3_pseudo_labels.bbox.json under the configured data root. The
second-stage dataset reads this JSON together with trainval/images.
Update images_dir, annotations_file and pseudo-label paths in
configs/point2rbox_v3/ if your data root differs from the provided config.
Input validation
Before training, verify that no Git LFS pointer files remain, every image can be decoded, trainval image and annotation stems match, and each annotation line has eight polygon coordinates followed by class name and difficulty flag. Parsers accept both official headers and headerless files, as well as LF or CRLF line endings.