COCO128 Veri Kümesi

Giriş

Ultralytics COCO128, COCO train 2017 kümesinin ilk 128 görselinden oluşan küçük ama çok yönlü bir nesne algılama veri kümesidir. Bu veri kümesi, nesne algılama modellerini test etmek, hatalarını ayıklamak veya yeni algılama yaklaşımlarını denemek için idealdir. 128 görselle, kolayca yönetilebilecek kadar küçük, ancak eğitim hatlarındaki hataları test etmek ve daha büyük veri kümelerini eğitmeden önce bir sağlık kontrolü görevi görmek için yeterince çeşitlidir.



Watch: Ultralytics COCO Dataset Overview

Bu veri kümesi, Ultralytics Platform ve YOLO26 ile kullanım için tasarlanmıştır.

Veri Kümesi YAML Dosyası

Veri kümesi yapılandırmasını tanımlamak için bir YAML (Yet Another Markup Language) dosyası kullanılır. Bu dosya, veri kümesinin yolları, sınıfları ve diğer ilgili bilgiler hakkında veriler içerir. COCO128 veri kümesi söz konusu olduğunda, coco128.yaml dosyası https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco128.yaml adresinde tutulmaktadır.

ultralytics/cfg/datasets/coco128.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: 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

Kullanım

Bir YOLO26n modelini COCO128 veri kümesi üzerinde 640 görsel boyutuyla 100 epoch boyunca eğitmek için aşağıdaki kod parçacıklarını kullanabilirsin. Mevcut argümanların kapsamlı bir listesi için model Eğitim sayfasına bakabilirsin.

Eğitim Örneği
from ultralytics import YOLO

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

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

Örnek Görüntüler ve Ek Açıklamalar

İşte COCO128 veri kümesinden, karşılık gelen açıklamalarıyla birlikte bazı görsel örnekleri:

COCO128 object detection dataset mosaic training batch
  • Mozaiklenmiş Görüntü: Bu görüntü, mozaiklenmiş veri seti görüntülerinden oluşan bir eğitim grubunu göstermektedir. Mozaikleme, eğitim sırasında her eğitim grubundaki nesne ve sahne çeşitliliğini artırmak için 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ştirmeye yardımcı olur.

Bu örnek, COCO128 veri kümesindeki görsellerin çeşitliliğini, karmaşıklığını ve eğitim süreci sırasında mozaikleme kullanmanın faydalarını sergiliyor.

Alıntılar ve Teşekkür

Araştırma veya geliştirme çalışmalarında COCO veri setini kullanırsan, lütfen aşağıdaki makaleye atıfta bulun:

Alıntı
@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}
}

COCO Konsorsiyumu'na, bilgisayarlı görü topluluğu için bu değerli kaynağı oluşturdukları ve sürdürdükleri için teşekkür ederiz. COCO veri kümesi ve yaratıcıları hakkında daha fazla bilgi için COCO veri kümesi web sitesini ziyaret et.

SSS

Ultralytics COCO128 veri kümesi ne için kullanılır?

Ultralytics COCO128 veri kümesi, COCO train 2017 veri kümesindeki ilk 128 görseli içeren kompakt bir alt kümedir. Temelde nesne algılama modellerini test etmek ve hatalarını ayıklamak, yeni algılama yaklaşımları denemek ve daha büyük veri kümelerine geçmeden önce eğitim hatlarını doğrulamak için kullanılır. Yönetilebilir boyutu, hızlı yinelemeler için mükemmel olmasını sağlarken, anlamlı bir test durumu oluşturacak kadar çeşitlilik de sunar.

COCO128 veri kümesini kullanarak bir YOLO26 modelini nasıl eğitebilirim?

COCO128 veri kümesi üzerinde bir YOLO26 modelini eğitmek için Python veya CLI komutlarını kullanabilirsin. İşte nasıl yapacağın:

Eğitim Örneği
from ultralytics import YOLO

# Load a pretrained model
model = YOLO("yolo26n.pt")

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

Daha fazla eğitim seçeneği ve parametre için Eğitim dokümantasyonuna bakabilirsin.

COCO128 ile mozaik artırma kullanmanın faydaları nelerdir?

Örnek görsellerde görüldüğü gibi mozaik artırma, birden fazla eğitim görselini tek bir bileşik görselde birleştirir. Bu teknik, COCO128 ile eğitim yaparken çeşitli faydalar sağlar:

  • Her eğitim kümesindeki nesne ve bağlam çeşitliliğini artırır
  • Modelin farklı nesne boyutları ve en-boy oranlarında genelleme yapma yeteneğini iyileştirir
  • Çeşitli ölçeklerdeki nesneler için algılama performansını artırır
  • Daha çeşitli eğitim örnekleri oluşturarak küçük bir veri kümesinin faydasını en üst düzeye çıkarır

Bu teknik, özellikle COCO128 gibi daha küçük veri kümeleri için değerlidir ve modellerin sınırlı veriden daha sağlam özellikler öğrenmesine yardımcı olur.

COCO128, diğer COCO veri kümesi varyantlarıyla nasıl karşılaştırılır?

COCO128 (128 görsel), boyut açısından COCO8 (8 görsel) ile tam COCO (118 bin+ görsel) veri kümesi arasında yer alır:

  • COCO8: Sadece 8 görsel içerir (4 eğitim, 4 doğrulama) - hızlı testler ve hata ayıklama için idealdir
  • COCO128: 128 görsel içerir - boyut ve çeşitlilik arasında dengelidir
  • Tam COCO: 118 bin+ eğitim görseli içerir - kapsamlıdır ancak kaynak tüketimi yoğundur

COCO128, deneyler ve ilk model geliştirme süreçleri için tam COCO veri kümesine göre çok daha yönetilebilir kalırken, COCO8'den daha fazla çeşitlilik sunarak iyi bir orta yol sağlar.

COCO128'i nesne algılama dışındaki görevler için kullanabilir miyim?

COCO128 birincil olarak nesne algılama için tasarlanmış olsa da, veri kümesinin açıklamaları diğer bilgisayarlı görü görevleri için uyarlanabilir:

  • Örnek bölümleme (Instance segmentation): Açıklamalarda sağlanan bölümleme maskelerini kullanarak
  • Anahtar nokta algılama (Keypoint detection): Anahtar nokta açıklamaları içeren insanlar barındıran görseller için
  • Transfer öğrenimi (Transfer learning): Özel görevler için modellerin ince ayarını yapmak üzere bir başlangıç noktası olarak

Bölümleme gibi özel görevler için uygun açıklamaları içeren COCO8-seg gibi amaca özel varyantları kullanmayı düşün.

Yorumlar