Meet YOLO26: next-gen vision AI.

Link to this sectionNesne Algılama Veri Kümelerine Genel Bakış#

Güçlü ve doğru bir nesne algılama modeli eğitmek, kapsamlı bir veri kümesi gerektirir. Bu kılavuz, Ultralytics YOLO modeliyle uyumlu çeşitli veri kümesi formatlarını tanıtır ve bunların yapısı, kullanımı ve farklı formatlar arasında nasıl dönüştürülecekleri hakkında bilgiler sunar.

Link to this sectionDesteklenen Veri Kümesi Formatları#

Link to this sectionUltralytics YOLO formatı#

Ultralytics YOLO formatı, veri kümesi kök dizinini, eğitim/doğrulama/test görüntü dizinlerine veya görüntü yollarını içeren *.txt dosyalarına giden göreli yolları ve sınıf isimlerinden oluşan bir sözlüğü tanımlamanıza olanak tanıyan bir veri kümesi yapılandırma formatıdır. İşte bir örnek:

ultralytics/cfg/datasets/coco8.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# COCO8 dataset (first 8 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/detect/coco8/
# Example usage: yolo train data=coco8.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco8 ← downloads here (1 MB)

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: coco8 # dataset root dir
train: images/train # train images (relative to 'path') 4 images
val: images/val # val images (relative to 'path') 4 images
test: # test images (optional)

# Classes
names:
  0: person
  1: bicycle
  2: car
  3: motorcycle
  4: airplane
  5: bus
  6: train
  7: truck
  8: boat
  9: traffic light
  10: fire hydrant
  11: stop sign
  12: parking meter
  13: bench
  14: bird
  15: cat
  16: dog
  17: horse
  18: sheep
  19: cow
  20: elephant
  21: bear
  22: zebra
  23: giraffe
  24: backpack
  25: umbrella
  26: handbag
  27: tie
  28: suitcase
  29: frisbee
  30: skis
  31: snowboard
  32: sports ball
  33: kite
  34: baseball bat
  35: baseball glove
  36: skateboard
  37: surfboard
  38: tennis racket
  39: bottle
  40: wine glass
  41: cup
  42: fork
  43: knife
  44: spoon
  45: bowl
  46: banana
  47: apple
  48: sandwich
  49: orange
  50: broccoli
  51: carrot
  52: hot dog
  53: pizza
  54: donut
  55: cake
  56: chair
  57: couch
  58: potted plant
  59: bed
  60: dining table
  61: toilet
  62: tv
  63: laptop
  64: mouse
  65: remote
  66: keyboard
  67: cell phone
  68: microwave
  69: oven
  70: toaster
  71: sink
  72: refrigerator
  73: book
  74: clock
  75: vase
  76: scissors
  77: teddy bear
  78: hair drier
  79: toothbrush

# Download script/URL (optional)
download: https://github.com/ultralytics/assets/releases/download/v0.0.0/coco8.zip

