COCO Veri Kümesi#
COCO (Bağlam İçinde Yaygın Nesneler) veri kümesi; nesne algılama, segmentasyon ve görsel açıklama görevleri için büyük ölçekli bir veri kümesidir. Çok çeşitli nesne kategorileri üzerine araştırmaları teşvik etmek amacıyla tasarlanmıştır ve bilgisayarlı görü modellerinin karşılaştırmalı değerlendirmesinde yaygın olarak kullanılır. Nesne algılama, segmentasyon ve poz tahmini görevleri üzerinde çalışan araştırmacılar ve geliştiriciler için temel bir veri kümesidir.
İzle: Ultralytics COCO Veri Kümesine Genel Bakış
COCO Önceden Eğitilmiş Modeller#
| Model | boyut (piksel) | mAPval 50-95 | mAPval 50-95(e2e) | Hız CPU ONNX (ms) | Hız T4 TensorRT10 (ms) | parametre (M) | FLOPs (B) |
|---|---|---|---|---|---|---|---|
| YOLO26n | 640 | 40.9 | 40.1 | 38.9 ± 0.7 | 1.7 ± 0.0 | 2.4 | 5.5 |
| YOLO26s | 640 | 48.6 | 47.8 | 87.2 ± 0.9 | 2.5 ± 0.0 | 9.5 | 20.9 |
| YOLO26m | 640 | 53.1 | 52.5 | 220.0 ± 1.4 | 4.7 ± 0.1 | 20.4 | 68.4 |
| YOLO26l | 640 | 55.0 | 54.4 | 286.2 ± 2.0 | 6.2 ± 0.2 | 24.8 | 86.8 |
| YOLO26x | 640 | 57.5 | 56.9 | 525.8 ± 4.0 | 11.8 ± 0.2 | 55.7 | 194.4 |
Temel Özellikler#
- COCO, 330 bin görüntü içerir; bunların 200 bininde nesne algılama, segmentasyon ve görsel açıklama görevlerine yönelik açıklamalar bulunur.
- Veri kümesi; araba, bisiklet ve hayvan gibi yaygın nesnelerin yanı sıra şemsiye, el çantası ve spor ekipmanı gibi daha özgül kategoriler de dahil olmak üzere 80 nesne kategorisinden oluşur.
- Açıklamalar, her görüntü için nesne sınırlayıcı kutularını, segmentasyon maskelerini ve görsel açıklamaları içerir.
- COCO, nesne algılama ve segmentasyon için Ortalama Kesinlik (mAP) ve Ortalama Duyarlılık (AR) gibi standartlaştırılmış değerlendirme ölçütleri sunarak model performanslarını karşılaştırmaya elverişli hale gelir.
Veri Kümesi Yapısı#
COCO veri kümesi üç alt kümeye ayrılır:
- Train2017: Nesne algılama, segmentasyon ve altyazı oluşturma modellerini eğitmek için 118.287 görüntü.
- Val2017: Model eğitimi sırasında doğrulama için kullanılan 5.000 görüntü.
- Test2017: Eğitilmiş modelleri kıyaslamak için kullanılan 20.288 test-dev görüntüsü. Bu alt kümeye ait temel doğruluk açıklamaları herkese açık değildir ve performans değerlendirmesi için sonuçlar COCO değerlendirme sunucusuna gönderilir.
Uygulamalar#
COCO veri kümesi; nesne algılama (Ultralytics YOLO, Faster R-CNN ve SSD gibi), derin öğrenme modellerini eğitmek ve değerlendirmek, örnek segmentasyonu (Mask R-CNN gibi) ve anahtar nokta algılama (OpenPose gibi) için yaygın olarak kullanılır. Veri kümesindeki farklı nesne kategorileri, açıklama eklenmiş çok sayıda görüntü ve standartlaştırılmış değerlendirme ölçütleri, veri kümesini bilgisayarlı görü araştırmacıları ve uygulayıcıları için vazgeçilmez bir kaynak hâline getirir.
Etiketleme araçlarından COCO JSON biçiminde dışa aktarılan açıklamalar da aynı yapıyı izler. Kendi COCO biçimli verilerinle eğitim yapmak için COCO Açıklamalarını YOLO'ya Dönüştürme sayfasına bak.
Veri Kümesi YAML Dosyası#
Veri kümesi yapılandırmasını tanımlamak için bir YAML dosyası kullanılır. Bu dosya, veri kümesinin yolları, sınıfları ve diğer ilgili bilgiler hakkında bilgi içerir. COCO veri kümesinde coco.yaml dosyası https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yaml konumunda tutulur.
# 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)Kullanım#
COCO2017 eğitim ve doğrulama verileri (20,3 GB), eğitimi ilk başlattığında otomatik olarak indirilir. COCO üzerinde 640 görüntü boyutuyla 100 epoch boyunca bir YOLO26n modelini eğitmek için aşağıdaki kod örneklerini kullanabilirsin. Kullanılabilir bağımsız değişkenlerin kapsamlı listesi için modelin Eğitim sayfasına bak. COCO eğitimini Ultralytics Platform ile bulutta da çalıştırabilirsin.
from ultralytics import YOLO
# Bir model yükle
model = YOLO("yolo26n.pt") # Önceden eğitilmiş bir model yükle (eğitim için önerilir)
# Modeli eğit
results = model.train(data="coco.yaml", epochs=100, imgsz=640)Örnek Görüntüler ve Ek Açıklamalar#
COCO veri kümesi, çeşitli nesne kategorileri ve karmaşık sahneler içeren farklı görüntülerden oluşur. Aşağıda veri kümesindeki görüntülerden bazı örnekler ve bunlara karşılık gelen açıklamalar yer alıyor:

