İç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: Zengin ek açıklamalara sahip kentsel ortamlardan 3B izleme ve hareket tahmini verilerini içeren bir veri kümesi.
  • 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: 1203 nesne kategorisine sahip büyük ölçekli bir nesne algılama, segmentasyon ve altyazı veri kümesi.
  • COCO8: COCO train ve COCO val'den ilk 4 görüntünün daha küçük bir alt kümesi, hızlı testler için uygundur.
  • Küresel Buğday 2020: Global Wheat Challenge 2020 için buğday başlarının görüntülerini içeren bir veri kümesi.
  • Objects365: Nesne tespiti için 365 nesne kategorisi ve 600 binden fazla açıklamalı görüntü içeren yüksek kaliteli, büyük ölçekli bir 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: 11K'dan fazla görüntü ve 1,7 milyon sınırlayıcı kutu ile perakende ortamlarında yoğun nesne algılama özelliğine sahip bir veri kümesi.
  • VisDrone: 10K'dan fazla görüntü ve video dizisi ile drone ile yakalanan görüntülerden nesne algılama ve çoklu nesne izleme verilerini içeren bir veri kümesi.
  • VOC: Nesne algılama ve segmentasyon için 20 nesne sınıfı ve 11 binden fazla görüntü içeren Pascal Görsel Nesne Sınıfları (VOC) veri seti.
  • xView: Baş üstü görüntülerde nesne tespiti için 60 nesne kategorisi ve 1 milyondan fazla açıklamalı nesne içeren bir veri kümesi.
  • Roboflow 100: Kapsamlı model değerlendirmesi için yedi görüntü alanını kapsayan 100 veri kümesi içeren çeşitli bir nesne algılama ölçütü.
  • Beyin tümörü: Beyin tümörlerini tespit etmeye yönelik bir veri kümesi, tümör varlığı, konumu ve özellikleri hakkında ayrıntılar içeren MRI veya CT tarama görüntülerini içerir.
  • Afrika-yaban hayatı: Bufalo, fil, gergedan ve zebralar da dahil olmak üzere Afrika vahşi yaşamının görüntülerini içeren bir veri kümesi.
  • İmza: Belge doğrulama ve sahtekarlık tespit araştırmalarını destekleyen, açıklamalı imzalara sahip çeşitli belgelerin görüntülerini içeren bir veri kümesi.

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.

SSS

Ultralytics YOLO veri seti formatı nedir ve nasıl yapılandırılır?

Ultralytics YOLO formatı, eğitim projelerinizdeki veri kümelerini tanımlamak için yapılandırılmış bir yapılandırmadır. Eğitim, doğrulama ve test görüntülerinize ve ilgili etiketlere giden yolların ayarlanmasını içerir. Örneğin:

path: ../datasets/coco8  # dataset root directory
train: images/train  # training images (relative to 'path')
val: images/val  # validation images (relative to 'path')
test:  # optional test images
names:
  0: person
  1: bicycle
  2: car
  # ...

Etiketler şuraya kaydedilir *.txt olarak biçimlendirilmiş, görüntü başına bir dosya içeren dosyalar class x_center y_center width height normalleştirilmiş koordinatlarla. Ayrıntılı bir kılavuz için bkz. COCO8 veri kümesi örneği.

Bir COCO veri setini YOLO formatına nasıl dönüştürebilirim?

Bir COCO veri setini Ultralytics dönüştürme araçlarını kullanarak YOLO formatına dönüştürebilirsiniz. İşte hızlı bir yöntem:

from ultralytics.data.converter import convert_coco

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

Bu kod COCO ek açıklamalarınızı YOLO formatına dönüştürerek Ultralytics YOLO modelleriyle sorunsuz entegrasyon sağlar. Daha fazla ayrıntı için Bağlantı Noktası veya Etiket Formatlarını Dönüştür bölümünü ziyaret edin.

Nesne tespiti için Ultralytics YOLO tarafından hangi veri kümeleri desteklenmektedir?

Ultralytics YOLO dahil olmak üzere çok çeşitli veri kümelerini destekler:

Her veri kümesi sayfası, verimli YOLOv8 eğitimi için uyarlanmış yapı ve kullanım hakkında ayrıntılı bilgi sağlar. Desteklenen Veri Kümeleri bölümündeki tam listeyi keşfedin.

Veri kümemi kullanarak bir YOLOv8 modelini eğitmeye nasıl başlayabilirim?

Bir YOLOv8 modelini eğitmeye başlamak için veri kümenizin doğru biçimlendirildiğinden ve yolların bir YAML dosyasında tanımlandığından emin olun. Eğitime başlamak için aşağıdaki komut dosyasını kullanın:

Örnek

from ultralytics import YOLO

model = YOLO("yolov8n.pt")  # Load a pretrained model
results = model.train(data="path/to/your_dataset.yaml", epochs=100, imgsz=640)
yolo detect train data=path/to/your_dataset.yaml model=yolov8n.pt epochs=100 imgsz=640

CLI komutları da dahil olmak üzere farklı modların kullanımı hakkında daha fazla bilgi için Kullanım bölümüne bakın.

Nesne tespiti için Ultralytics YOLO adresini kullanmanın pratik örneklerini nerede bulabilirim?

Ultralytics YOLOv8 adresini çeşitli uygulamalarda kullanmak için çok sayıda örnek ve pratik kılavuz sağlar. Kapsamlı bir genel bakış için Ultralytics Blogunu ziyaret edin; burada ile nesne algılama, segmentasyon ve daha fazlasını sergileyen vaka çalışmaları, ayrıntılı eğitimler ve topluluk hikayeleri bulabilirsiniz. Belirli örnekler için belgelerdeki YOLOv8Kullanım bölümüne bakın.



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

Yorumlar