Overzicht van datasets voor objectdetectie
Voor het trainen van een robuust en nauwkeurig objectdetectiemodel is een uitgebreide dataset nodig. Deze gids introduceert verschillende formaten van datasets die compatibel zijn met het Ultralytics YOLO model en geeft inzicht in hun structuur, gebruik en hoe te converteren tussen verschillende formaten.
Ondersteunde datasetformaten
Ultralytics YOLO formaat
Het Ultralytics YOLO formaat is een formaat voor datasetconfiguratie waarmee je de hoofdmap van de dataset kunt definiëren, de relatieve paden naar de afbeeldingsmappen voor training/validatie/testen of *.txt
bestanden met afbeeldingspaden en een woordenboek met klassennamen. Hier is een voorbeeld:
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ../datasets/coco8 # dataset root dir
train: images/train # train images (relative to 'path') 4 images
val: images/val # val images (relative to 'path') 4 images
test: # test images (optional)
# Classes (80 COCO classes)
names:
0: person
1: bicycle
2: car
# ...
77: teddy bear
78: hair drier
79: toothbrush
Etiketten voor dit formaat moeten worden geëxporteerd naar YOLO formaat met één *.txt
bestand per afbeelding. Als er geen objecten in een afbeelding staan, wordt er geen *.txt
bestand nodig. De *.txt
bestand moet worden opgemaakt met één rij per object in class x_center y_center width height
formaat. Boxcoördinaten moeten in genormaliseerde xywh formaat (van 0 tot 1). Als je vakken in pixels zijn, moet je het volgende delen x_center
en width
per beeldbreedte en y_center
en height
door afbeeldingshoogte. Klassenummers moeten nul-geïndexeerd zijn (beginnen met 0).
Het labelbestand dat overeenkomt met de bovenstaande afbeelding bevat 2 personen (klasse 0
) en een gelijkspel (klasse 27
):
Als je het Ultralytics YOLO formaat gebruikt, organiseer dan je trainings- en validatieafbeeldingen en labels zoals in het COCO8 dataset voorbeeld hieronder.
Gebruik
Hier lees je hoe je deze indelingen kunt gebruiken om je model te trainen:
Voorbeeld
Ondersteunde datasets
Hier is een lijst van de ondersteunde datasets en een korte beschrijving voor elk:
- Argoverse: Een verzameling sensorgegevens verzameld van autonome voertuigen. Het bevat 3D tracking annotaties voor auto-objecten.
- COCO: Common Objects in Context (COCO) is een grootschalige dataset voor objectdetectie, segmentatie en ondertiteling met 80 objectcategorieën.
- LVIS: LVIS is een grootschalige dataset voor objectdetectie, segmentatie en ondertiteling met 1203 objectcategorieën.
- COCO8: COCO8 is een kleinere subset van de COCO dataset, is lichter en sneller te trainen.
- Wereldwijde tarwe2020: Een dataset met afbeeldingen van tarwekoppen voor de Global Wheat Challenge 2020.
- Objecten365: Een grootschalige dataset voor objectdetectie met 365 objectcategorieën en 600.000 afbeeldingen, gericht op het bevorderen van onderzoek naar objectdetectie.
- OpenBeeldenV7: Een uitgebreide dataset van Google met 1,7M train afbeeldingen en 42k validatie afbeeldingen.
- SKU-110K: Een dataset met afbeeldingen van dicht opeengepakte winkelproducten, bedoeld voor objectdetectie in de winkelomgeving.
- VisDrone: Een dataset die zich richt op drone-gebaseerde beelden, met verschillende objectcategorieën zoals auto's, voetgangers en fietsers.
- VOC: PASCAL VOC is een populaire dataset voor objectdetectie met 20 objectcategorieën, waaronder voertuigen, dieren en meubels.
- xBekijk: Een dataset met satellietbeelden met een hoge resolutie, ontworpen voor de detectie van verschillende objectklassen in bovenaanzichten.
- Hersentumor: Deze dataset bestaat uit MRI- of CT-scanbeelden die informatie bevatten over de aanwezigheid, locatie en kenmerken van hersentumoren. Het speelt een cruciale rol bij het trainen van computervisiemodellen om tumoridentificatie te automatiseren, wat vroege diagnose en behandelplanning vergemakkelijkt.
- Afrikaanse dieren: Deze dataset, met beelden van Afrikaanse wilde dieren zoals buffels, olifanten, neushoorns en zebra's, is onmisbaar bij het trainen van computervisiemodellen. Het is onmisbaar voor het identificeren van dieren in verschillende habitats en draagt aanzienlijk bij aan onderzoek naar wilde dieren.
Je eigen dataset toevoegen
Als je een eigen dataset hebt en deze wilt gebruiken voor het trainen van detectiemodellen met het formaat Ultralytics YOLO , zorg er dan voor dat deze het formaat volgt dat hierboven is gespecificeerd onder "Ultralytics YOLO formaat". Converteer je annotaties naar het vereiste formaat en specificeer de paden, het aantal klassen en de klassennamen in het YAML-configuratiebestand.
Labelindelingen overzetten of converteren
COCO-gegevensverzamelingsformaat naar YOLO formaat
Je kunt eenvoudig labels converteren van het populaire COCO dataset formaat naar het YOLO formaat met behulp van het volgende codefragment:
Voorbeeld
Dit conversieprogramma kan worden gebruikt om de COCO dataset of elke andere dataset in het COCO formaat te converteren naar het Ultralytics YOLO formaat.
Vergeet niet om te controleren of de dataset die je wilt gebruiken compatibel is met je model en de benodigde opmaakconventies volgt. Goed geformatteerde datasets zijn cruciaal voor het trainen van succesvolle objectdetectiemodellen.
Aangemaakt 2023-11-12, Bijgewerkt 2024-04-18
Auteurs: glenn-jocher (7), IvorZhu331 (1), Laughing-q (1), RizwanMunawar (1)