COCO-Seg-Datensatz#
Das COCO-Seg Dataset stellt COCO (Common Objects in Context) Instanz-Segmentierungsmasken bereit — 118.287 Trainings- und 5.000 Validierungsbilder mit Polygon-Masken für 80 Objektkategorien — im Ultralytics YOLO-Labelformat. Es verwendet die originalen COCO-Bilder und die nativen Segmentierungs-Annotationen, konvertiert für das YOLO-Training, was es zu einer entscheidenden Ressource für Forscher und Entwickler macht, die an instance segmentation-Aufgaben arbeiten.
COCO-Seg vortrainierte Modelle#
| Modell | Größe (Pixel) | mAPbox 50-95(e2e) | mAPmask 50-95(e2e) | Geschwindigkeit CPU ONNX (ms) | Geschwindigkeit T4 TensorRT10 (ms) | Parameter (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 |
Hauptfunktionen#
- COCO-Seg bietet Instanz-Segmentierungsmasken für 123.287 annotierte COCO train2017/val2017 Bilder (118.287 train + 5.000 val), aus der umfassenderen ~330.000 Bilder umfassenden COCO-Veröffentlichung.
- Der Datensatz besteht aus denselben 80 Objektkategorien, die auch im ursprünglichen COCO-Datensatz enthalten sind.
- Annotationen bieten Instanz-Segmentierungsmasken im YOLO-Polygon-Labelformat.
- COCO-Seg stellt standardisierte mAP- und mAR-Metriken zur Bewertung der Instanz-Segmentierungsleistung bereit, was einen effektiven Vergleich der Modellleistung ermöglicht.
- Downloadgröße: ~20,3 GB bei der ersten Verwendung (
train2017.zip+val2017.zip+ Labels). Die 7 GB große Dateitest2017.zipwird nicht automatisch abgerufen, da diese Bilder keine Ground Truth enthalten und nur für eine test-dev2017-Einreichung benötigt werden.
Datensatzstruktur#
Der COCO-Seg-Datensatz ist in drei Teilmengen unterteilt:
- Train2017: 118.287 Bilder für das Training von Instanz-Segmentierungsmodellen.
- Val2017: 5.000 Bilder, die zur Validierung während der Modellentwicklung verwendet werden.
- Test-dev2017: 20.288 der 40.670 test2017-Bilder, die für Benchmarks verwendet werden. Ground-Truth-Annotationen für diese Teilmenge sind nicht öffentlich verfügbar, daher müssen Vorhersagen zur Bewertung beim COCO evaluation server eingereicht werden.
Für kleinere Experimente sieh dir die Teilmengen COCO128-Seg (128 Bilder) und COCO8-Seg (8 Bilder) an.
Anwendungen#
COCO-Seg wird häufig für das Training und die Evaluierung von deep learning-Modellen für instance segmentation verwendet, wie etwa die YOLO-Modelle. Die große Anzahl annotierter Bilder, die Vielfalt der Objektkategorien und die standardisierten Bewertungsmetriken machen es zu einer unverzichtbaren Ressource für computer vision-Forscher und Praktiker. Vollständige COCO-Seg-Annotationen können auch auf der Ultralytics Platform durchsucht und verwaltet werden.
Datensatz-YAML#
Eine YAML-Datei wird verwendet, um die Dataset-Konfiguration zu definieren. Sie enthält Informationen über die Pfade, Klassen und andere relevante Daten des Datasets. Im Fall des COCO-Seg-Datasets wird die Datei coco.yaml unter https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yaml gepflegt.
# 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)Verwendung#
Um ein YOLO26n-seg-Modell auf dem COCO-Seg-Datensatz für 100 Epochen mit einer Bildgröße von 640 zu trainieren, kannst du die folgenden Code-Snippets verwenden. Eine vollständige Liste der verfügbaren Argumente findest du auf der Seite Training für Modelle.
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)Beispielbilder und Annotationen#
COCO-Seg enthält dieselben vielfältigen Bilder, Objektkategorien und komplexen Szenen wie COCO, wobei Instanz-Segmentierungsmasken im YOLO-Labelformat bereitgestellt werden. Hier sind einige Beispiele von Bildern aus dem Datensatz, zusammen mit ihren entsprechenden Instanz-Segmentierungsmasken:

