Görüntü Sınıflandırma Veri Kümelerine Genel Bakış

YOLO Sınıflandırma Görevleri için Veri Kümesi Yapısı

Ultralytics YOLO sınıflandırma görevleri için, veri kümesinin uygun eğitim, test ve isteğe bağlı doğrulama süreçlerini kolaylaştırmak amacıyla root dizini altında belirli bir bölünmüş dizin yapısında düzenlenmesi gerekir. Bu yapı, eğitim (train) ve test (test) aşamaları için ayrı dizinleri ve doğrulama için isteğe bağlı bir dizini (val) içerir.

Bu dizinlerin her biri, veri kümesindeki her sınıf için bir alt dizin içermelidir. Alt dizinler, karşılık gelen sınıfın adını taşır ve o sınıfa ait tüm görüntüleri içerir. Her görüntü dosyasının benzersiz bir şekilde adlandırıldığından ve JPEG veya PNG gibi ortak bir formatta depolandığından emin ol.

Klasör Yapısı Örneği

Örnek olarak CIFAR-10 veri kümesini ele al. Klasör yapısı şu şekilde görünmelidir:

cifar-10-/
|
|-- train/
|   |-- airplane/
|   |   |-- 10008_airplane.png
|   |   |-- 10009_airplane.png
|   |   |-- ...
|   |
|   |-- automobile/
|   |   |-- 1000_automobile.png
|   |   |-- 1001_automobile.png
|   |   |-- ...
|   |
|   |-- bird/
|   |   |-- 10014_bird.png
|   |   |-- 10015_bird.png
|   |   |-- ...
|   |
|   |-- ...
|
|-- test/
|   |-- airplane/
|   |   |-- 10_airplane.png
|   |   |-- 11_airplane.png
|   |   |-- ...
|   |
|   |-- automobile/
|   |   |-- 100_automobile.png
|   |   |-- 101_automobile.png
|   |   |-- ...
|   |
|   |-- bird/
|   |   |-- 1000_bird.png
|   |   |-- 1001_bird.png
|   |   |-- ...
|   |
|   |-- ...
|
|-- val/ (optional)
|   |-- airplane/
|   |   |-- 105_airplane.png
|   |   |-- 106_airplane.png
|   |   |-- ...
|   |
|   |-- automobile/
|   |   |-- 102_automobile.png
|   |   |-- 103_automobile.png
|   |   |-- ...
|   |
|   |-- bird/
|   |   |-- 1045_bird.png
|   |   |-- 1046_bird.png
|   |   |-- ...
|   |
|   |-- ...

Bu yapılandırılmış yaklaşım, modelin eğitim aşamasında iyi düzenlenmiş sınıflardan etkili bir şekilde öğrenmesini ve test ile doğrulama aşamalarında performansı doğru bir şekilde değerlendirmesini sağlar.

Kullanım

Örnek
from ultralytics import YOLO

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

# Train the model
results = model.train(data="path/to/dataset", epochs=100, imgsz=640)
İpucu

Çoğu yerleşik veri kümesi adı (örneğin cifar10, imagenette veya mnist160), bunlara ilk başvurduğunda verileri otomatik olarak indirir ve önbelleğe alır. data parametresini, yalnızca özel bir veri kümesi hazırladığında bir klasör yoluna yönlendir.

Desteklenen Veri Kümeleri

Ultralytics, otomatik indirme özelliğiyle aşağıdaki veri kümelerini destekler:

  • Caltech 101: Görüntü sınıflandırma görevleri için 101 nesne kategorisine ait görüntüleri içeren bir veri kümesi.
  • Caltech 256: 256 nesne kategorisi ve daha zorlu görüntülerle Caltech 101'in genişletilmiş bir versiyonu.
  • CIFAR-10: Her sınıfta 6 bin görüntü olmak üzere 10 sınıfta 60 bin adet 32x32 renkli görüntüden oluşan bir veri kümesi.
  • CIFAR-100: 100 nesne kategorisi ve sınıf başına 600 görüntü ile CIFAR-10'un genişletilmiş bir versiyonu.
  • Fashion-MNIST: Görüntü sınıflandırma görevleri için 10 moda kategorisine ait 70.000 gri tonlamalı görüntüden oluşan bir veri kümesi.
  • ImageNet: 14 milyondan fazla görüntü ve 20.000 kategori ile nesne algılama ve görüntü sınıflandırma için büyük ölçekli bir veri kümesi.
  • ImageNet-10: Daha hızlı deneme ve test için 10 kategorili ImageNet'in daha küçük bir alt kümesi.
  • Imagenette: Daha hızlı eğitim ve test için kolayca ayırt edilebilen 10 sınıf içeren, ImageNet'in daha küçük bir alt kümesi.
  • Imagewoof: Görüntü sınıflandırma görevleri için 10 köpek cinsi kategorisi içeren, ImageNet'in daha zorlu bir alt kümesi.
  • MNIST: Görüntü sınıflandırma görevleri için el yazısıyla yazılmış rakamlardan oluşan 70.000 gri tonlamalı görüntü veri kümesi.
  • MNIST160: MNIST veri kümesinden her MNIST kategorisinin ilk 8 görüntüsü. Veri kümesi toplam 160 görüntü içerir.

