Overslaan naar inhoud

Oriented Bounding Box (OBB) Datasets Overzicht

Voor het trainen van een nauwkeurig objectdetectiemodel met georiënteerde bounding boxes (OBB) is een grondige dataset nodig. Deze gids geeft uitleg over de verschillende OBB datasetformaten die compatibel zijn met Ultralytics YOLO modellen en biedt inzicht in hun structuur, toepassing en methoden voor formaatconversies.

Ondersteunde OBB Dataset Formaten

YOLO OBB-indeling

Het YOLO OBB formaat duidt bounding boxes aan met hun vier hoekpunten met coördinaten genormaliseerd tussen 0 en 1. Het volgt dit formaat:

class_index, x1, y1, x2, y2, x3, y3, x4, y4

Intern verwerkt YOLO verliezen en output in de xywhr formaat, dat het middelpunt (xy), de breedte, de hoogte en de rotatie van de bounding box weergeeft.

OBB-formaat voorbeelden

Een voorbeeld van een *.txt labelbestand voor de bovenstaande afbeelding, dat een object van de klasse 0 in OBB-formaat, zou er zo uit kunnen zien:

0 0.780811 0.743961 0.782371 0.74686 0.777691 0.752174 0.776131 0.749758

Gebruik

Om een model te trainen met deze OBB-indelingen:

Voorbeeld

from ultralytics import YOLO

# Create a new YOLOv8n-OBB model from scratch
model = YOLO('yolov8n-obb.yaml')

# Train the model on the DOTAv2 dataset
results = model.train(data='DOTAv1.yaml', epochs=100, imgsz=640)
# Train a new YOLOv8n-OBB model on the DOTAv2 dataset
yolo detect train data=DOTAv1.yaml model=yolov8n.pt epochs=100 imgsz=640

Ondersteunde datasets

Momenteel worden de volgende datasets met Oriented Bounding Boxes ondersteund:

  • DOTA v2: DOTA (A Large-scale Dataset for Object Detection in Aerial Images) versie 2, legt de nadruk op detectie vanuit luchtperspectieven en bevat georiënteerde bounding boxes met 1,7 miljoen instanties en 11.268 afbeeldingen.

  • DOTA8: Een kleine subset van 8 afbeeldingen van de volledige DOTA dataset die geschikt is voor het testen van workflows en Continuous Integration (CI) controles van OBB training in de ultralytics bergplaats.

Je eigen OBB dataset opnemen

Voor degenen die hun eigen datasets met georiënteerde bounding boxes willen introduceren, moet je zorgen voor compatibiliteit met het hierboven genoemde "YOLO OBB formaat". Converteer je annotaties naar dit vereiste formaat en detailleer de paden, klassen en klassenamen in een bijbehorend YAML configuratiebestand.

Labelindelingen omzetten

DOTA Dataset-indeling naar YOLO OBB-indeling

Overgang van labels van het DOTA dataset formaat naar het YOLO OBB formaat kan worden bereikt met dit script:

Voorbeeld

from ultralytics.data.converter import convert_dota_to_yolo_obb

convert_dota_to_yolo_obb('path/to/DOTA')

Dit conversiemechanisme is van groot belang voor datasets in het DOTA formaat en zorgt voor afstemming met het Ultralytics YOLO OBB formaat.

Het is noodzakelijk om de compatibiliteit van de dataset met je model te valideren en je te houden aan de noodzakelijke formaatconventies. Goed gestructureerde datasets zijn cruciaal voor het trainen van efficiënte objectdetectiemodellen met georiënteerde bounding boxes.



Gemaakt op 2023-11-12, Bijgewerkt op 2024-01-25
Auteurs: glenn-jocher (6)

Reacties