Bu format için etiketler, her görüntü için bir *.txt dosyası olacak şekilde YOLO formatına dışa aktarılmalıdır. Bir görüntüde nesne yoksa, *.txt dosyasına gerek yoktur. *.txt dosyası, nesne başına bir satır olacak şekilde class x_center y_center width height formatında düzenlenmelidir. Kutu koordinatları normalize edilmiş xywh formatında (0'dan 1'e kadar) olmalıdır. Kutularınız piksel cinsindense, x_center ve width değerlerini görüntü genişliğine, y_center ve height değerlerini ise görüntü yüksekliğine bölmelisiniz. Sınıf numaraları sıfır tabanlı (0'dan başlayan) olmalıdır.

YOLO labeled image with bounding boxes on persons and tie

Yukarıdaki görüntüye karşılık gelen etiket dosyası 2 kişi (sınıf 0) ve bir kravat (sınıf 27) içerir:

YOLO format label file with normalized coordinates

Ultralytics YOLO formatını kullanırken, eğitim ve doğrulama görüntülerinizi ve etiketlerinizi aşağıdaki COCO8 veri kümesi örneğinde gösterildiği gibi düzenleyin.

YOLO dataset directory structure with train and val folders

Link to this sectionKullanım Örneği#

YOLO formatındaki veri kümelerini modelini eğitmek için şu şekilde kullanabilirsin:

Örnek
from ultralytics import YOLO

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

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

Link to this sectionUltralytics NDJSON formatı#

NDJSON (Newline Delimited JSON) formatı, Ultralytics YOLO modelleri için veri kümelerini tanımlamanın alternatif bir yolunu sunar. Bu format, veri kümesi meta verilerini ve açıklamalarını, her satırın ayrı bir JSON nesnesi içerdiği tek bir dosyada depolar.

Bir NDJSON veri kümesi dosyası şunları içerir:

  1. Veri kümesi kaydı (ilk satır): Görev türü, sınıf isimleri ve genel bilgiler dahil olmak üzere veri kümesi meta verilerini içerir
  2. Görüntü kayıtları (sonraki satırlar): Boyutlar, açıklamalar ve dosya yolları dahil olmak üzere bireysel görüntü verilerini içerir
NDJSON Örneği
{
    "type": "dataset",
    "task": "detect",
    "name": "Example",
    "description": "COCO NDJSON example dataset",
    "url": "https://app.ultralytics.com/user/datasets/example",
    "class_names": { "0": "person", "1": "bicycle", "2": "car" },
    "bytes": 426342,
    "version": 0,
    "created_at": "2024-01-01T00:00:00Z",
    "updated_at": "2025-01-01T00:00:00Z"
}

Link to this sectionKullanım Örneği#

YOLO26 ile bir NDJSON veri kümesi kullanmak için .ndjson dosyasına giden yolu belirtmen yeterli:

Örnek
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")

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

Link to this sectionNDJSON formatının avantajları#

  • Tek dosya: Tüm veri kümesi bilgileri tek bir dosyada bulunur
  • Akış: Büyük veri kümelerini her şeyi belleğe yüklemeden satır satır işleyebilir
  • Bulut entegrasyonu: Bulut tabanlı eğitim için uzak görüntü URL'lerini destekler
  • Genişletilebilir: Özel meta veri alanları eklemek kolaydır
  • Sürüm kontrolü: Tek dosya formatı git ve sürüm kontrol sistemleriyle uyumlu çalışır

Link to this sectionDesteklenen Veri Kümeleri#

İşte desteklenen veri kümelerinin listesi ve her biri için kısa bir açıklama:

  • African-wildlife: Bufalo, fil, gergedan ve zebralar dahil olmak üzere Afrika yaban hayatı görsellerini içeren bir veri kümesi.
  • Argoverse: Kentsel ortamlardan zengin açıklamalar içeren 3D takip ve hareket tahmini verileri barındıran bir veri kümesi.
  • Brain-tumor: Beyin tümörlerini tespit etmeye yönelik, tümör varlığı, konumu ve özellikleri hakkında ayrıntılar içeren MRI veya CT tarama görüntüleri içeren bir veri kümesi.
  • COCO: Common Objects in Context (COCO), 80 nesne kategorisine sahip büyük ölçekli bir nesne algılama, segmentasyon ve altyazı veri kümesidir.
  • COCO8: Hızlı testler için uygun, COCO train ve COCO val içinden ilk 4 görüntünün daha küçük bir alt kümesi.
  • COCO8-Grayscale: RGB'den gri tonlamaya dönüştürülerek oluşturulmuş, tek kanallı model değerlendirmesi için yararlı bir COCO8 gri tonlama sürümü.
  • COCO8-Multispectral: RGB dalga boylarının enterpolasyonu ile oluşturulmuş, spektral duyarlı model değerlendirmesi için yararlı, 10 kanallı bir COCO8 multispektral sürümü.
  • COCO12-Formats: Görüntü yükleme işlem hatlarını doğrulamak için desteklenen 12 görüntü formatını (AVIF, BMP, DNG, HEIC, JP2, JPEG, JPG, MPO, PNG, TIF, TIFF, WebP) kapsayan 12 görüntülük bir test veri kümesi.
  • COCO128: Testler için uygun, COCO train2017'deki ilk 128 görüntüden oluşan daha küçük bir alt küme.
  • Construction-PPE: Kask, yelek, eldiven, bot ve gözlük gibi etiketli güvenlik ekipmanlarına sahip şantiye çalışanlarını içeren; gerçek dünya uyumluluk izleme için no_helmet, no_goggle gibi eksik ekipman açıklamaları da barındıran bir veri kümesi.
  • Global Wheat 2020: Global Wheat Challenge 2020 için buğday başaklarının görüntülerini içeren bir veri kümesi.
  • HomeObjects-3K: Akıllı ev otomasyonu, robotik, artırılmış gerçeklik ve oda düzeni analizi uygulamaları için ideal olan; yataklar, sandalyeler, TV'ler ve daha fazlasını içeren ev eşyaları veri kümesi.
  • KITTI: Stereo, LiDAR ve GPS/IMU verileriyle gerçek dünya sürüş sahnelerini içeren; burada kentsel, kırsal ve otoyol ortamlarında araba, yaya ve bisikletli tanımlama gibi 2D nesne algılama görevleri için kullanılan bir veri kümesi.
  • LVIS: 1203 nesne kategorisine sahip büyük ölçekli bir nesne algılama, segmentasyon ve altyazı veri kümesi.
  • Medical-pills: İlaç kalite güvencesi, hap ayıklama ve mevzuata uygunluk gibi uygulamalar için etiketlenmiş tıbbi hap görüntülerini içeren bir veri kümesi.
  • Objects365: 365 nesne kategorisi ve 600 binden fazla etiketli görüntü içeren, yüksek kaliteli ve büyük ölçekli bir nesne algılama veri kümesi.
  • OpenImagesV7: Google tarafından hazırlanan, 1,7 milyon eğitim ve 42 bin doğrulama görüntüsü içeren kapsamlı bir veri kümesi.
  • Roboflow 100: Kapsamlı model değerlendirmesi için yedi görüntüleme alanına yayılmış 100 veri kümesi içeren çeşitli bir nesne algılama kriteri.
  • Signature: Belge doğrulama ve sahtecilik tespiti araştırmalarını destekleyen, imzalı çeşitli belge görüntülerini içeren bir veri kümesi.
  • SKU-110K: 11 binden fazla görüntü ve 1,7 milyon sınırlayıcı kutu ile perakende ortamlarında yoğun nesne algılama içeren bir veri kümesi.
  • TT100K: 100.000 sokak görünümü görüntüsü ve 30.000'den fazla etiketli trafik işareti ile güçlü algılama ve sınıflandırma için Tsinghua-Tencent 100K (TT100K) trafik işareti veri kümesini keşfet.
  • VisDrone: Drone ile çekilmiş görüntülerden 10 binden fazla görüntü ve video sekansı içeren, nesne algılama ve çoklu nesne takip verileri barındıran bir veri kümesi.
  • VOC: 20 nesne sınıfı ve 11 binden fazla görüntü ile nesne algılama ve segmentasyon için Pascal Visual Object Classes (VOC) veri kümesi.
  • xView: 60 nesne kategorisi ve 1 milyondan fazla etiketli nesne ile kuş bakışı görüntülerde nesne algılama için bir veri kümesi.

Link to this sectionKendi veri kümeni ekleme#

Kendi veri kümen varsa ve bunu Ultralytics YOLO formatıyla nesne algılama modelleri eğitmek için kullanmak istiyorsan, "Ultralytics YOLO formatı" bölümünde belirtilen formata uygun olduğundan emin ol. Açıklamalarını gerekli formata dönüştür ve YAML yapılandırma dosyasında yolları, sınıf sayısını ve sınıf isimlerini belirt.

Link to this sectionEtiket Formatlarını Bağlama veya Dönüştürme#

Link to this sectionCOCO Veri Kümesi Formatından YOLO Formatına#

Popüler COCO veri kümesi formatındaki etiketleri, aşağıdaki kod parçacığını kullanarak kolayca YOLO formatına dönüştürebilirsin:

Örnek
from ultralytics.data.converter import convert_coco

convert_coco(labels_dir="path/to/coco/annotations/")

Bu dönüştürme aracı, COCO veri kümesini veya COCO formatındaki herhangi bir veri kümesini Ultralytics YOLO formatına dönüştürmek için kullanılabilir. İşlem, JSON tabanlı COCO açıklamalarını daha basit metin tabanlı YOLO formatına dönüştürerek Ultralytics YOLO modelleri ile uyumlu hale getirir.

Kullanmak istediğin veri kümesinin modelinle uyumlu olduğundan ve gerekli format kurallarına uyduğundan emin ol. Doğru biçimlendirilmiş veri kümeleri, başarılı nesne algılama modelleri eğitmek için kritiktir.

Link to this sectionSSS#

Link to this sectionUltralytics YOLO veri kümesi formatı nedir ve nasıl yapılandırılır?#

Ultralytics YOLO formatı, eğitim projelerindeki veri kümelerini tanımlamak için kullanılan yapılandırılmış bir yapılandırmadır. Eğitim, doğrulama ve test görüntülerine ve karşılık gelen etiketlere yolların ayarlanmasını içerir. Örneğin:

# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# COCO8 dataset (first 8 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/detect/coco8/
# Example usage: yolo train data=coco8.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco8 ← downloads here (1 MB)

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: coco8 # dataset root dir
train: images/train # train images (relative to 'path') 4 images
val: images/val # val images (relative to 'path') 4 images
test: # test images (optional)

# Classes
names:
  0: person
  1: bicycle
  2: car
  3: motorcycle
  4: airplane
  5: bus
  6: train
  7: truck
  8: boat
  9: traffic light
  10: fire hydrant
  11: stop sign
  12: parking meter
  13: bench
  14: bird
  15: cat
  16: dog
  17: horse
  18: sheep
  19: cow
  20: elephant
  21: bear
  22: zebra
  23: giraffe
  24: backpack
  25: umbrella
  26: handbag
  27: tie
  28: suitcase
  29: frisbee
  30: skis
  31: snowboard
  32: sports ball
  33: kite
  34: baseball bat
  35: baseball glove
  36: skateboard
  37: surfboard
  38: tennis racket
  39: bottle
  40: wine glass
  41: cup
  42: fork
  43: knife
  44: spoon
  45: bowl
  46: banana
  47: apple
  48: sandwich
  49: orange
  50: broccoli
  51: carrot
  52: hot dog
  53: pizza
  54: donut
  55: cake
  56: chair
  57: couch
  58: potted plant
  59: bed
  60: dining table
  61: toilet
  62: tv
  63: laptop
  64: mouse
  65: remote
  66: keyboard
  67: cell phone
  68: microwave
  69: oven
  70: toaster
  71: sink
  72: refrigerator
  73: book
  74: clock
  75: vase
  76: scissors
  77: teddy bear
  78: hair drier
  79: toothbrush

# Download script/URL (optional)
download: https://github.com/ultralytics/assets/releases/download/v0.0.0/coco8.zip

Etiketler, her görüntü için bir dosya olacak şekilde *.txt dosyalarına kaydedilir ve normalize edilmiş koordinatlarla class x_center y_center width height şeklinde biçimlendirilir. Detaylı bir kılavuz için COCO8 veri kümesi örneğine bak.

Link to this sectionBir COCO veri kümesini nasıl YOLO formatına dönüştürebilirim?#

Bir COCO veri kümesini Ultralytics dönüştürme araçlarını kullanarak YOLO formatına dönüştürebilirsin. İşte hızlı bir yöntem:

from ultralytics.data.converter import convert_coco

convert_coco(labels_dir="path/to/coco/annotations/")

Bu kod, COCO açıklamalarını YOLO formatına dönüştürerek Ultralytics YOLO modelleri ile sorunsuz entegrasyon sağlar. Ek detaylar için Etiket Formatlarını Bağlama veya Dönüştürme bölümünü ziyaret et.

Link to this sectionUltralytics YOLO, nesne algılama için hangi veri kümelerini destekler?#

Ultralytics YOLO, aşağıdakiler dahil olmak üzere geniş bir veri kümesi yelpazesini destekler:

Her veri kümesi sayfası, verimli YOLO26 eğitimi için özelleştirilmiş yapı ve kullanım hakkında detaylı bilgi sağlar. Listenin tamamını Desteklenen Veri Kümeleri bölümünde keşfet.

Link to this sectionKendi veri kümemi kullanarak bir YOLO26 modelini eğitmeye nasıl başlarım?#

Bir YOLO26 modelini eğitmeye başlamak için veri kümenin doğru biçimlendirildiğinden ve yolların bir YAML dosyasında tanımlandığından emin ol. Eğitime başlamak için aşağıdaki betiği kullan:

Örnek
from ultralytics import YOLO

model = YOLO("yolo26n.pt")  # Load a pretrained model
results = model.train(data="path/to/your_dataset.yaml", epochs=100, imgsz=640)

CLI komutları dahil olmak üzere farklı modları kullanma hakkında daha fazla detay için Kullanım bölümüne başvur.

Link to this sectionUltralytics YOLO'yu nesne algılama için kullanmaya dair pratik örnekleri nerede bulabilirim?#

Ultralytics, YOLO26'yı çeşitli uygulamalarda kullanmak için çok sayıda örnek ve pratik kılavuz sağlar. Kapsamlı bir genel bakış için, örnek olay incelemelerini, ayrıntılı eğitimleri ve YOLO26 ile nesne algılama, segmentasyon ve daha fazlasını sergileyen topluluk hikayelerini bulabileceğin Ultralytics Blog sayfasını ziyaret et. Spesifik örnekler için belgelerdeki Kullanım bölümünü kontrol et.

Yorumlar