Update final docs/data.md
Browse files- docs/data.md +48 -0
docs/data.md
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# DOTA-v1.0 data preparation
|
| 2 |
+
|
| 3 |
+
Download DOTA-v1.0 from the official project or an equivalent complete mirror.
|
| 4 |
+
The original dataset contains 1,411 training images, 458 validation images and
|
| 5 |
+
937 unlabeled test images with 15 classes.
|
| 6 |
+
|
| 7 |
+
## Patch generation
|
| 8 |
+
|
| 9 |
+
Use the mmrotate DOTA splitter with the single-scale settings used by
|
| 10 |
+
Point2RBox-v3:
|
| 11 |
+
|
| 12 |
+
| Option | Value |
|
| 13 |
+
|---|---|
|
| 14 |
+
| patch size | 1024 |
|
| 15 |
+
| gap | 200 |
|
| 16 |
+
| scale rate | 1.0 |
|
| 17 |
+
| image-rate threshold | 0.6 |
|
| 18 |
+
| instance IoF threshold | 0.7 |
|
| 19 |
+
| padding value | `[104, 116, 124]` |
|
| 20 |
+
|
| 21 |
+
The JSON splitter configurations are provided in `tools/dota_split/`. A correct
|
| 22 |
+
single-scale split contains 21,046 trainval patches and 10,833 test patches.
|
| 23 |
+
|
| 24 |
+
Expected layout:
|
| 25 |
+
|
| 26 |
+
```text
|
| 27 |
+
split_ss_dota/
|
| 28 |
+
βββ trainval/
|
| 29 |
+
β βββ images/
|
| 30 |
+
β βββ annfiles/
|
| 31 |
+
βββ test/
|
| 32 |
+
βββ images/
|
| 33 |
+
```
|
| 34 |
+
|
| 35 |
+
The pseudo-label exporter writes
|
| 36 |
+
`point2rbox_v3_pseudo_labels.bbox.json` under the configured data root. The
|
| 37 |
+
second-stage dataset reads this JSON together with `trainval/images`.
|
| 38 |
+
|
| 39 |
+
Update `images_dir`, `annotations_file` and pseudo-label paths in
|
| 40 |
+
`configs/point2rbox_v3/` if your data root differs from the provided config.
|
| 41 |
+
|
| 42 |
+
## Input validation
|
| 43 |
+
|
| 44 |
+
Before training, verify that no Git LFS pointer files remain, every image can be
|
| 45 |
+
decoded, trainval image and annotation stems match, and each annotation line has
|
| 46 |
+
eight polygon coordinates followed by class name and difficulty flag. Parsers
|
| 47 |
+
accept both official headers and headerless files, as well as LF or CRLF line
|
| 48 |
+
endings.
|