İçeriğe geç

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 için, veri kümesi aşağıdaki belirli bir bölünmüş dizin yapısında düzenlenmelidir root Uygun eğitim, test ve isteğe bağlı doğrulama süreçlerini kolaylaştırmak için dizin. Bu yapı eğitim için ayrı dizinler içerir (train) ve test (test) aşamaları, 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ı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 ortak bir formatta saklandığından emin olun.

Klasör Yapısı Örneği

Örnek olarak CIFAR-10 veri setini ele alalım. Klasör yapısı aşağıdaki gibi olmalıdır:

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 öğrenebilmesini ve test ve doğrulama aşamalarında performansı doğru bir şekilde değerlendirebilmesini sağlar.

Kullanım

Örnek

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n-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 detect train data=path/to/data model=yolov8n-cls.pt epochs=100 imgsz=640

Desteklenen Veri Setleri

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: Caltech 101'in 256 nesne kategorisi ve daha zorlu görüntüler içeren genişletilmiş bir versiyonu.
  • CIFAR-10: Sınıf başına 6K görüntü olmak üzere 10 sınıfta 60K 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 versiyonu.
  • Moda-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: Nesne algılama ve görüntü sınıflandırma için 14 milyondan fazla görüntü ve 20.000 kategori içeren büyük ölçekli bir veri kümesi.
  • ImageNet-10: Daha hızlı deneme ve test için ImageNet'in 10 kategorili 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 daha küçük bir ImageNet 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ı rakamların 70.000 gri tonlamalı görüntüsünden oluşan bir veri kümesi.

Kendi veri setinizi ekleme

Kendi veri setiniz varsa ve bunu Ultralytics ile sınıflandırma modellerini eğitmek için kullanmak istiyorsanız, yukarıda "Veri seti formatı" altında belirtilen formata uygun olduğundan emin olun ve ardından data argümanını veri kümesi dizinine yönlendirir.

SSS

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

Veri setinizi Ultralytics YOLO sınıflandırma görevleri için yapılandırmak üzere belirli bir bölünmüş dizin biçimini izlemelisiniz. Veri setinizi aşağıdakiler için ayrı dizinler halinde düzenleyin train, testve isteğe bağlı olarak val. Bu dizinlerin her biri, her sınıfın adını taşıyan ve içinde ilgili görüntülerin bulunduğu 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ı ele alalım:

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ı adresini ziyaret edin.

Görüntü sınıflandırması için Ultralytics YOLO tarafından hangi veri kümeleri desteklenmektedir?

Ultralytics YOLO 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ımlarını kolaylaştıracak şekilde yapılandırılmıştır. Her bir veri setinin 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 ekleyebilirim?

Kendi veri setinizi Ultralytics YOLO ile kullanmak için, sınıflandırma görevi için gerekli olan belirtilen dizin biçimini izlediğinden emin olun ve ayrı train, testve isteğe bağlı olarak val dizinleri ve ilgili görüntüleri içeren her sınıf için alt dizinler. Veri kümeniz doğru şekilde yapılandırıldıktan sonra data argümanını eğitim betiğini başlatırken veri kümenizin kök dizinine yönlendirin. İşte Python adresinde bir örnek:

from ultralytics import YOLO

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

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

Kendi veri setinizi ekleme bölümünde daha fazla ayrıntı bulabilirsiniz.

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

Ultralytics YOLO görüntü sınıflandırması için aşağıdakiler de dahil olmak üzere çeşitli avantajlar sunar:

  • Önceden Eğitilmiş Modeller: Gibi önceden eğitilmiş modelleri yükleyin yolov8n-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: Gerçek zamanlı uygulamalar için ideal, son teknoloji ürünü doğruluk ve hız.
  • Çoklu Veri Setleri için Destek: 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.

Daha fazla bilgi ve gerçek dünya uygulamaları için şunları keşfedebilirsiniz Ultralytics YOLO.

Ultralytics YOLO kullanarak bir modeli nasıl eğitebilirim?

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

Örnek

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n-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 detect train data=path/to/data model=yolov8n-cls.pt 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ü ziyaret edin.



Oluşturma 2023-11-12, Güncelleme 2024-07-04
Yazarlar: glenn-jocher (7), stormsson (1), GreatV (1)

Yorumlar