Vai al contenuto

Panoramica dei set di dati per il rilevamento degli oggetti

L'addestramento di un modello di rilevamento degli oggetti robusto e preciso richiede un set di dati completo. Questa guida presenta i vari formati di set di dati compatibili con il modello Ultralytics YOLO e fornisce informazioni sulla loro struttura, sul loro utilizzo e su come convertire i diversi formati.

Formati di dati supportati

Ultralytics YOLO formato

Il formato Ultralytics YOLO è un formato di configurazione del dataset che ti permette di definire la directory principale del dataset, i percorsi relativi alle directory delle immagini di formazione/validazione/test oppure *.txt file contenenti i percorsi delle immagini e un dizionario di nomi di classi. Ecco un esempio:

# 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

Le etichette per questo formato devono essere esportate in formato YOLO con un solo *.txt file per immagine. Se non ci sono oggetti in un'immagine, non c'è alcun file *.txt è necessario. Il *.txt Il file deve essere formattato con una riga per ogni oggetto in class x_center y_center width height formato. Le coordinate della casella devono essere in xywh normalizzato (da 0 a 1). Se le tue caselle sono in pixel, devi dividere x_center e width per larghezza dell'immagine e y_center e height per altezza dell'immagine. I numeri delle classi devono essere indicizzati a zero (iniziano con 0).

Esempio di immagine etichettata

Il file di etichetta corrispondente all'immagine precedente contiene 2 persone (classe 0) e un pareggio (classe 27):

Esempio di file di etichetta

Quando utilizzi il formato Ultralytics YOLO , organizza le immagini di formazione e di convalida e le etichette come mostrato nell'esempio del set di dati COCO8.

Esempio di struttura della directory del dataset

Utilizzo

Ecco come puoi utilizzare questi formati per addestrare il tuo modello:

Esempio

from ultralytics import YOLO

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

# Train the model
results = model.train(data='coco8.yaml', epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=coco8.yaml model=yolov8n.pt epochs=100 imgsz=640

Set di dati supportati

Ecco un elenco dei set di dati supportati e una breve descrizione di ciascuno:

  • Argoverse: Una raccolta di dati di sensori raccolti da veicoli autonomi. Contiene annotazioni di tracciamento 3D per gli oggetti delle auto.
  • COCO: Common Objects in Context (COCO) è un set di dati su larga scala per il rilevamento, la segmentazione e la didascalia di oggetti con 80 categorie di oggetti.
  • LVIS: LVIS è un set di dati su larga scala per il rilevamento, la segmentazione e la didascalia di oggetti con 1203 categorie di oggetti.
  • COCO8: Sottoinsieme più piccolo del dataset COCO, COCO8 è più leggero e veloce da addestrare.
  • GlobalWheat2020: Un set di dati contenente immagini di teste di grano per la Global Wheat Challenge 2020.
  • Oggetti365: Un set di dati su larga scala per il rilevamento di oggetti, con 365 categorie di oggetti e 600k immagini, che ha lo scopo di far progredire la ricerca sul rilevamento di oggetti.
  • OpenImagesV7: Un set di dati completo di Google con 1,7 milioni di immagini di addestramento e 42.000 immagini di convalida.
  • SKU-110K: Un set di dati contenente immagini di prodotti al dettaglio densamente imballati, destinati al rilevamento di oggetti in ambienti di vendita al dettaglio.
  • VisDrone: Un set di dati incentrato sulle immagini scattate con i droni, contenente varie categorie di oggetti come automobili, pedoni e ciclisti.
  • VOC: PASCAL VOC è un popolare set di dati per il rilevamento di oggetti con 20 categorie di oggetti tra cui veicoli, animali e mobili.
  • xVedi: Un set di dati contenente immagini satellitari ad alta risoluzione, progettato per il rilevamento di varie classi di oggetti nelle viste dall'alto.
  • Tumore al cervello: Questo set di dati comprende immagini di risonanza magnetica o TAC contenenti informazioni sulla presenza, la posizione e le caratteristiche del tumore al cervello. Svolge un ruolo fondamentale nell'addestramento di modelli di computer vision per automatizzare l'identificazione dei tumori, facilitando la diagnosi precoce e la pianificazione del trattamento.
  • Vita selvatica africana: Con immagini di animali selvatici africani come bufali, elefanti, rinoceronti e zebre, questo set di dati è fondamentale per l'addestramento di modelli di computer vision. È indispensabile per identificare gli animali in diversi habitat e contribuisce in modo significativo alle attività di ricerca sulla fauna selvatica.

Aggiungi il tuo set di dati

Se hai un tuo set di dati e vuoi utilizzarlo per addestrare i modelli di rilevamento con il formato Ultralytics YOLO , assicurati che segua il formato specificato sopra in "FormatoUltralytics YOLO ". Converti le tue annotazioni nel formato richiesto e specifica i percorsi, il numero di classi e i nomi delle classi nel file di configurazione YAML.

Porta o converti i formati delle etichette

Formato del set di dati COCO in formato YOLO

Puoi convertire facilmente le etichette dal popolare formato COCO al formato YOLO utilizzando il seguente frammento di codice:

Esempio

from ultralytics.data.converter import convert_coco

convert_coco(labels_dir='path/to/coco/annotations/')

Questo strumento di conversione può essere utilizzato per convertire il set di dati COCO o qualsiasi altro set di dati in formato COCO nel formato Ultralytics YOLO .

Ricordati di controllare due volte che il set di dati che vuoi utilizzare sia compatibile con il tuo modello e che segua le convenzioni di formato necessarie. I dataset correttamente formattati sono fondamentali per addestrare modelli di rilevamento di oggetti di successo.



Creato 2023-11-12, Aggiornato 2024-04-18
Autori: glenn-jocher (7), IvorZhu331 (1), Laughing-q (1), RizwanMunawar (1)

Commenti