Link to this sectionGörüntü Sınıflandırma Veri Kümelerine Genel Bakış#
Link to this sectionYOLO 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, düzgün eğitim, test ve isteğe bağlı doğrulama süreçlerini kolaylaştırmak amacıyla root dizini altında belirli bir ayrık dizin yapısında düzenlenmesi gerekir. Bu yapı, eğitim (train) ve doğrulama (val) aşamaları için ayrı dizinleri ve isteğe bağlı olarak test (test) için bir dizini 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.
Link to this sectionKlasör Yapısı Örneği#
Örnek olarak CIFAR-10 veri kümesini 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.
Link to this sectionKullanım#
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)Çoğu yerleşik veri kümesi adı (örneğin cifar10, imagenette veya mnist160), bunlara ilk kez 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.
Link to this sectionDesteklenen 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örüntüler içeren bir veri kümesi.
- Caltech 256: Caltech 101'in 256 nesne kategorisi ve daha zorlu görüntüler içeren genişletilmiş bir sürümü.
- CIFAR-10: Sınıf başına 6 bin görüntü ile 10 sınıfta 60 bin 32x32 renkli görüntüden oluşan bir veri kümesi.
- CIFAR-100: CIFAR-10'un 100 nesne kategorisi ve sınıf başına 600 görüntü içeren genişletilmiş bir sürümü.
- 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 10 kolay ayırt edilebilir 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 ırkı kategorisi içeren, ImageNet'in daha zorlu bir alt kümesi.
- MNIST: El yazısı rakamların görüntü sınıflandırma görevleri için 70.000 gri tonlamalı görüntüsünden oluşan bir veri kümesi.
- MNIST160: MNIST train ve test bölümlerinin her birinden (0-9) rakamların ilk 8 görüntüsü. Veri kümesi toplamda 160 görüntü içerir.
Link to this sectionKendi veri kümeni ekleme#
Kendi veri kümen varsa ve bunu Ultralytics YOLO ile sınıflandırma modelleri eğitmek için kullanmak istiyorsan, "Veri Kümesi Yapısı" bölümünde belirtilen formatı izlediğinden emin ol ve ardından eğitim komut dosyanı başlatırken data argümanını veri kümesi dizinine yönlendir.
Link to this sectionSSS#
Link to this sectionVeri kümemi YOLO sınıflandırma görevleri için nasıl yapılandırırım?#
Veri kümeni Ultralytics YOLO sınıflandırma görevleri için yapılandırmak üzere belirli bir ayrık dizin formatını izlemelisin. Veri kümeni train, test ve isteğe bağlı olarak val için ayrı dizinlere düzenle. Bu dizinlerin her biri, içlerinde ilgili görüntülerle birlikte her sınıf için adlandırılmış alt dizinler içermelidir. Bu, sorunsuz eğitim ve değerlendirme süreçlerini kolaylaştırır. Bir örnek için 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.
Link to this sectionUltralytics YOLO, görüntü sınıflandırma için hangi veri kümelerini destekler?#
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 kümelerinin otomatik indirilmesini destekler. Bu veri kümeleri, YOLO ile kullanımı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.
Link to this sectionYOLO görüntü sınıflandırma 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 olmalıdır. Veri kümen doğru bir şekilde yapılandırıldığında, eğitim komut dosyasını başlatırken data argümanını veri kümenin kök dizinine yönlendir. İşte Python'da 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 kümeni ekleme bölümünde bulunabilir.
Link to this sectionNeden görüntü sınıflandırma için 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.ptgibi ö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, son teknoloji ürünü doğruluk ve hız.
- Birden Çok Veri Kümesi Desteği: CIFAR-10, ImageNet ve daha fazlası gibi çeşitli 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.
Link to this sectionUltralytics YOLO kullanarak nasıl model eğitebilirim?#
Ultralytics YOLO kullanarak model eğitmek hem Python hem de CLI ile kolayca yapılabilir. İşte bir ö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ğitim sayfasını ziyaret et.