- Mozaik Görüntü: Bu görüntü, mozaiklenmiş veri kümesi görüntülerinden oluşan bir eğitim grubunu gösterir. Mozaikleme, her eğitim grubundaki nesne ve sahne çeşitliliğini artırmak için eğitim sırasında birden fazla görüntüyü tek bir görüntüde birleştiren bir tekniktir. Bu, modelin farklı nesne boyutlarına, en-boy oranlarına ve bağlamlara genelleme yeteneğini geliştirir.
Bu örnek, COCO veri kümesindeki görüntülerin çeşitliliğini ve karmaşıklığını ve eğitim sürecinde mozaikleme kullanmanın faydalarını gösterir.
Atıflar ve Teşekkürler#
COCO veri kümesini araştırma veya geliştirme çalışmalarında kullanıyorsan lütfen aşağıdaki makaleye atıfta bulun:
@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}
}Bilgisayarlı görü topluluğu için bu değerli kaynağı oluşturup sürdürdükleri için COCO Konsorsiyumuna teşekkür ederiz. COCO veri kümesi ve oluşturucuları hakkında daha fazla bilgi için COCO veri kümesi web sitesini ziyaret et.
Sık Sorulan Sorular#
COCO veri kümesi (Bağlam İçindeki Yaygın Nesneler), nesne algılama, segmentasyon ve altyazı oluşturma için kullanılan büyük ölçekli bir veri kümesidir. 80 nesne kategorisi için ayrıntılı açıklamalar içeren 330 bin görüntü barındırır ve bu özelliğiyle bilgisayarlı görü modellerinin kıyaslanması ve eğitilmesi için vazgeçilmezdir. Araştırmacılar, çeşitli kategorileri ve ortalama Kesinlik (mAP) gibi standartlaştırılmış değerlendirme ölçütleri nedeniyle COCO'yu kullanır.
COCO veri kümesini kullanarak bir YOLO26 modelini eğitmek için aşağıdaki kod örneklerini kullanabilirsin:
Eğitim Örneğifrom ultralytics import YOLO # Bir model yükle model = YOLO("yolo26n.pt") # Önceden eğitilmiş bir model yükle (eğitim için önerilir) # Modeli eğit results = model.train(data="coco.yaml", epochs=100, imgsz=640)Kullanılabilir bağımsız değişkenlerle ilgili daha fazla bilgi için Eğitim sayfasına bak.
COCO veri kümesinde şunlar bulunur:
- Nesne algılama, segmentasyon ve altyazı oluşturma için açıklama eklenmiş 200 bin görüntü dâhil toplam 330 bin görüntü.
- Araba ve hayvan gibi yaygın öğelerden el çantası ve spor ekipmanı gibi belirli öğelere kadar uzanan 80 nesne kategorisi.
- Nesne algılama ve segmentasyon için standartlaştırılmış değerlendirme ölçütleri (mAP ve Ortalama Geri Çağırma).
- Modelin çeşitli nesne boyutları ve bağlamlar genelinde genelleme yeteneğini artırmak için eğitim gruplarında mozaikleme tekniği.
COCO veri kümesi üç alt kümeye ayrılır:
- Train2017: Eğitim için 118.287 görüntü.
- Val2017: Eğitim sırasında doğrulama için 5.000 görüntü.
- Test2017: Eğitilmiş modelleri kıyaslamak için 20.288 test-dev görüntüsü. Performans değerlendirmesi için sonuçların COCO değerlendirme sunucusuna gönderilmesi gerekir.
Veri kümesinin YAML yapılandırma dosyası, yolları, sınıfları ve veri kümesi ayrıntılarını tanımlayan coco.yaml dosyasında bulunur.



