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:

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)
    ```

=== "CLI"

`bash
    yolo detect train data=coco128.yaml model=yolo11n.pt epochs=100 imgsz=640
    `

For more training options and parameters, refer to the [Training](../../modes/train.md) documentation.

### What are the benefits of using mosaic augmentation with COCO128?

Mosaic augmentation, as shown in the sample images, combines multiple training images into a single composite image. This technique offers several benefits when training with COCO128:

- Increases the variety of objects and contexts within each training batch
- Improves model generalization across different object sizes and aspect ratios
- Enhances detection performance for objects at various scales
- Maximizes the utility of a small dataset by creating more diverse training samples

This technique is particularly valuable for smaller datasets like COCO128, helping models learn more robust features from limited data.

### How does COCO128 compare to other COCO dataset variants?

COCO128 (128 images) sits between [COCO8](../detect/coco8.md) (8 images) and the full [COCO](../detect/coco.md) dataset (118K+ images) in terms of size:

- **COCO8**: Contains just 8 images (4 train, 4 val) - ideal for quick tests and debugging
- **COCO128**: Contains 128 images - balanced between size and diversity
- **Full COCO**: Contains 118K+ training images - comprehensive but resource-intensive

COCO128 provides a good middle ground, offering more diversity than COCO8 while remaining much more manageable than the full COCO dataset for experimentation and initial model development.

### Can I use COCO128 for tasks other than object detection?

While COCO128 is primarily designed for object detection, the dataset's annotations can be adapted for other computer vision tasks:

- **Instance segmentation**: Using the segmentation masks provided in the annotations
- **Keypoint detection**: For images containing people with keypoint annotations
- **Transfer learning**: As a starting point for fine-tuning models for custom tasks

For specialized tasks like [segmentation](../../tasks/segment.md), consider using purpose-built variants like [COCO8-seg](../segment/coco8-seg.md) which include the appropriate annotations.
📅C reato 8 giorni fa ✏️ Aggiornato 0 giorni fa

Commenti