Overslaan naar inhoud

Overzicht van datasets voor beeldclassificatie

Datasetstructuur voor YOLO Classificatietaken

Voor Ultralytics YOLO classificatietaken moet de dataset worden georganiseerd in een specifieke split-direcotry structuur onder de root map om goede training, testen en optionele validatieprocessen mogelijk te maken. Deze structuur bevat aparte mappen voor training (train) en testen (test) fasen, met een optionele map voor validatie (val).

Elk van deze mappen moet een submap bevatten voor elke klasse in de dataset. De submappen worden genoemd naar de corresponderende klasse en bevatten alle afbeeldingen voor die klasse. Zorg ervoor dat elk afbeeldingsbestand een unieke naam heeft en wordt opgeslagen in een gangbaar formaat zoals JPEG of PNG.

Voorbeeld van mappenstructuur

Neem de CIFAR-10 dataset als voorbeeld. De mapstructuur zou er als volgt uit moeten zien:

cifar-10-/
|
|-- train/
|   |-- airplane/
|   |   |-- 10008_airplane.png
|   |   |-- 10009_airplane.png
|   |   |-- ...
|   |
|   |-- automobile/
|   |   |-- 1000_automobile.png
|   |   |-- 1001_automobile.png
|   |   |-- ...
|   |
|   |-- bird/
|   |   |-- 10014_bird.png
|   |   |-- 10015_bird.png
|   |   |-- ...
|   |
|   |-- ...
|
|-- test/
|   |-- airplane/
|   |   |-- 10_airplane.png
|   |   |-- 11_airplane.png
|   |   |-- ...
|   |
|   |-- automobile/
|   |   |-- 100_automobile.png
|   |   |-- 101_automobile.png
|   |   |-- ...
|   |
|   |-- bird/
|   |   |-- 1000_bird.png
|   |   |-- 1001_bird.png
|   |   |-- ...
|   |
|   |-- ...
|
|-- val/ (optional)
|   |-- airplane/
|   |   |-- 105_airplane.png
|   |   |-- 106_airplane.png
|   |   |-- ...
|   |
|   |-- automobile/
|   |   |-- 102_automobile.png
|   |   |-- 103_automobile.png
|   |   |-- ...
|   |
|   |-- bird/
|   |   |-- 1045_bird.png
|   |   |-- 1046_bird.png
|   |   |-- ...
|   |
|   |-- ...

Deze gestructureerde aanpak zorgt ervoor dat het model effectief kan leren van goed georganiseerde klassen tijdens de trainingsfase en de prestaties nauwkeurig kan evalueren tijdens de test- en validatiefase.

Gebruik

Voorbeeld

from ultralytics import YOLO

# Load a model
model = YOLO('yolov8n-cls.pt')  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data='path/to/dataset', epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=path/to/data model=yolov8n-cls.pt epochs=100 imgsz=640

Ondersteunde datasets

Ultralytics ondersteunt de volgende datasets met automatische download:

  • Caltech 101: Een dataset met afbeeldingen van 101 objectcategorieën voor beeldclassificatietaken.
  • Caltech 256: Een uitgebreide versie van Caltech 101 met 256 objectcategorieën en meer uitdagende afbeeldingen.
  • CIFAR-10: Een dataset van 60K 32x32 kleurenafbeeldingen in 10 klassen, met 6K afbeeldingen per klasse.
  • CIFAR-100: Een uitgebreide versie van CIFAR-10 met 100 objectcategorieën en 600 afbeeldingen per klasse.
  • Mode-MNIST: Een dataset bestaande uit 70.000 grijswaardenafbeeldingen van 10 modecategorieën voor beeldclassificatietaken.
  • ImageNet: Een grootschalige dataset voor objectdetectie en beeldclassificatie met meer dan 14 miljoen afbeeldingen en 20.000 categorieën.
  • ImageNet-10: Een kleinere subset van ImageNet met 10 categorieën om sneller te kunnen experimenteren en testen.
  • Imagenette: Een kleinere subset van ImageNet die 10 gemakkelijk te onderscheiden klassen bevat voor sneller trainen en testen.
  • Imagewoof: Een meer uitdagende subset van ImageNet met 10 hondenrascategorieën voor beeldclassificatietaken.
  • MNIST: Een dataset van 70.000 grijswaardenafbeeldingen van handgeschreven cijfers voor beeldclassificatietaken.

Je eigen dataset toevoegen

Als je een eigen dataset hebt en deze wilt gebruiken voor het trainen van classificatiemodellen met Ultralytics, zorg er dan voor dat deze de indeling volgt die hierboven is gespecificeerd onder "Dataset-indeling" en wijs vervolgens je data argument naar de datasetmap.



Aangemaakt 2023-11-12, Bijgewerkt 2024-04-10
Auteurs: stormsson (1), glenn-jocher (4), GreatV (1)

Reacties