Reference for ultralytics/data/split_dota.py
Note
This file is available at https://github.com/ultralytics/ultralytics/blob/main/ultralytics/data/split_dota.py. If you spot a problem please help fix it by contributing a Pull Request 🛠️. Thank you 🙏!
ultralytics.data.split_dota.bbox_iof
Calculate Intersection over Foreground (IoF) between polygons and bounding boxes.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
polygon1 |
ndarray
|
Polygon coordinates, shape (n, 8). |
required |
bbox2 |
ndarray
|
Bounding boxes, shape (n, 4). |
required |
eps |
float
|
Small value to prevent division by zero. Defaults to 1e-6. |
1e-06
|
Returns:
Type | Description |
---|---|
ndarray
|
IoF scores, shape (n, 1) or (n, m) if bbox2 is (m, 4). |
Note
Polygon format: [x1, y1, x2, y2, x3, y3, x4, y4]. Bounding box format: [x_min, y_min, x_max, y_max].
Source code in ultralytics/data/split_dota.py
ultralytics.data.split_dota.load_yolo_dota
Load DOTA dataset.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
data_root |
str
|
Data root. |
required |
split |
str
|
The split data set, could be train or val. |
'train'
|
Notes
The directory structure assumed for the DOTA dataset: - data_root - images - train - val - labels - train - val
Source code in ultralytics/data/split_dota.py
ultralytics.data.split_dota.get_windows
Get the coordinates of windows.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
im_size |
tuple
|
Original image size, (h, w). |
required |
crop_sizes |
List(int
|
Crop size of windows. |
(1024)
|
gaps |
List(int
|
Gap between crops. |
(200)
|
im_rate_thr |
float
|
Threshold of windows areas divided by image ares. |
0.6
|
eps |
float
|
Epsilon value for math operations. |
0.01
|
Source code in ultralytics/data/split_dota.py
ultralytics.data.split_dota.get_window_obj
Get objects for each window.
Source code in ultralytics/data/split_dota.py
ultralytics.data.split_dota.crop_and_save
Crop images and save new labels.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
anno |
dict
|
Annotation dict, including |
required |
windows |
list
|
A list of windows coordinates. |
required |
window_objs |
list
|
A list of labels inside each window. |
required |
im_dir |
str
|
The output directory path of images. |
required |
lb_dir |
str
|
The output directory path of labels. |
required |
allow_background_images |
bool
|
Whether to include background images without labels. |
True
|
Notes
The directory structure assumed for the DOTA dataset: - data_root - images - train - val - labels - train - val
Source code in ultralytics/data/split_dota.py
ultralytics.data.split_dota.split_images_and_labels
Split both images and labels.
Notes
The directory structure assumed for the DOTA dataset: - data_root - images - split - labels - split and the output directory structure is: - save_dir - images - split - labels - split
Source code in ultralytics/data/split_dota.py
ultralytics.data.split_dota.split_trainval
Split train and val set of DOTA.
Notes
The directory structure assumed for the DOTA dataset: - data_root - images - train - val - labels - train - val and the output directory structure is: - save_dir - images - train - val - labels - train - val
Source code in ultralytics/data/split_dota.py
ultralytics.data.split_dota.split_test
Split test set of DOTA, labels are not included within this set.
Notes
The directory structure assumed for the DOTA dataset: - data_root - images - test and the output directory structure is: - save_dir - images - test