YOLO Vision 2026:

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 seti, 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üzenlenmelidir. Bu yapı, eğitim (train) ve doğrulama (val) aşamaları için ayrı dizinler ile test için isteğe bağlı bir dizin (test) içerir.

Bu dizinlerin her biri, veri kümesindeki her sınıf için bir alt dizin içermelidir. Alt dizinler ilgili sınıfın adını alı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 yaygın bir formatta depolandığından emin ol.

Klasör Yapısı Örneği#

Örnek olarak CIFAR-10 veri setini ele alalım. 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 organize edilmiş 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

Yerleşik veri seti adlarının çoğu (cifar10, imagenette veya mnist160 gibi), bunlara ilk kez başvurduğunda verileri otomatik olarak indirir ve önbelleğe alır. data değerini yalnızca özel bir veri seti hazırladığında bir klasör yoluna yönlendir.

Desteklenen Veri Kümeleri#

Ultralytics, otomatik indirme özelliği ile 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örseller içeren bir veri seti.
  • Caltech 256: 256 nesne kategorisine ve daha zorlu görüntülere sahip Caltech 101'in genişletilmiş bir sürümü.
  • CIFAR-10: 10 sınıfta 60 bin adet 32x32 renkli görüntüden oluşan, sınıf başına 6 bin görüntü içeren bir veri seti.
  • 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 seti.
  • ImageNet: 14 milyondan fazla görsel ve 20.000 kategori ile nesne tespiti ve görüntü sınıflandırma için büyük ölçekli bir veri seti.
  • ImageNet-10: Daha hızlı deneme ve test için 10 kategoriye sahip daha küçük bir ImageNet alt kümesi.
  • Imagenette: Daha hızlı eğitim ve test için kolayca ayırt edilebilir 10 sınıf içeren daha küçük bir ImageNet alt kümesi.
  • Imagewoof: Görüntü sınıflandırma görevleri için 10 köpek ırkı kategorisi içeren daha zorlu bir ImageNet alt kümesi.
  • MNIST: Görüntü sınıflandırma görevleri için el yazısı rakamlarının 70.000 gri tonlamalı görüntüsünden oluşan bir veri seti.
  • MNIST160: Hem MNIST eğitim hem de test kümelerinden her rakamın (0-9) ilk 8 görüntüsü. Veri seti toplam 160 görüntü içerir.

Kendi veri kümeni ekleme#

Kendi veri setin varsa ve bunu Ultralytics YOLO ile sınıflandırma modelleri eğitmek için kullanmak istiyorsan, yukarıda "Veri Seti Yapısı" altında belirtilen biçimi takip ettiğinden emin ol ve ardından eğitim betiğini başlatırken data argümanını veri seti dizinine yönlendir.

SSS#

  • Veri setini Ultralytics YOLO sınıflandırma görevleri için yapılandırmak üzere belirli bir bölünmüş dizin biçimini izlemelisin. Veri setini train, test ve isteğe bağlı olarak val için ayrı dizinler halinde düzenle. Bu dizinlerin her biri, içindeki ilgili görsellerle 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 seti biçimini dikkate al:

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

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

  • 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 çeşitli veri setlerinin otomatik olarak indirilmesini destekler. Bu veri setleri, YOLO ile kullanılmalarını kolaylaştıracak bir biçimde yapılandırılmıştır. Her veri setinin sayfası, yapısı ve uygulamaları hakkında daha fazla ayrıntı sunar.

  • Kendi veri setini Ultralytics YOLO ile kullanmak için; ayrı train, test ve isteğe bağlı val dizinleri ile ilgili görselleri içeren her sınıf için alt dizinler barındıran, sınıflandırma görevi için gerekli belirtilen dizin biçimini izlediğinden emin ol. Veri setin doğru şekilde yapılandırıldıktan sonra, eğitim betiğini başlatırken data argümanını veri setinin 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ı Kendi veri setini ekleme bölümünde bulunabilir.

  • 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ürecine hızlı bir başlangıç yapmak 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 olan son teknoloji doğruluk ve hız.
    • Çoklu Veri Seti Desteği: CIFAR-10, ImageNet ve daha fazlası gibi çeşitli popüler veri setleriyle 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 seçeneğini keşfedebilirsin.

  • Ultralytics YOLO kullanarak model 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, herhangi bir yaklaşımı kullanarak bir YOLO modelini eğitmenin basit sürecini gösterir. Daha fazla bilgi için Kullanım bölümünü ve sınıflandırma görevleri için Eğitim sayfasını ziyaret et.

Yorumlar