İçeriğe geç

Nesne Algılama Veri Kümelerine Genel Bakış

Sağlam ve doğru bir nesne algılama modelinin eğitilmesi için kapsamlı bir veri kümesi gerekir. Bu kılavuz, Ultralytics YOLO modeliyle uyumlu çeşitli veri kümesi formatlarını tanıtmakta ve bunların yapısı, kullanımı ve farklı formatlar arasında nasıl dönüştürüleceği hakkında bilgi vermektedir.

Desteklenen Veri Kümesi Formatları

Ultralytics YOLO Biçim

Ultralytics YOLO biçimi, veri kümesi kök dizinini, eğitim/doğrulama/test görüntü dizinlerinin göreli yollarını veya *.txt görüntü yollarını içeren dosyalar ve sınıf adları sözlüğü. İşte bir örnek:

# 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: ../datasets/coco8  # dataset root dir
train: images/train  # train images (relative to 'path') 4 images
val: images/val  # val images (relative to 'path') 4 images
test:  # test images (optional)

# Classes (80 COCO classes)
names:
  0: person
  1: bicycle
  2: car
  # ...
  77: teddy bear
  78: hair drier
  79: toothbrush

Bu format için etiketler YOLO formatına bir *.txt görüntü başına dosya. Bir görüntüde hiçbir nesne yoksa, hiçbir *.txt dosyası gereklidir. Bu dosya *.txt dosyasında nesne başına bir satır olacak şekilde biçimlendirilmelidir. class x_center y_center width height biçim. Kutu koordinatları şu şekilde olmalıdır normalleştirilmiş xywh biçiminde (0'dan 1'e kadar). Eğer kutularınız piksel cinsinden ise x_center ve width görüntü genişliğine göre ve y_center ve height görüntü yüksekliğine göre. Sınıf numaraları sıfır indeksli olmalıdır (0 ile başlar).

Örnek etiketli görüntü

Yukarıdaki resme karşılık gelen etiket dosyası 2 kişi içerir (sınıf 0) ve bir beraberlik (sınıf 27):

Örnek etiket dosyası

Ultralytics YOLO biçimini kullanırken, eğitim ve doğrulama görüntülerinizi ve etiketlerinizi aşağıdaki COCO8 veri kümesi örneğinde gösterildiği gibi düzenleyin.

Örnek veri kümesi dizin yapısı

Kullanım

Modelinizi eğitmek için bu formatları nasıl kullanabileceğiniz aşağıda açıklanmıştır:

Örnek

from ultralytics import YOLO

# Load a model
model = YOLO('yolov8n.pt')  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data='coco8.yaml', epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=coco8.yaml model=yolov8n.pt epochs=100 imgsz=640

Desteklenen Veri Setleri

İşte desteklenen veri kümelerinin bir listesi ve her biri için kısa bir açıklama:

  • Argoverse: Otonom araçlardan toplanan sensör verilerinden oluşan bir koleksiyon. Araç nesneleri için 3B izleme ek açıklamaları içerir.
  • COCO: Common Objects in Context (COCO), 80 nesne kategorisine sahip büyük ölçekli bir nesne algılama, segmentasyon ve altyazı oluşturma veri kümesidir.
  • LVIS: LVIS, 1203 nesne kategorisine sahip büyük ölçekli bir nesne algılama, segmentasyon ve altyazı veri kümesidir.
  • COCO8: COCO veri kümesinin daha küçük bir alt kümesi olan COCO8 daha hafiftir ve eğitilmesi daha hızlıdır.
  • GlobalWheat2020: Global Wheat Challenge 2020 için buğday başlarının görüntülerini içeren bir veri kümesi.
  • Objects365: Nesne algılama araştırmalarını ilerletmeyi amaçlayan 365 nesne kategorisi ve 600 bin görüntü içeren büyük ölçekli bir nesne algılama veri kümesi.
  • OpenImagesV7: Google tarafından 1,7 milyon eğitim görüntüsü ve 42 bin doğrulama görüntüsü içeren kapsamlı bir veri kümesi.
  • SKU-110K: Perakende ortamındaki nesnelerin algılanmasına yönelik, yoğun şekilde paketlenmiş perakende ürünlerin görüntülerini içeren bir veri kümesi.
  • VisDrone: Arabalar, yayalar ve bisikletliler gibi çeşitli nesne kategorilerini içeren drone tabanlı görüntülere odaklanan bir veri kümesi.
  • VOC: PASCAL VOC, araçlar, hayvanlar ve mobilyalar dahil olmak üzere 20 nesne kategorisine sahip popüler bir nesne algılama veri kümesidir.
  • xGörünüm: Baş üstü görüntülerde çeşitli nesne sınıflarının tespiti için tasarlanmış, yüksek çözünürlüklü uydu görüntülerini içeren bir veri kümesi.
  • Beyin tümörü: Bu veri kümesi, beyin tümörünün varlığı, konumu ve özellikleri hakkında bilgi içeren MRI veya CT tarama görüntülerinden oluşur. Tümör tanımlamayı otomatikleştirmek, erken tanı ve tedavi planlamasını kolaylaştırmak için bilgisayarla görme modellerinin eğitilmesinde önemli bir rol oynar.
  • Afrika-yaban hayatı: Bufalo, fil, gergedan ve zebra gibi Afrika yaban hayatı görüntülerini içeren bu veri seti, bilgisayarla görme modellerinin eğitilmesinde önemli bir rol oynamaktadır. Farklı habitatlardaki hayvanları tanımlamak için vazgeçilmezdir ve yaban hayatı araştırma çabalarına önemli ölçüde katkıda bulunur.

Kendi veri setinizi ekleme

Kendi veri kümeniz varsa ve bunu Ultralytics YOLO biçimindeki algılama modellerini eğitmek için kullanmak istiyorsanız, yukarıda "Ultralytics YOLO biçimi" altında belirtilen biçime uygun olduğundan emin olun. Ek açıklamalarınızı gerekli biçime dönüştürün ve YAML yapılandırma dosyasında yolları, sınıf sayısını ve sınıf adlarını belirtin.

Etiket Formatlarını Taşıyın veya Dönüştürün

COCO Veri Seti Formatından YOLO Formatına

Aşağıdaki kod parçacığını kullanarak etiketleri popüler COCO veri kümesi biçiminden YOLO biçimine kolayca dönüştürebilirsiniz:

Örnek

from ultralytics.data.converter import convert_coco

convert_coco(labels_dir='path/to/coco/annotations/')

Bu dönüştürme aracı COCO veri setini veya COCO formatındaki herhangi bir veri setini Ultralytics YOLO formatına dönüştürmek için kullanılabilir.

Kullanmak istediğiniz veri kümesinin modelinizle uyumlu olup olmadığını ve gerekli biçim kurallarına uyup uymadığını iki kez kontrol etmeyi unutmayın. Düzgün biçimlendirilmiş veri kümeleri, başarılı nesne algılama modellerinin eğitimi için çok önemlidir.



Oluşturuldu 2023-11-12, Güncellendi 2024-04-18
Yazarlar: glenn-jocher (7), IvorZhu331 (1), Laughing-q (1), RizwanMunawar (1)

Yorumlar