Kendi veri kümeni ekleme

Kendi veri kümen varsa ve bunu Ultralytics YOLO ile sınıflandırma modellerini eğitmek için kullanmak istiyorsan, "Veri Kümesi Yapısı" altında belirtilen formatı izlediğinden emin ol ve ardından eğitim betiğini başlatırken data argümanını veri kümesi dizinine yönlendir.

SSS

YOLO sınıflandırma görevleri için veri kümemi nasıl yapılandırırım?

Veri kümeni Ultralytics YOLO sınıflandırma görevleri için yapılandırmak istiyorsan, belirli bir bölünmüş dizin formatını izlemelisin. Veri kümeni train, test ve isteğe bağlı olarak val için ayrı dizinler halinde düzenle. Bu dizinlerin her biri, içindeki ilgili görüntülerle birlikte her sınıfın adını taşıyan alt dizinler içermelidir. Bu, sorunsuz eğitim ve değerlendirme süreçlerini kolaylaştırır. Örnek olarak CIFAR-10 veri kümesi formatını incele:

cifar-10-/
|-- train/
|   |-- airplane/
|   |-- automobile/
|   |-- bird/
|   ...
|-- test/
|   |-- airplane/
|   |-- automobile/
|   |-- bird/
|   ...
|-- val/ (optional)
|   |-- airplane/
|   |-- automobile/
|   |-- bird/
|   ...

Daha fazla ayrıntı için YOLO Sınıflandırma Görevleri için Veri Kümesi Yapısı bölümünü ziyaret et.

Ultralytics YOLO tarafından görüntü sınıflandırma için hangi veri kümeleri desteklenir?

Ultralytics YOLO, Caltech 101, Caltech 256, CIFAR-10, CIFAR-100, Fashion-MNIST, ImageNet, ImageNet-10, Imagenette, Imagewoof ve MNIST dahil olmak üzere görüntü sınıflandırma için birçok veri kümesinin otomatik olarak indirilmesini destekler. Bu veri kümeleri, YOLO ile kullanımlarını kolaylaştıracak şekilde yapılandırılmıştır. Her veri kümesinin sayfası, yapısı ve uygulamaları hakkında daha fazla ayrıntı sağlar.

YOLO görüntü sınıflandırması için kendi veri kümemi nasıl eklerim?

Kendi veri kümeni Ultralytics YOLO ile kullanmak için, sınıflandırma görevi için gereken belirtilen dizin formatını izlediğinden emin ol; ayrı train, test ve isteğe bağlı val dizinleri ve her sınıf için ilgili görüntüleri içeren alt dizinler bulunmalıdır. Veri kümen doğru bir şekilde yapılandırıldıktan sonra, eğitim betiğini başlatırken data argümanını veri kümenin kök dizinine yönlendir. İşte Python ile bir örnek:

from ultralytics import YOLO

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

# Train the model
results = model.train(data="path/to/your/dataset", epochs=100, imgsz=640)

Daha fazla ayrıntıya Kendi veri kümeni ekleme bölümünden ulaşabilirsin.

Görüntü sınıflandırma için neden Ultralytics YOLO kullanmalıyım?

Ultralytics YOLO, görüntü sınıflandırma için aşağıdakiler dahil birçok avantaj sunar:

  • Önceden Eğitilmiş Modeller: Eğitim sürecini hızlandırmak için yolo26n-cls.pt gibi önceden eğitilmiş modelleri yükle.
  • Kullanım Kolaylığı: Eğitim ve değerlendirme için basit API ve CLI komutları.
  • Yüksek Performans: Gerçek zamanlı uygulamalar için ideal, en son teknoloji doğruluk ve hız.
  • Çoklu Veri Kümesi Desteği: CIFAR-10, ImageNet gibi popüler veri kümeleriyle sorunsuz entegrasyon.
  • Topluluk ve Destek: Sorun giderme ve iyileştirmeler için kapsamlı belgelere ve aktif bir topluluğa erişim.

Ek bilgiler ve gerçek dünya uygulamaları için Ultralytics YOLO sayfasına göz atabilirsin.

Ultralytics YOLO kullanarak nasıl model eğitebilirim?

Ultralytics YOLO kullanarak bir modeli eğitmek, hem Python hem de CLI ile kolayca yapılabilir. İşte bir örnek:

Örnek
from ultralytics import YOLO

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

# Train the model
results = model.train(data="path/to/dataset", epochs=100, imgsz=640)

Bu örnekler, her iki yaklaşımı kullanarak bir YOLO modelini eğitmenin basit sürecini göstermektedir. Daha fazla bilgi için Kullanım bölümünü ve sınıflandırma görevleri için Eğit sayfasını ziyaret et.

Yorumlar