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#
| Modello | dimensione (pixel) | mAPbox 50-95(e2e) | mAPmask 50-95(e2e) | Velocità CPU ONNX (ms) | Velocità T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|---|
| YOLO26n-seg | 640 | 39.6 | 33.9 | 53.3 ± 0.5 | 2.1 ± 0.0 | 2.7 | 9.1 |
| YOLO26s-seg | 640 | 47.3 | 40.0 | 118.4 ± 0.9 | 3.3 ± 0.0 | 10.4 | 34.2 |
| YOLO26m-seg | 640 | 52.5 | 44.1 | 328.2 ± 2.4 | 6.7 ± 0.1 | 23.6 | 121.5 |
| YOLO26l-seg | 640 | 54.4 | 45.5 | 387.0 ± 3.7 | 8.0 ± 0.1 | 28.0 | 139.8 |
| YOLO26x-seg | 640 | 56.5 | 47.0 | 787.0 ± 6.8 | 16.4 ± 0.1 | 62.8 | 313.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 ditest2017.zipnon 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:
- Train2017: 118.287 immagini per l'addestramento di modelli di segmentazione di istanze.
- Val2017: 5.000 immagini utilizzate per la validazione durante lo sviluppo del modello.
- 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 🚀 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.
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:

- 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:
@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 Addestramentofrom 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:
Modello dimensione
(pixel)mAPbox
50-95(e2e)mAPmask
50-95(e2e)Velocità
CPU ONNX
(ms)Velocità
T4 TensorRT10
(ms)params
(M)FLOPs
(B)YOLO26n-seg 640 39.6 33.9 53.3 ± 0.5 2.1 ± 0.0 2.7 9.1 YOLO26s-seg 640 47.3 40.0 118.4 ± 0.9 3.3 ± 0.0 10.4 34.2 YOLO26m-seg 640 52.5 44.1 328.2 ± 2.4 6.7 ± 0.1 23.6 121.5 YOLO26l-seg 640 54.4 45.5 387.0 ± 3.7 8.0 ± 0.1 28.0 139.8 YOLO26x-seg 640 56.5 47.0 787.0 ± 6.8 16.4 ± 0.1 62.8 313.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:
- Train2017: Contiene 118.287 immagini utilizzate principalmente per l'addestramento di modelli di segmentazione di istanze.
- Val2017: Comprende 5.000 immagini utilizzate per la validazione durante il processo di addestramento.
- 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.