- Mosaiced Image: Dieses Bild zeigt einen Trainings-Batch, der aus mosaikierten Dataset-Bildern besteht. Mosaicing ist eine Technik, die während des Trainings verwendet wird und mehrere Bilder zu einem einzigen kombiniert, um die Vielfalt der Objekte und Szenen innerhalb jedes Trainings-Batches zu erhöhen. Dies unterstützt die Fähigkeit des Modells, auf verschiedene Objektgrößen, Seitenverhältnisse und Kontexte zu generalisieren.
Zitate und Danksagungen#
Wenn du den COCO-Seg-Datensatz in deiner Forschungs- oder Entwicklungsarbeit verwendest, zitiere bitte das ursprüngliche COCO-Paper und erkenne die Erweiterung zu COCO-Seg an:
@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}
}Wir danken dem COCO-Konsortium für die Erstellung und Pflege dieser wertvollen Ressource für die Computer-Vision-Community. Weitere Informationen über den COCO-Datensatz und seine Ersteller findest du auf der COCO-Datensatz-Website.
FAQ#
Was ist der COCO-Seg-Datensatz und wie unterscheidet er sich vom ursprünglichen COCO-Datensatz?#
COCO-Seg ist das Ultralytics YOLO-formatierte Paket der nativen COCO (Common Objects in Context) Instanz-Segmentierungsmasken für dieselben 118.287 train2017- und 5.000 val2017-Bilder. Die ursprünglichen COCO-Annotationen enthalten bereits diese Polygon-Masken für alle 80 Objektkategorien; COCO-Seg konvertiert sie in das YOLO-Labelformat, das für das object instance segmentation-Training verwendet wird.
Wie kann ich ein YOLO26-Modell mit dem COCO-Seg-Datensatz trainieren?#
Um ein YOLO26n-seg-Modell auf dem COCO-Seg-Datensatz für 100 Epochen mit einer Bildgröße von 640 zu trainieren, kannst du die folgenden Code-Snippets verwenden. Eine detaillierte Liste der verfügbaren Trainingsargumente findest du auf der Modell-Training-Seite.
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)Was sind die Hauptmerkmale des COCO-Seg-Datensatzes?#
Der COCO-Seg-Datensatz umfasst mehrere Hauptmerkmale:
- Bietet Instanz-Segmentierungsmasken für 123.287 annotierte COCO train2017/val2017-Bilder (118.287 train + 5.000 val).
- Annotiert dieselben 80 Objektkategorien, die auch im ursprünglichen COCO gefunden wurden.
- Bietet Instanz-Segmentierungsmasken im YOLO-Polygon-Labelformat.
- Verwendet standardisierte Bewertungsmetriken wie mean Average Precision (mAP) und mean Average Recall (mAR) für instance segmentation-Aufgaben.
Welche vortrainierten Modelle sind für COCO-Seg verfügbar und wie sind ihre Leistungsmetriken?#
Der COCO-Seg-Datensatz unterstützt mehrere vortrainierte YOLO26-Segmentierungsmodelle mit unterschiedlichen Leistungsmetriken. Hier ist eine Zusammenfassung der verfügbaren Modelle und ihrer wichtigsten Metriken:
| Modell | Größe (Pixel) | mAPbox 50-95(e2e) | mAPmask 50-95(e2e) | Geschwindigkeit CPU ONNX (ms) | Geschwindigkeit T4 TensorRT10 (ms) | Parameter (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 |
Diese Modelle reichen vom leichtgewichtigen YOLO26n-seg bis zum leistungsstärkeren YOLO26x-seg und bieten unterschiedliche Kompromisse zwischen Geschwindigkeit und Genauigkeit, um verschiedenen Anwendungsanforderungen gerecht zu werden. Weitere Informationen zur Modellauswahl findest du auf der Ultralytics models page.
Wie ist der COCO-Seg-Datensatz strukturiert und welche Teilmengen enthält er?#
Der COCO-Seg-Datensatz ist für spezifische Trainings- und Evaluierungsanforderungen in drei Teilmengen unterteilt:
- Train2017: Enthält 118.287 Bilder, die hauptsächlich zum Training von Instanz-Segmentierungsmodellen verwendet werden.
- Val2017: Umfasst 5.000 Bilder, die für die Validierung während des Trainingsprozesses genutzt werden.
- Test-dev2017: Umfasst 20.288 der 40.670 test2017-Bilder, die für Tests und Benchmarks trainierter Modelle reserviert sind. Beachte, dass Ground-Truth-Annotationen für diese Teilmenge nicht öffentlich verfügbar sind und die Leistungsergebnisse zur Beurteilung beim COCO evaluation server eingereicht werden müssen.
Für kleinere Experimente kannst du auch das COCO128-Seg dataset (128 Bilder) oder das COCO8-Seg dataset in Betracht ziehen, eine kompakte Version, die nur 8 Bilder aus dem COCO train 2017 Set enthält.