YOLO Vision 2026:

Dataset COCO-Seg#

Il set di dati COCO-Seg fornisce COCO (Common Objects in Context) maschere di segmentazione d'istanza — 118.287 immagini di training e 5.000 di validazione con maschere poligonali su 80 categorie di oggetti — nel formato di etichetta Ultralytics YOLO. Utilizza le immagini originali di COCO e le annotazioni native di segmentazione, convertite per il training di YOLO, rendendolo una risorsa fondamentale per ricercatori e sviluppatori che lavorano su attività di instance segmentation.

Modelli preaddestrati COCO-Seg#

Modellodimensione
(pixel)
mAPbox
50-95(e2e)
mAPmask
50-95(e2e)
Velocità
CPU ONNX
(ms)
Velocità
T4 TensorRT10
(ms)
params
(M)
FLOPs
(B)
YOLO26n-seg64039.633.953.3 ± 0.52.1 ± 0.02.79.1
YOLO26s-seg64047.340.0118.4 ± 0.93.3 ± 0.010.434.2
YOLO26m-seg64052.544.1328.2 ± 2.46.7 ± 0.123.6121.5
YOLO26l-seg64054.445.5387.0 ± 3.78.0 ± 0.128.0139.8
YOLO26x-seg64056.547.0787.0 ± 6.816.4 ± 0.162.8313.5

Caratteristiche principali#

  • COCO-Seg fornisce maschere di segmentazione di istanze per 123.287 immagini etichettate COCO train2017/val2017 (118.287 train + 5.000 val), su un rilascio più ampio di COCO di circa ~330K immagini.
  • Il dataset consiste nelle stesse 80 categorie di oggetti presenti nel dataset COCO originale.
  • Le annotazioni forniscono maschere di segmentazione di istanze nel formato di etichetta poligonale YOLO.
  • COCO-Seg fornisce metriche mAP e mAR standardizzate per valutare le prestazioni di segmentazione delle istanze, consentendo un confronto efficace delle prestazioni del modello.
  • Dimensione del download: ~20,3 GB al primo utilizzo (train2017.zip + val2017.zip + etichette). I 7 GB di test2017.zip non vengono scaricati automaticamente, poiché tali immagini hanno la ground truth nascosta e sono necessarie solo per un'invio a test-dev2017.

Struttura del dataset#

Il dataset COCO-Seg è suddiviso in tre sottoinsiemi:

  1. Train2017: 118.287 immagini per l'addestramento di modelli di segmentazione di istanze.
  2. Val2017: 5.000 immagini utilizzate per la validazione durante lo sviluppo del modello.
  3. Test-dev2017: 20.288 delle 40.670 immagini test2017, utilizzate per il benchmarking. Le annotazioni di ground-truth per questo sottoinsieme non sono disponibili pubblicamente, quindi le previsioni devono essere inviate al server di valutazione COCO per il punteggio.

Per esigenze di sperimentazione più ridotte, consulta i sottoinsiemi COCO128-Seg (128 immagini) e COCO8-Seg (8 immagini).

Applicazioni#

COCO-Seg è ampiamente utilizzato per addestrare e valutare modelli di deep learning sull'instance segmentation, come i modelli YOLO. Il grande numero di immagini annotate, la diversità delle categorie di oggetti e le metriche di valutazione standardizzate lo rendono una risorsa indispensabile per ricercatori e professionisti della computer vision. Le annotazioni complete di COCO-Seg possono anche essere consultate e gestite su Ultralytics Platform.

Dataset YAML#

Un file YAML viene utilizzato per definire la configurazione del set di dati. Contiene informazioni sui percorsi del set di dati, sulle classi e altre informazioni pertinenti. Nel caso del set di dati COCO-Seg, il file coco.yaml è mantenuto su https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yaml.

ultralytics/cfg/datasets/coco.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# COCO 2017 dataset https://cocodataset.org by Microsoft
# Documentation: https://docs.ultralytics.com/datasets/detect/coco
# Example usage: yolo train data=coco.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco ← downloads here (20.3 GB)

# 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: coco # dataset root dir
train: train2017.txt # train images (relative to 'path') 118287 images
val: val2017.txt # val images (relative to 'path') 5000 images
test: test-dev2017.txt # 20288 of 40670 images, submit via https://cocodataset.org/#detection-eval

# 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: |
  from pathlib import Path

  from ultralytics.utils import ASSETS_URL
  from ultralytics.utils.downloads import download

  # Download labels
  segments = True  # segment or box labels
  dir = Path(yaml["path"])  # dataset root dir
  urls = [ASSETS_URL + ("/coco2017labels-segments.zip" if segments else "/coco2017labels.zip")]  # labels
  download(urls, dir=dir.parent)

  # Download data (test2017.zip excluded: ground truth is withheld, only used for the eval-server test-dev split)
  urls = [
      "http://images.cocodataset.org/zips/train2017.zip",  # 19G, 118k images
      "http://images.cocodataset.org/zips/val2017.zip",  # 1G, 5k images
  ]
  download(urls, dir=dir / "images", threads=3)

Utilizzo#

Per addestrare un modello YOLO26n-seg sul set di dati COCO-Seg per 100 epoch con una dimensione dell'immagine di 640, puoi utilizzare i seguenti frammenti di codice. Per un elenco completo degli argomenti disponibili, fai riferimento alla pagina di Training del modello.

