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ı
İçin Ultralytics YOLO sınıflandırma görevleri, veri kümesi altında belirli bir bölünmüş dizin yapısında düzenlenmelidir root
dizini, uygun eğitim, test ve isteğe bağlı doğrulama süreçlerini kolaylaştırmak içindir. Bu yapı, eğitim için ayrı dizinler içerir (train
) ve test (test
) aşamaları ve doğrulama için isteğe bağlı bir dizin (val
).
Bu dizinlerin her biri, veri kümesindeki her sınıf için bir alt dizin içermelidir. Alt dizinler, ilgili sınıfa göre adlandırılır ve o sınıfa ait tüm resimleri içerir. Her resim dosyasının benzersiz bir şekilde adlandırıldığından ve JPEG veya PNG gibi ortak bir biçimde saklandığından emin olun.
Klasö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 ve 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("yolo11n-cls.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="path/to/dataset", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo classify train data=path/to/data model=yolo11n-cls.pt epochs=100 imgsz=640
Desteklenen Veri Kümeleri
Ultralytics, otomatik indirme ile aşağıdaki veri kümelerini destekler:
- Caltech 101: Görüntü sınıflandırma görevleri için 101 nesne kategorisinin görüntülerini içeren bir veri kümesi.
- Caltech 256: 256 nesne kategorisi ve daha zorlu görüntüler içeren Caltech 101'in genişletilmiş bir sürümü.
- CIFAR-10: Her sınıfta 6.000 görüntü olmak üzere 10 sınıfta 60.000 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ü içeren CIFAR-10'un genişletilmiş bir sürümü.
- Fashion-MNIST: Görüntü sınıflandırma görevleri için 10 moda kategorisinin 70.000 gri tonlamalı görüntüsünden oluşan bir veri kümesi.
- ImageNet: 14 milyondan fazla görüntü ve 20.000 kategoriye sahip nesne tespiti ve görüntü sınıflandırması için büyük ölçekli bir veri kümesi.
- ImageNet-10: Daha hızlı deney ve test için 10 kategoriye sahip 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 ırkı 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ış rakamların 70.000 gri tonlamalı görüntüsünden oluşan bir veri kümesi.
- MNIST160: MNIST veri kümesindeki her MNIST kategorisinin ilk 8 görüntüsü. Veri kümesi toplam 160 görüntü içerir.
Kendi veri kümenizi ekleme
Kendi veri kümeniz varsa ve bunu Ultralytics YOLO ile sınıflandırma modellerini eğitmek için kullanmak istiyorsanız, "Veri Kümesi Yapısı" altında belirtilen formata uygun olduğundan emin olun ve ardından data
eğitim komut dosyanızı başlatırken veri kümesi dizinine argüman.
SSS
YOLO sınıflandırma görevleri için veri kümemi nasıl yapılandırırım?
Ultralytics YOLO sınıflandırma görevleri için veri kümenizi yapılandırmak üzere, belirli bir bölünmüş dizin biçimini izlemelisiniz. Veri kümenizi ayrı dizinler halinde düzenleyin: train
, test
, ve isteğe bağlı olarak val
. Bu dizilerin her biri, her sınıfın adını taşıyan ve içinde ilgili görüntüleri barındıran alt dizinler içermelidir. Bu, sorunsuz eğitim ve değerlendirme süreçlerini kolaylaştırır. Bir örnek için şunu göz önünde bulundurun: CIFAR-10 veri kümesi formatı:
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 edin.
Ultralytics YOLO tarafından görüntü sınıflandırması 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ırması için çeşitli veri kümelerinin otomatik olarak indirilmesini destekler. Bu veri kümeleri, YOLO ile kullanımı 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 setimi nasıl ekleyebilirim?
Ultralytics YOLO ile kendi veri kümenizi kullanmak için, sınıflandırma görevi için gereken belirtilen dizin biçimini izlediğinden emin olun ve ayrı train
, test
, ve isteğe bağlı olarak val
dizinler ve her sınıf için ilgili görüntüleri içeren alt dizinler. Veri kümeniz doğru şekilde yapılandırıldıktan sonra, data
eğitim komut dosyasını başlatırken veri kümenizin kök dizinine argüman. İşte Python'da bir örnek:
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-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ümenizi ekleme bölümünde bulunabilir.
Görüntü sınıflandırması için neden Ultralytics YOLO kullanmalıyım?
Ultralytics YOLO, aşağıdakiler dahil olmak üzere görüntü sınıflandırması için çeşitli avantajlar sunar:
- Önceden Eğitilmiş Modeller: Gibi önceden eğitilmiş modelleri yükleyin
yolo11n-cls.pt
eğitim sürecinizi hızlandırmak için. - Kullanım Kolaylığı: Eğitim ve değerlendirme için basit API ve CLI komutları.
- Yüksek Performans: Son teknoloji doğruluk ve hız, gerçek zamanlı uygulamalar için idealdir.
- Çoklu Veri Kümeleri 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'yu keşfedebilirsiniz.
Ultralytics YOLO kullanarak bir modeli nasıl eğitebilirim?
Ultralytics YOLO kullanarak bir modeli eğitmek hem Python hem de CLI'da kolayca yapılabilir. İşte bir örnek:
Örnek
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-cls.pt") # load a pretrained model
# Train the model
results = model.train(data="path/to/dataset", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo classify train data=path/to/data model=yolo11n-cls.pt epochs=100 imgsz=640
Bu örnekler, her iki yaklaşımı kullanarak bir YOLO modelini eğitme sürecinin basitliğini 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 edin.