Referans için ultralytics/data/split_dota.py
Not
Bu dosya https://github.com/ultralytics/ultralytics/blob/main/ ultralytics/data/split_dota .py adresinde mevcuttur. Bir sorun tespit ederseniz, lütfen bir Çekme İsteği 🛠️ ile katkıda bulunarak düzeltmeye yardımcı olun. Teşekkürler 🙏!
ultralytics.data.split_dota.bbox_iof(polygon1, bbox2, eps=1e-06)
bbox1 ve bbox2 arasındaki iof'leri hesaplayın.
Parametreler:
İsim | Tip | Açıklama | Varsayılan |
---|---|---|---|
polygon1 |
ndarray
|
Poligon koordinatları, (n, 8). |
gerekli |
bbox2 |
ndarray
|
Sınırlayıcı kutular, (n ,4). |
gerekli |
Kaynak kodu ultralytics/data/split_dota.py
ultralytics.data.split_dota.load_yolo_dota(data_root, split='train')
DOTA veri kümesini yükleyin.
Parametreler:
İsim | Tip | Açıklama | Varsayılan |
---|---|---|---|
data_root |
str
|
Veri kökü. |
gerekli |
split |
str
|
Bölünmüş veri seti, eğitim veya val olabilir. |
'train'
|
Notlar
DOTA veri kümesi için varsayılan dizin yapısı: - data_root - görüntüler - Tren - val - etiketler - Tren - val
Kaynak kodu ultralytics/data/split_dota.py
ultralytics.data.split_dota.get_windows(im_size, crop_sizes=[1024], gaps=[200], im_rate_thr=0.6, eps=0.01)
Pencerelerin koordinatlarını alın.
Parametreler:
İsim | Tip | Açıklama | Varsayılan |
---|---|---|---|
im_size |
tuple
|
Orijinal görüntü boyutu, (h, w). |
gerekli |
crop_sizes |
List(int
|
Pencerelerin boyutunu kırpın. |
[1024]
|
gaps |
List(int
|
Mahsuller arasındaki boşluk. |
[200]
|
im_rate_thr |
float
|
Görüntü alanlarına bölünmüş pencere alanlarının eşiği. |
0.6
|
Kaynak kodu ultralytics/data/split_dota.py
ultralytics.data.split_dota.get_window_obj(anno, windows, iof_thr=0.7)
Her pencere için nesneleri alın.
Kaynak kodu ultralytics/data/split_dota.py
ultralytics.data.split_dota.crop_and_save(anno, windows, window_objs, im_dir, lb_dir)
Görüntüleri kırpın ve yeni etiketler kaydedin.
Parametreler:
İsim | Tip | Açıklama | Varsayılan |
---|---|---|---|
anno |
dict
|
Aşağıdakiler de dahil olmak üzere açıklama diktesi |
gerekli |
windows |
list
|
Pencere koordinatlarının bir listesi. |
gerekli |
window_objs |
list
|
Her pencerenin içindeki etiketlerin bir listesi. |
gerekli |
im_dir |
str
|
Görüntülerin çıktı dizini yolu. |
gerekli |
lb_dir |
str
|
Etiketlerin çıktı dizini yolu. |
gerekli |
Notlar
DOTA veri kümesi için varsayılan dizin yapısı: - data_root - görüntüler - Tren - val - etiketler - Tren - val
Kaynak kodu ultralytics/data/split_dota.py
ultralytics.data.split_dota.split_images_and_labels(data_root, save_dir, split='train', crop_sizes=[1024], gaps=[200])
Hem görüntüleri hem de etiketleri bölün.
Notlar
DOTA veri kümesi için varsayılan dizin yapısı: - data_root - görüntüler - bölünmüş - etiketler - bölünmüş ve çıktı dizin yapısı şöyledir: - save_dir - görüntüler - bölünmüş - etiketler - bölünmüş
Kaynak kodu ultralytics/data/split_dota.py
ultralytics.data.split_dota.split_trainval(data_root, save_dir, crop_size=1024, gap=200, rates=[1.0])
Bölünmüş tren ve DOTA'nın val seti.
Notlar
DOTA veri kümesi için varsayılan dizin yapısı: - data_root - görüntüler - Tren - val - etiketler - Tren - val ve çıktı dizin yapısı şöyledir: - save_dir - görüntüler - Tren - val - etiketler - Tren - val
Kaynak kodu ultralytics/data/split_dota.py
ultralytics.data.split_dota.split_test(data_root, save_dir, crop_size=1024, gap=200, rates=[1.0])
DOTA'nın bölünmüş test seti, etiketler bu sete dahil değildir.
Notlar
DOTA veri kümesi için varsayılan dizin yapısı: - data_root - görüntüler - test ve çıktı dizin yapısı şöyledir: - save_dir - görüntüler - test