Esempio di Addestramento
from ultralytics import YOLO

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

# Train the model
results = model.train(data="coco.yaml", epochs=100, imgsz=640)

Esempi di immagini e annotazioni#

COCO-Seg contiene le stesse immagini diversificate, categorie di oggetti e scene complesse di COCO, con maschere di segmentazione di istanze fornite nel formato di etichetta YOLO. Ecco alcuni esempi di immagini dal dataset, insieme alle loro corrispondenti maschere di segmentazione di istanze:

Batch di addestramento a mosaico del dataset di segmentazione COCO

  • Immagine a mosaico: Questa immagine mostra un batch di addestramento composto da immagini del dataset unite a mosaico. La mosaiciatura è una tecnica utilizzata durante il training che combina più immagini in un'unica immagine per aumentare la varietà di oggetti e scene all'interno di ciascun batch di addestramento. Ciò aiuta la capacità del modello di generalizzare a diverse dimensioni di oggetti, proporzioni e contesti.

Citazioni e riconoscimenti#

Se utilizzi il dataset COCO-Seg nel tuo lavoro di ricerca o sviluppo, ti preghiamo di citare il paper originale di COCO e di riconoscere l'estensione a COCO-Seg:

Citazione
@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}
}

Ringraziamo il COCO Consortium per aver creato e mantenuto questa risorsa inestimabile per la community della computer vision. Per ulteriori informazioni sul set di dati COCO e sui suoi creatori, visita il sito web del dataset COCO.

FAQ#

  • COCO-Seg è la confezione nel formato Ultralytics YOLO delle maschere di segmentazione d'istanza native di COCO (Common Objects in Context) per le stesse 118.287 immagini train2017 e 5.000 val2017. Le annotazioni COCO originali includono già queste maschere poligonali per tutte le 80 categorie di oggetti; COCO-Seg le converte nel formato di etichetta YOLO utilizzato per il training di object instance segmentation.

  • Per addestrare un modello YOLO26n-seg sul set di dati COCO-Seg per 100 epoche con una dimensione dell'immagine di 640, puoi utilizzare i seguenti frammenti di codice. Per un elenco dettagliato degli argomenti di addestramento disponibili, fai riferimento alla pagina di Training del modello.

    Esempio di Addestramento
    from ultralytics import YOLO
    
    # Load a model
    model = YOLO("yolo26n-seg.pt")  # load a pretrained model (recommended for training)
    
    # Train the model
    results = model.train(data="coco.yaml", epochs=100, imgsz=640)
  • Il dataset COCO-Seg include diverse caratteristiche chiave:

    • Fornisce maschere di segmentazione di istanze per 123.287 immagini etichettate COCO train2017/val2017 (118.287 train + 5.000 val).
    • Annota le stesse 80 categorie di oggetti trovate nel COCO originale.
    • Fornisce maschere di segmentazione di istanze nel formato di etichetta poligonale YOLO.
    • Utilizza metriche di valutazione standardizzate come la Precision media (mAP) e il mean Average Recall (mAR) per attività di instance segmentation.
  • Il dataset COCO-Seg supporta molteplici modelli di segmentazione YOLO26 preaddestrati con metriche di prestazione variabili. Ecco un riepilogo dei modelli disponibili e delle loro metriche chiave:

    Modellodimensione
    (pixel)
    mAPbox
    50-95(e2e)
    mAPmask
    50-95(e2e)
    Velocità
    CPU ONNX
    (ms)
    Velocità
    T4 TensorRT10
    (ms)
    params
    (M)
    FLOPs
    (B)
    YOLO26n-seg64039.633.953.3 ± 0.52.1 ± 0.02.79.1
    YOLO26s-seg64047.340.0118.4 ± 0.93.3 ± 0.010.434.2
    YOLO26m-seg64052.544.1328.2 ± 2.46.7 ± 0.123.6121.5
    YOLO26l-seg64054.445.5387.0 ± 3.78.0 ± 0.128.0139.8
    YOLO26x-seg64056.547.0787.0 ± 6.816.4 ± 0.162.8313.5

    Questi modelli spaziano dal leggero YOLO26n-seg al più potente YOLO26x-seg, offrendo diversi compromessi tra velocità e accuratezza per soddisfare vari requisiti applicativi. Per ulteriori informazioni sulla selezione del modello, visita la pagina dei modelli Ultralytics.

  • Il dataset COCO-Seg è suddiviso in tre sottoinsiemi per esigenze specifiche di addestramento e valutazione:

    1. Train2017: Contiene 118.287 immagini utilizzate principalmente per l'addestramento di modelli di segmentazione di istanze.
    2. Val2017: Comprende 5.000 immagini utilizzate per la validazione durante il processo di addestramento.
    3. Test-dev2017: Comprende 20.288 delle 40.670 immagini test2017 riservate al test e al benchmarking dei modelli addestrati. Nota che le annotazioni di ground truth per questo sottoinsieme non sono disponibili pubblicamente e i risultati delle prestazioni vengono inviati al server di valutazione COCO per la valutazione.

    Per esigenze di sperimentazione minori, potresti anche prendere in considerazione il set di dati COCO128-Seg (128 immagini) o il set di dati COCO8-Seg, una versione compatta contenente solo 8 immagini dal set COCO train 2017.

Commenti