Vai al contenuto

Set di dati COCO128

Introduzione

Ultralytics COCO128 è un piccolo ma versatile set di dati per il rilevamento di oggetti composto dalle prime 128 immagini del set COCO train 2017. Questo set di dati è ideale per il test e il debug dei modelli di rilevamento degli oggetti o per sperimentare nuovi approcci di rilevamento. Con 128 immagini, è abbastanza piccolo da essere facilmente gestibile, ma sufficientemente diversificato per testare le pipeline di addestramento alla ricerca di errori e fungere da verifica della correttezza prima di addestrare set di dati più grandi.



Guarda: Ultralytics Panoramica del set di dati COCO

Questo set di dati è destinato all'utilizzo di Ultralytics HUB e di YOLO11.

Set di dati YAML

Un file YAML (Yet Another Markup Language) è usato per definire la configurazione del dataset. Contiene informazioni sui percorsi del dataset, sulle classi e altre informazioni rilevanti. Nel caso del set di dati COCO128, il file coco128.yaml Il file viene mantenuto all'indirizzo https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco128.yaml.

ultralytics.yaml

# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# COCO128 dataset https://www.kaggle.com/datasets/ultralytics/coco128 (first 128 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/detect/coco/
# Example usage: yolo train data=coco128.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco128  ← downloads here (7 MB)

# 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/coco128 # dataset root dir
train: images/train2017 # train images (relative to 'path') 128 images
val: images/train2017 # val images (relative to 'path') 128 images
test: # test images (optional)

# Classes
names:
  0: person
  1: bicycle
  2: car
  3: motorcycle
  4: airplane
  5: bus
  6: train
  7: truck
  8: boat
  9: traffic light
  10: fire hydrant
  11: stop sign
  12: parking meter
  13: bench
  14: bird
  15: cat
  16: dog
  17: horse
  18: sheep
  19: cow
  20: elephant
  21: bear
  22: zebra
  23: giraffe
  24: backpack
  25: umbrella
  26: handbag
  27: tie
  28: suitcase
  29: frisbee
  30: skis
  31: snowboard
  32: sports ball
  33: kite
  34: baseball bat
  35: baseball glove
  36: skateboard
  37: surfboard
  38: tennis racket
  39: bottle
  40: wine glass
  41: cup
  42: fork
  43: knife
  44: spoon
  45: bowl
  46: banana
  47: apple
  48: sandwich
  49: orange
  50: broccoli
  51: carrot
  52: hot dog
  53: pizza
  54: donut
  55: cake
  56: chair
  57: couch
  58: potted plant
  59: bed
  60: dining table
  61: toilet
  62: tv
  63: laptop
  64: mouse
  65: remote
  66: keyboard
  67: cell phone
  68: microwave
  69: oven
  70: toaster
  71: sink
  72: refrigerator
  73: book
  74: clock
  75: vase
  76: scissors
  77: teddy bear
  78: hair drier
  79: toothbrush

# Download script/URL (optional)
download: https://github.com/ultralytics/assets/releases/download/v0.0.0/coco128.zip

Utilizzo

Per addestrare un modello YOLO11n sul dataset COCO128 per 100 epoche con una dimensione dell'immagine di 640, è possibile utilizzare i seguenti frammenti di codice. Per un elenco completo degli argomenti disponibili, consultare la pagina di addestramento del modello.

Esempio di treno

from ultralytics import YOLO

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

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

Immagini di esempio e annotazioni

Ecco alcuni esempi di immagini tratte dal dataset COCO128, con le relative annotazioni:

Immagine campione del set di dati

  • Immagine a mosaico: Questa immagine mostra un batch di addestramento composto da immagini del dataset mosaicate. La mosaicatura è una tecnica utilizzata durante l'addestramento che combina più immagini in un'unica immagine per aumentare la varietà di oggetti e scene all'interno di ciascun batch di addestramento. Ciò contribuisce a migliorare la capacità del modello di generalizzarsi a oggetti di dimensioni, rapporti di aspetto e contesti diversi.

L'esempio mostra la varietà e la complessità delle immagini del dataset COCO128 e i vantaggi dell'uso della mosaicatura durante il processo di addestramento.

Citazioni e ringraziamenti

