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 Il set di dati deve essere organizzato in una specifica struttura di directory suddivisa sotto il nome di "directory". root per facilitare l'addestramento, il test e i processi di convalida facoltativi. Questa struttura comprende directory separate per la formazione (train) e di test (test), con una directory opzionale per la convalida (val).

Ciascuna 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 per quella classe. Assicurarsi 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

Si consideri il set di dati CIFAR-10 come esempio. La struttura della cartella 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("yolo11n-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=yolo11n-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.
  • Moda-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 un addestramento 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.
  • MNIST160: Prime 8 immagini di ogni categoria MNIST dal dataset MNIST. Il set di dati contiene 160 immagini in totale.

Aggiungere il proprio set di dati

Se si dispone di un proprio set di dati e si desidera utilizzarlo per l'addestramento di modelli di classificazione con Ultralytics, assicurarsi che segua il formato specificato in precedenza in "Formato del set di dati" e quindi puntare l'opzione data alla cartella dei dati.

FAQ

Come si struttura il dataset per le attività di classificazione di YOLO ?

Per strutturare il dataset per le attività di classificazione di Ultralytics YOLO , è necessario seguire uno specifico formato di directory separate. Organizzate il vostro set di dati in directory separate per train, teste, facoltativamente val. Ciascuna di queste directory deve contenere sottodirectory denominate con il nome di ciascuna classe, con le immagini corrispondenti all'interno. Questo facilita i processi di addestramento e valutazione. A titolo di esempio, si consideri il formato del dataset CIFAR-10:

cifar-10-/
|-- train/
|   |-- airplane/
|   |-- automobile/
|   |-- bird/
|   ...
|-- test/
|   |-- airplane/
|   |-- automobile/
|   |-- bird/
|   ...
|-- val/ (optional)
|   |-- airplane/
|   |-- automobile/
|   |-- bird/
|   ...

Per maggiori dettagli, visitare Struttura del set di dati per i compiti di classificazione di YOLO .

Quali sono i set di dati supportati da Ultralytics YOLO per la classificazione delle immagini?

Ultralytics YOLO supporta il download automatico di diversi set di dati per la classificazione delle immagini, tra cui:

Questi set di dati sono strutturati in modo da essere facilmente utilizzabili con YOLO. La pagina di ogni set di dati fornisce ulteriori dettagli sulla sua struttura e sulle sue applicazioni.

Come si fa ad aggiungere il proprio set di dati per la classificazione delle immagini di YOLO ?

Per utilizzare il proprio set di dati con Ultralytics YOLO , assicurarsi che segua il formato di directory specificato richiesto per l'attività di classificazione, con una cartella separata train, teste, facoltativamente val e sottodirectory per ogni classe contenente le rispettive immagini. Una volta che il set di dati è strutturato correttamente, puntare il comando data alla cartella principale del dataset quando si inizializza lo script di addestramento. Ecco un esempio in Python:

from ultralytics import YOLO

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

# Train the model
results = model.train(data="path/to/your/dataset", epochs=100, imgsz=640)

Per maggiori dettagli, consultare la sezione Aggiunta di un proprio set di dati.

Perché utilizzare Ultralytics YOLO per la classificazione delle immagini?

Ultralytics YOLO offre diversi vantaggi per la classificazione delle immagini, tra cui:

  • Modelli pre-addestrati: Caricare modelli preaddestrati come yolo11n-cls.pt per avviare il processo di formazione.
  • Facilità d'uso: semplici comandi API e CLI per la formazione e la valutazione.
  • Prestazioni elevate: Precisione e velocità all'avanguardia, ideali per le applicazioni in tempo reale.
  • Supporto per più set di dati: Integrazione perfetta con vari set di dati popolari come CIFAR-10, ImageNet e altri.
  • Comunità e supporto: Accesso a un'ampia documentazione e a una comunità attiva per la risoluzione dei problemi e i miglioramenti.

Per ulteriori approfondimenti e applicazioni reali, è possibile esplorare Ultralytics YOLO.

Come posso addestrare un modello utilizzando Ultralytics YOLO ?

L'addestramento di un modello usando Ultralytics YOLO può essere fatto facilmente sia in Python che in CLI. Ecco un esempio:

Esempio

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-cls.pt")  # load a pretrained model

# 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=yolo11n-cls.pt epochs=100 imgsz=640

Questi esempi dimostrano il semplice processo di addestramento di un modello YOLO utilizzando uno dei due approcci. Per ulteriori informazioni, visitate la sezione Uso.

📅C reato 1 anno fa ✏️ Aggiornato 1 mese fa

Commenti