Meet YOLO26: next-gen vision AI.

Link to this sectionPanoramica dei dataset per la classificazione di immagini#

Link to this sectionStruttura del dataset per i task di classificazione YOLO#

Per i task di classificazione YOLO di Ultralytics, il dataset deve essere organizzato in una specifica struttura a directory suddivise all'interno della directory root per facilitare i processi di training, testing e la validazione opzionale. Questa struttura include directory separate per le fasi di training (train) e validazione (val), con una directory opzionale per il testing (test).

Ciascuna di queste directory deve contenere una sottodirectory per ogni classe nel dataset. Le sottodirectory prendono il nome dalla classe corrispondente e contengono tutte le immagini per quella classe. Assicurati che ogni file immagine sia denominato in modo univoco e archiviato in un formato comune come JPEG o PNG.

Link to this sectionEsempio di struttura delle cartelle#

Prendi come esempio il dataset CIFAR-10. La struttura delle cartelle dovrebbe apparire così:

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 training e valutare accuratamente le prestazioni durante le fasi di testing e validazione.

Link to this sectionUtilizzo#

Esempio
from ultralytics import YOLO

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

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

La maggior parte dei nomi dei dataset integrati (ad esempio cifar10, imagenette o mnist160) scaricherà e memorizzerà automaticamente i dati la prima volta che li richiami. Punta data a un percorso di cartella solo quando hai curato un dataset personalizzato.

Link to this sectionDataset supportati#

Ultralytics supporta i seguenti dataset con download automatico:

  • Caltech 101: un dataset contenente immagini di 101 categorie di oggetti per task di classificazione di immagini.
  • Caltech 256: una versione estesa di Caltech 101 con 256 categorie di oggetti e immagini più complesse.
  • CIFAR-10: un dataset di 60.000 immagini a colori 32x32 suddivise in 10 classi, con 6.000 immagini per classe.
  • CIFAR-100: una versione estesa di CIFAR-10 con 100 categorie di oggetti e 600 immagini per classe.
  • Fashion-MNIST: un dataset composto da 70.000 immagini in scala di grigi di 10 categorie di moda per task di classificazione di immagini.
  • ImageNet: un dataset su larga scala per object detection e 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 testing più rapidi.
  • Imagenette: un sottoinsieme più piccolo di ImageNet che contiene 10 classi facilmente distinguibili per un training e un testing più veloci.
  • Imagewoof: un sottoinsieme più impegnativo di ImageNet contenente 10 categorie di razze canine per task di classificazione di immagini.
  • MNIST: un dataset di 70.000 immagini in scala di grigi di cifre scritte a mano per task di classificazione di immagini.
  • MNIST160: le prime 8 immagini di ogni cifra (0-9) sia dal set di addestramento che da quello di test di MNIST. Il dataset contiene 160 immagini in totale.

Link to this sectionAggiungere il tuo dataset#

Se hai il tuo dataset e desideri utilizzarlo per addestrare modelli di classificazione con Ultralytics YOLO, assicurati che segua il formato specificato sopra in "Struttura del dataset" e quindi punta il tuo argomento data alla directory del dataset quando inizializzi il tuo script di training.

Link to this sectionFAQ#

Link to this sectionCome posso strutturare il mio dataset per i task di classificazione YOLO?#

Per strutturare il tuo dataset per i task di classificazione Ultralytics YOLO, dovresti seguire uno specifico formato a directory suddivise. Organizza il tuo dataset in directory separate per train, test e, facoltativamente, val. Ciascuna di queste directory dovrebbe contenere sottodirectory denominate in base a ogni classe, con le immagini corrispondenti all'interno. Questo facilita processi di training e valutazione agevoli. Per un esempio, considera il formato del dataset CIFAR-10:

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

Per ulteriori dettagli, visita la sezione Struttura del dataset per i task di classificazione YOLO.

Link to this sectionQuali dataset sono supportati da Ultralytics YOLO per la classificazione di immagini?#

Ultralytics YOLO supporta il download automatico di diversi dataset per la classificazione di immagini, tra cui Caltech 101, Caltech 256, CIFAR-10, CIFAR-100, Fashion-MNIST, ImageNet, ImageNet-10, Imagenette, Imagewoof e MNIST. Questi dataset sono strutturati in modo da essere facilmente utilizzabili con YOLO. La pagina di ciascun dataset fornisce ulteriori dettagli sulla sua struttura e sulle sue applicazioni.

Link to this sectionCome aggiungo il mio dataset per la classificazione di immagini YOLO?#

Per utilizzare il tuo dataset con Ultralytics YOLO, assicurati che segua il formato di directory specificato richiesto per il task di classificazione, con directory separate per train, test e, facoltativamente, val, e sottodirectory per ogni classe contenenti le rispettive immagini. Una volta che il tuo dataset è strutturato correttamente, punta l'argomento data alla directory root del tuo dataset quando inizializzi lo script di training. Ecco un esempio in Python:

from ultralytics import YOLO

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

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

Ulteriori dettagli sono disponibili nella sezione Aggiungere il proprio dataset.

Link to this sectionPerché dovrei usare Ultralytics YOLO per la classificazione di immagini?#

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

  • Modelli preaddestrati: carica modelli preaddestrati come yolo26n-cls.pt per avviare rapidamente il tuo processo di training.
  • Facilità d'uso: API semplice e comandi CLI per il training e la valutazione.
  • Alte prestazioni: accuratezza e velocità all'avanguardia, ideali per applicazioni in tempo reale.
  • Supporto per dataset multipli: integrazione fluida con vari dataset popolari come CIFAR-10, ImageNet e altri.
  • Community e supporto: accesso a documentazione estesa e a una community attiva per la risoluzione di problemi e miglioramenti.

Per ulteriori approfondimenti e applicazioni nel mondo reale, puoi esplorare Ultralytics YOLO.

Link to this sectionCome posso addestrare un modello utilizzando Ultralytics YOLO?#

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

Esempio
from ultralytics import YOLO

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

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

Questi esempi dimostrano il processo diretto per addestrare un modello YOLO utilizzando entrambi gli approcci. Per maggiori informazioni, visita la sezione Utilizzo e la pagina Train per i task di classificazione.

Commenti