Se utilizzate il set di dati COCO nel vostro lavoro di ricerca o sviluppo, siete pregati di citare il seguente documento:

@misc{lin2015microsoft,
      title={Microsoft COCO: Common Objects in Context},
      author={Tsung-Yi Lin and Michael Maire and Serge Belongie and Lubomir Bourdev and Ross Girshick and James Hays and Pietro Perona and Deva Ramanan and C. Lawrence Zitnick and Piotr Dollár},
      year={2015},
      eprint={1405.0312},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

Desideriamo ringraziare il Consorzio COCO per aver creato e mantenuto questa preziosa risorsa per la comunità della computer vision. Per ulteriori informazioni sul dataset COCO e sui suoi creatori, visitare il sito web del dataset COCO.

FAQ

Per cosa viene utilizzato il dataset Ultralytics COCO128?

Il dataset Ultralytics COCO128 è un sottoinsieme compatto contenente le prime 128 immagini del dataset COCO train 2017. È utilizzato principalmente per testare e debuggare i modelli di rilevamento degli oggetti, sperimentare nuovi approcci di rilevamento e convalidare le pipeline di addestramento prima di scalare a set di dati più grandi. Le sue dimensioni maneggevoli lo rendono perfetto per le iterazioni rapide, pur offrendo una diversità sufficiente per essere un caso di prova significativo.

Come si addestra un modello YOLO11 utilizzando il dataset COCO128?

Per addestrare un modello YOLO11 sul set di dati COCO128, è possibile utilizzare comandi Python o CLI . Ecco come fare:

Esempio di treno

from ultralytics import YOLO

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

# Train the model
results = model.train(data="coco128.yaml", epochs=100, imgsz=640)
yolo detect train data=coco128.yaml model=yolo11n.pt epochs=100 imgsz=640

Per ulteriori opzioni e parametri di formazione, consultare la documentazione sulla formazione.

Quali sono i vantaggi dell'aumento del mosaico con COCO128?

L'incremento a mosaico, come mostrato nelle immagini di esempio, combina più immagini di addestramento in un'unica immagine composita. Questa tecnica offre diversi vantaggi nell'addestramento con COCO128:

  • Aumenta la varietà di oggetti e contesti all'interno di ogni gruppo di allenamento.
  • Migliora la generalizzazione del modello su oggetti di dimensioni e rapporti d'aspetto diversi.
  • Migliora le prestazioni di rilevamento per gli oggetti a varie scale
  • Massimizza l'utilità di un piccolo set di dati creando campioni di addestramento più diversificati.

Questa tecnica è particolarmente preziosa per i set di dati più piccoli come COCO128, in quanto aiuta i modelli ad apprendere caratteristiche più robuste da dati limitati.

Come si colloca COCO128 rispetto alle altre varianti del dataset COCO?

COCO128 (128 immagini) si colloca tra COCO8 (8 immagini) e l'intero set di dati COCO (oltre 118K immagini) in termini di dimensioni:

  • COCO8: contiene solo 8 immagini (4 train, 4 val), ideali per test rapidi e debug.
  • COCO128: contiene 128 immagini, con un equilibrio tra dimensioni e diversità.
  • COCO completo: contiene più di 118K immagini di formazione - completo ma che richiede molte risorse.

COCO128 rappresenta una buona via di mezzo, in quanto offre una maggiore diversità rispetto a COCO8, pur rimanendo molto più gestibile rispetto all'intero set di dati COCO per la sperimentazione e lo sviluppo iniziale dei modelli.

È possibile utilizzare COCO128 per attività diverse dal rilevamento di oggetti?

Sebbene COCO128 sia stato progettato principalmente per il rilevamento di oggetti, le annotazioni del dataset possono essere adattate ad altri compiti di computer vision:

  • Segmentazione dell'istanza: Utilizzando le maschere di segmentazione fornite nelle annotazioni.
  • Rilevamento dei punti chiave: Per le immagini contenenti persone con annotazioni sui punti chiave
  • Apprendimento per trasferimento: Come punto di partenza per la messa a punto di modelli per compiti personalizzati.

Per compiti specializzati come la segmentazione, si può considerare l'uso di varianti appositamente costruite, come COCO8-seg, che includono le annotazioni appropriate.

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

Commenti