Vai al contenuto

Panoramica dei set di dati per la classificazione delle immagini

Struttura del dataset per i compiti di classificazione di YOLO

Per Ultralytics YOLO per le attività di classificazione, il set di dati deve essere organizzato in una specifica struttura di suddivisione in base alla root per facilitare i processi di formazione, test e convalida facoltativa. Questa struttura comprende directory separate per la formazione (train) e di test (test), con una directory opzionale per la convalida (val).

Ognuna di queste directory deve contenere una sottodirectory per ogni classe del set di dati. Le sottodirectory prendono il nome dalla classe corrispondente e contengono tutte le immagini di quella classe. Assicurati che ogni file di immagine abbia un nome univoco e sia memorizzato in un formato comune come JPEG o PNG.

Esempio di struttura delle cartelle

Consideriamo il set di dati CIFAR-10 come esempio. La struttura delle cartelle dovrebbe essere la seguente:

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
|   |   |-- ...
|   |
|   |-- ...

Questo approccio strutturato garantisce che il modello possa apprendere efficacemente da classi ben organizzate durante la fase di addestramento e valutare accuratamente le prestazioni durante le fasi di test e validazione.

Utilizzo

Esempio

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

Set di dati supportati

Ultralytics supporta i seguenti set di dati con download automatico:

  • Caltech 101: un set di dati contenente immagini di 101 categorie di oggetti per compiti di classificazione delle immagini.
  • Caltech 256: Una versione estesa di Caltech 101 con 256 categorie di oggetti e immagini più impegnative.
  • CIFAR-10: un dataset di 60K immagini a colori 32x32 in 10 classi, con 6K immagini per classe.
  • CIFAR-100: Una versione estesa di CIFAR-10 con 100 categorie di oggetti e 600 immagini per classe.
  • Fashion-MNIST: Un set di dati composto da 70.000 immagini in scala di grigi di 10 categorie di moda per compiti di classificazione delle immagini.
  • ImageNet: Un dataset su larga scala per il rilevamento di oggetti e la classificazione di immagini con oltre 14 milioni di immagini e 20.000 categorie.
  • ImageNet-10: un sottoinsieme più piccolo di ImageNet con 10 categorie per una sperimentazione e un test più rapidi.
  • Imagenette: Un sottoinsieme più piccolo di ImageNet che contiene 10 classi facilmente distinguibili per una formazione e un test più rapidi.
  • Imagewoof: Un sottoinsieme più impegnativo di ImageNet contenente 10 categorie di razze canine per compiti di classificazione delle immagini.
  • MNIST: Un dataset di 70.000 immagini in scala di grigi di cifre scritte a mano per compiti di classificazione delle immagini.

Aggiungi il tuo set di dati

Se hai un tuo set di dati e vuoi utilizzarlo per addestrare i modelli di classificazione con Ultralytics, assicurati che segua il formato specificato sopra in "Formato del set di dati" e quindi punta il tuo data alla directory dei dati.



Creato 2023-11-12, Aggiornato 2024-04-10
Autori: stormsson (1), glenn-jocher (4), GreatV (1)

Commenti