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).
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
):
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.
Kullanım
Modelinizi eğitmek için bu formatları nasıl kullanabileceğiniz aşağıda açıklanmıştır:
Örnek
Desteklenen Veri Setleri
Burada desteklenen veri kümelerinin bir listesi ve her biri için kısa bir açıklama bulunmaktadır:
- 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.
- COCO128: COCO train ve COCO val'den alınan ilk 128 görüntünün testler için uygun olan daha küçük bir alt kümesi.
- 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 kümesi.
- 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 kümenizi 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
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 YOLO11 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 YOLO11 modelini eğitmeye nasıl başlayabilirim?
Bir YOLO11 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
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 YOLO11 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 YOLO11Kullanım bölümüne bakın.